****************************************************************************
 
Copyright (C) 1998-2001 Henk van de Zandschulp, University of Twente, 
			the Netherlands and
Copyright (C) 1995-2000 Frank Dehne, Vrije Universiteit Amsterdam, the
			Netherlands. All Rights Reserved.
 
TCM Version     : 2.01
Last updated    : Februari 12, 2001.

****************************************************************************

****************************************************************************
* What is TCM?
****************************************************************************

The Toolkit for Conceptual Modeling is a collection of software tools to 
present conceptual models of software systems in the form of diagrams, 
tables, trees, and the like. A conceptual model of a system is a structure 
used to represent the requirements or architecture of the system. TCM is 
meant to be used for specifying and maintaining requirements for desired 
systems, in which a number of techniques and heuristics for problem 
analysis, function refinement, behavior specification, and architecture 
specification are used.  TCM takes the form of a suite of graphical editors 
that can be used in these design tasks. These editors can be categorized 
into: 

* Generic editors for generic diagrams, generic tables and generic trees. 
* Structured Analysis (SA) editors for entity-relationship diagrams, data 
  and event flow diagrams, state transition diagrams, function refinement 
  trees, transaction-use tables and function-entity type tables. 
* Unified Modeling Language (UML) editors for static structure diagrams,
  use-case diagrams, activity diagrams, state charts, message sequence 
  diagrams, collaboration diagrams, component diagrams and deployment 
  diagrams (only the first three UML and last two editors are functional 
  at this moment). 
* Miscellaneous editors such as for JSD (process structure and network 
  diagrams), recursive process graphs and transaction decomposition tables. 

TCM supports constraint checking for single documents (e.g. name duplication 
and cycles in is-a relationships). TCM distinguishes built-in constraints 
(of which a violation cannot even be attempted) from immediate constraints 
(of which an attempted violation is immediately prevented) and soft 
constraints (against which the editor provides a warning when it checks 
the drawing).   TCM is planned to support hierarchic graphs, so that it can 
handle for example hierarchic statecharts. Features to be added later 
include constraint checking across documents and executable models. 

****************************************************************************
* Features of this software
****************************************************************************

TCM is available as source code or as binaries for various Unix platforms. 
There exist binaries for Solaris sparc, Linux i386, HP-UX, SGI IRIX, 
IBM AIX and OSF/1. Solaris and Linux are the platforms on which we develop 
and for which the most recent binaries are available. 

All editors share a common Motif user interface. Instead of Motif you can 
use the GPL Motif-clone Lesstif. 

The TCM editors output the TCM file format, PostScript, Encapsulated 
PostScript, PNG and the Fig format (with either LaTeX- or PostScript fonts). 
The Fig format can be further processed by XFIG. 

Although TCM is initially developed as software specification tool, it is 
also widely used for drawing arbitrary graph-like diagrams or tables. 

****************************************************************************
* About the TCM project.
****************************************************************************

TCM is jointly built at the Faculty of Computer Science of the University 
of Twente and the Division of Mathematics and Computer Science of the Vrije 
Universiteit Amsterdam. Currently the following persons are actively 
involved in this project:

	* Frank Dehne (distribution management and programming), 
	 (http://www.cs.vu.nl/fb/generated/personal/Dehne.html)
	* Henk van de Zandschulp (programming and user support),
	 (http://wwwis.cs.utwente.nl:8080/personnel/newsigs/sighenkz.html)
	* Roel Wieringa (project supervisor),
	 (http://www.cs.utwente.nl/~roelw)

Some of the requirements engineering and software specification methods 
supported by TCM are discussed in: 

      R.J. Wieringa,
      Requirements Engineering: Frameworks for Understanding 
      Wiley 1996, ISBN 0 471 95884 0. 

The UML diagram techniques are discussed in: 

      R.J. Wieringa, 
      Design Methods for Reactive Systems: Yourdon, Statemate and the UML 
      Course notes, 
      Department of Computer Science, University of Twente, 2000. 


****************************************************************************
* How to obtain the latest version of TCM.
****************************************************************************

The source code of TCM is now publically available, under the GNU 
public license. See the file COPYING in the TCM ftp distribution directory.
 
TCM runs on Unix systems with X Windows. The TCM ftp site is
ftp://ftp.cs.utwente.nl/pub/tcm and it's mirrored to 
ftp://ftp.cs.vu.nl/pub/tcm. The TCM home page is 
http://www.cs.utwente.nl/~tcm. The TCM distributions are downloadable via 
the web page http://www.cs.utwente.nl/~tcm/software.html.

 
****************************************************************************
* Downloading TCM.
****************************************************************************

The TCM software consists of a collection of graphical editors, running on 
Unix systems with X Windows. See the CHANGELOG for the differences with 
prior versions. 

The most recent TCM distributions can always be found via this web page. 
The primary FTP site for TCM distributions is ftp.cs.utwente.nl:/pub/tcm. 
This site has a mirror at ftp.cs.vu.nl:/pub/tcm. 

TCM is distributed under the GNU Public License. For the exact copyright 
text of TCM see the file COPYING.

Distributions with the source code, with Solaris binaries and Linux
binaries are available from the TCM ftp site. Alternatively, check
out http://www.cs.utwente.nl/~tcm/software.html for what other 
distributions currently exist.

For Linux both normal tar.gz distributions are made as well as RPM
packages. Note that the Linux binary distributions need glibc 2.1 (glibc 
2.0 or libc5 do not work). The Linux distribution with 'statmotif' in its 
name has the Motif library statically linked with the executables. The 
distributions with 'dynmotif' need a Motif library on your system with 
the version number mentioned after 'dynmotif'. If you have no Motif you 
can also use Lesstif (www.lesstif.org).

To download a distribution, put your FTP session into binary mode (type 
'binary', without the quotes), get a distribution file and quit the FTP 
session.


****************************************************************************
* Installation of TCM.
****************************************************************************

To install a binary distribution (a tar.gz file) unzip and untar the TCM 
distribution by: 

tar xzvfp 'distribution'.tar.gz                         or 
gunzip -c 'distribution'.tar.gz | tar xvfp -            or
zcat 'distribution'.tar.gz | tar xvfp -            

This creates a new directory named tcm-'version'/ in the current directory
with the TCM binaries and documentation. 

For the remainder of the installation process see the file INSTALL that
is included in the distribution.


****************************************************************************
* Contact Information
****************************************************************************

You can request to subscribe to the TCM mailing-list 
tcm-users@cs.utwente.nl by sending an empty message to 
tcm-users-request@cs.utwente.nl.

Alternatively, messages that are not intended for the 'entire TCM 
community' can be sent to tcm@cs.utwente.nl.

Letters and other physical objects can be sent to:

   Roel Wieringa 
   University of Twente
   Department of Computer Science
   Subdepartment Information Systems
   P.O. Box 217
   7500 AE Enschede
   The Netherlands 
