		    occam Design Tool (ODT) 1.02
		    ============================

1. Introduction
---------------

The occam Design Tool (ODT) provides an interactive graphical
environment for the specification and partial implementation of
concurrent systems and enables structured design of parallel
systems through hierarchies of communicating process networks.

ODT has knowledge of various paradigms for process synchronisation --
whose correct application secures guarantees of freedom from
deadlock, livelock and starvation -- and enforces that correct
application by the designer.

The tool also generates program skeletons that handle the parallel
and communication aspects of the system implementation.  The target
programming language has to be one whose formal semantics respect the
mathematical model (CSP) under which the design rules were able to be
proven -- currently, this is occam.  By targeting occam, we derive
the further benefit of eliminating unguarded race hazards.

LICENSE:
  * ODT can be used freely by non-profit making institutions such as
    Universities.

  * For-profit organisations can evaluate the tool but must contact
    UKC to discuss any other uses.

  * ODT (or any part of it) cannot be re-distributed to third parties
    without the permission of UKC.

  * All other rights are reserved by UKC.

  * This is a prototype research tool so no guarantees of support or
    fitness-for-purpose are given.


ODT is written in an interpreted language, Tcl (Tool Command
Language) with its associated graphics library Tk (Tool Kit).  ODT
1.02 requires Tcl 7.5 (or later) and Tk 4.1 (or later) which are
combined into a single interpreter called 'wish4.1'.  If wish4.1 is
already installed on your system, please skip to Section 4. Running
ODT

Tcl and Tk are freely available (without payment or restriction on
use) from Sun Microsystems Inc. and are supported by them.  If you
want to get Tcl/Tk from Sun direct, see Section 2.  Alternatively,
you can use the cut-down wish4.1 that comes with this distribution
and has enough files to just run ODT and this is described in Section
3.



2. Obtaining Tcl/Tk
-------------------

The sources of the programs can be obtained from:
  <URL:http://www.sunlabs.com/tcl/>   or
  <URL:ftp://ftp.sunlabs.com/pub/tcl/>
which work on Windows 3.1, Windows 95, Windows NT, Macintosh and
UNIX.  There are binary pre-compiled releases for most of the above
in the same area.  The WWW pages go into lots more detail.

An unsupported version of Tcl/TK is available for VMS from
  <URL:http://www.rsmas.miami.edu/vms-tcl.html> and 
  <URL:ftp://mango.rsmas.miami.edu/pub/VMS-tcl/>

ODT has only been tested on the UNIX versions of Tcl/Tk listed below
and we give no guarantee that ODT will work with other version.



3. Installing the cut-down wish4.1 for UNIX
-------------------------------------------

In this distribution there may be one pre-compiled versions of
wish4.1 with the associated libraries that are enough for it to run
ODT.

These version are for:
  Operating System   Cut-down wish4.1 directory
  ----------------   --------------------------
  SunOS 4.1.3        wish-sunos
  DEC OSF/1.0 V3.0   wish-osf

Please make sure that you pick the correct version and then type the
following lines, replacing <directory> with the appropriate directory
in the table above.

set wish=`pwd`/<directory>
set path=($wish $path)
setenv TCL_LIBRARY $wish/lib/tcl7.5
setenv TK_LIBRARY $wish/lib/tk4.1

The above 4 lines can be added to the end of your ~/.cshrc or
~/.login file to make them permanent when you next log in.

[The 4 steps are, in detail: 
0. Initialise $wish to the cut-down wish4.1 directory
1. Add $wish to your search path so UNIX can find the wish4.1 program
2. Set environment variable TCL_LIBRARY to directory $wish/lib/tcl7.5
   so that Tcl can find its libraries
3. Set environment variable TK_LIBRARY to directory $wish/lib/tk4.1
   so that Tk can find its libraries
]




4. Running ODT
--------------

ODT in this distribution is provided in two source forms - 'odt' and
'dodt'.  The former is the usual one to use, the latter is a
debugging version which should only be used under instruction from
UKC.

Assuming wish4.1 has been installed or the cut-down version is
available, odt can now be invoked:

	unix% odt

or with one of the example program, e.g. lego.odt

	unix% odt lego.odt

See the user manual for full instructions


5. Other files
--------------

The Manifest file gives a summary of the rest of the contents of this
distribution but two useful files to check are the list of current
bugs (BUGS) and the changes between releases (CHANGES).  We would
appreciate getting feedback on the tool and would like you to use the
response form (FORM) to do so.


6. Further Information
----------------------

The ODT paper gives more information on how the tool works and its
design methodology:

	D.J. Beckett and P.H. Welch.
	A Strict occam Design Tool.
	In C.R. Jesshope and A. Shafarenko, editors, "Proceedings
	of UK Parallel '96", pages 53--69, London, July 1996. BCS
	PPSIG, Springer-Verlag. ISBN 3-540-76068-7.


Contact author (email preferred):

Mr D. J. Beckett
Computing Laboratory
University of Kent at Canterbury
Canterbury
Kent
England
CT2 7NF

Tel: 01227 827684
Fax: 01227 762811
Email: D.J.Beckett@ukc.ac.uk
