next up previous contents index
Next: 2. Document Editing Up: Toolkit for Conceptual Modeling Previous: List of Figures


1. Introduction

1.1 An Overview of TCM

1.1.1 The Purpose of TCM

    The Toolkit for Conceptual Modeling (TCM) is a collection of software tools to represent conceptual models of software systems in the form of diagrams, tables, trees, etc. 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.

During software development, a number of stakeholders must reach a common understanding of the behavior and structure of the software. These are for example users and sponsors (or their representatives), analysts, designers and programmers. An important function of conceptual models is to facilitate this understanding.

The notations for software specifications that are supported by TCM are explained in appendix A. A more detailed analysis of the nature and use of some of these techniques and heuristics in various existing methods for software specification is presented in the book [22]. The UML diagram techniques are discussed in [23]. Bibliographic references can be found on page [*].

1.1.2 What is Included in TCM

This manual is the successor of [5] and [7]. This version of the TCM software (henceforth called ``TCM'') is a collection of document editors, i.e. diagram, table and tree editors, each for a different graphical notation system. Currently, TCM has the following editors:

All editors look very similar and have many operations in common. All diagram editors have almost the same set of edit commands and all table editors have almost the same set of edit commands. TCM supports constraint checking for single documents (e.g. name duplication, 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). As of version 2.10 TCM 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.

1.1.3 Using TCM in Software Specification

Figure 1.1 gives an overview of how the different document editors in TCM can be used in various methods for software specification. Each of these methods uses a subset of the notations available in TCM and defines a number of consistency rules  across notations. Thus, each method allows the specification of a model of the required software product and uses different notations to specify different views upon this model. The consistency rules guarantee that there is a model that is being specified. Views that are inconsistent according to these rules, do not represent a model. The consistency rules of ER, DF and JSD are defined in [22] and the consistency rules of YSM are defined in [31]. The current TCM version does not yet implement all the consistency rules of these methods. The implementation of consistency rules of these methods is planned for TCM version 3.0 as is described in [6].

The same applies to object oriented (OO) methods, in particular those using UML. TCM currently contains a number of tools for drawing diagrams for OO models, albeit sometimes incomplete or in a bit different notation than the standard. However, in the future we want to build support for integrated OO modeling with UML into TCM as well.

In TCM there is and will be no consistency checking for other methods such as the ISAC [12] and Information Engineering [13] methods. But tools for TCM can be used to draw the diagrams.

Figure 1.1: Using TCM in several software specification methods.

1.2 How to Read this Manual

If you want to try TCM for the very first time, you first have the read section 1.4 to get started. You probably do not have to read much more of this manual for carrying on. The user interface is designed to be as intuitive as possible and to be proof against users who are trying things at random. The most important commands that you need are explained in the on-line help windows.

This manual is intended to be a reference manual for the user in the first place, hence the amount of details. You certainly need not read it all to be able to use TCM. Chapter 2 describes the common features between all TCM editors, such as saving documents, loading documents, printing documents etc. Chapter 3 describes how you edit a diagram abstracting from a particular diagram editor. In chapters 45 and 6 you find all the material specific to the different diagram editors, grouped by data view editors, behavior view editors and function view editors, respectively. These chapters are organized in the same order as the list of diagram editors in section 1.1.2. Chapter 7 describes how you can edit tables in general and it explains the (small) differences between the four table editors. Chapter 8 describes how to edit a tree document in general and it explains the differences between the two tree editors. In appendix A a mini tutorial is given to the notations and methods supported by the TCM tools. In appendix B, there is a list of frequently asked questions (FAQ). In appendix C there is a specification and explanation of the TCM file format.

You can search for information in this manual either top down, via the table of contents, or bottom up, via the index pages at the end.

1.3 How to Obtain the Latest Version of TCM

There is a ftp site from which you can download distributions with binaries for different Unix platforms. A mirror of the TCM ftp site can be found at See the file README on the ftp site for more details.

Currently, TCM runs on Solaris 2.x (Sparc and x86), SunOS 4.x (Sparc), Linux (x86), OSF/1 (Digital Unix on DEC Alpha), IRIX 6.x (SGI), AIX 4.x (RS6000), HP-UX 10.x and even on Windows, running the CYGWIN/XFree86 environment. Also TCM has been reported to run under FreeBSD and Darwin (Mac OS X). There is also a distribution with the source code. Each distribution contains binaries of the TCM software and recent user documentation. The source code distribution contains no binaries but the source code, the user manual and technical documentation (developer's guide, source code documentation, specifications etc.). Solaris Sparc and Linux x.86 are the platforms on which we develop and for which the most recent binaries are available. The source code of TCM is publically available, under the GNU public license. See the file COPYING in the TCM ftp distribution directory.

TCM has as home page This page contains supplementary information about TCM. It is possible to download the TCM software via the page You can find a HTML version of the recent version of the user manual in The user manual is also contained as PostScript and PDF file in the doc subdirectory of each software distribution. There you can also find the manual as a set of HTML files. If you plan to upgrade TCM, see the file CHANGELOG on the ftp site for the most important changes between the consecutive versions.

1.4 Installation and Getting Started

TCM runs on Unix systems with X Windows version 11 release 5 or higher and uses the Motif library release 1.2 or higher for the graphical user interface. Instead of the official Motif it is also possible to use the free Motif-clone Lesstif or Open Motif. We had some problems running TCM under Lesstif in the past; please try to use Open Motif if at all possible.

For Linux we have made some distributions in which the Motif library is already linked with the TCM executables. These statically linked distributions carry the name statmotif as part of their name. For using these distributions you don't need Motif, Open Motif or Lesstif at all.

For up-to-date system specific information see and read also the file INSTALL in one of the software distributions before you install and use TCM.

1.4.1 Unix tar-files with binaries

Most TCM distributions are in the form of a Unix tar file compressed with the gzip program 1.1. To install a binary distribution (a tar.gz file) unzip and untar the TCM distribution by for instance: tar xzvfp 'distribution'.tar.gz. If your tar-program does not know the z(unzip) option then unzip the file explicitly by e.g. gunzip. A new directory named tcm-'version'/ will be created in the current directory containing the TCM binaries and documentation in subdirectories.

For an explanation of the TCM (environment) variables mentioned below see section 1.4.5. Every user of TCM should set the TCM_HOME environment variable to the directory where TCM is installed. It is recommended that they add TCM_BIN to their PATH and add TCM_MAN to their MANPATH environment variable. TCM will not work when TCM_HOME is not set. Do not forget to export these variables. It is a good idea to set the variables in your .profile or .login startup script of your Unix shell.

The distributions for Solaris contain shared object libraries. If you have one of these distributions and you have TCM installed in a directory other than /opt/tcm, each user should include this directory in the LD_LIBRARY_PATH variable by for instance: LD_LIBRARY_PATH=TCM_LIB:$LD_LIBRARY_PATH. Users of Linux do not need to set LD_LIBRARY_PATH. To configure amongst others the path names of some external Unix programs that are used by TCM you can modify the TCM_CONFIG/tcm.conf file.

1.4.2 RPM distributions with binaries

For Linux we have also provided the software in the form of RPM packages. These distributions work with Redhat 6 and 7 and almost certainly with any other Linux system that has support for RPM. Install the distribution by:

rpm --install tcm-<version>.i386.rpm
Or upgrade an existing distribution by:
rpm --upgrade tcm-<version>.i386.rpm
By default TCM is installed in /opt/tcm. With the rpm option -prefix <dir> you can install it in a different directory. Some of the documentation will be installed by default in
/usr/doc/tcm-<version>. There are two sorts of binary RPMs. One contains the name statmotif and the other dynmotif. The `statmotif' RPMs have Motif statically linked into the executables. The `dynmotif' RPMs are dynamically linked against Motif 1.2. It uses the (version 1.2) of Motif, Open Motif or Lesstif on your system. The RPM installation creates some initialization scripts for TCM in /etc/profile.d. It is therefore not necessary to set yourself environment variables like for the tar.gz distribution. You only have to login again before you start using TCM.

1.4.3 Source code distributions

This is not treated in this document. See the INSTALL file contained in the source distribution for how you can compile TCM quick and easy. The source code also contains an extensive developer's guide that explains all ins and outs of compiling and porting TCM on your system.

1.4.4 Starting up

You can start a particular tool in two ways:

Figure 1.2: The TCM startup window.


Call it from the program tcm. tcm displays a window containing a push button for each available editor (see figure 1.2). To start an editor, click the corresponding button. The diagram and tree editors are started up immediately. When a table editor is chosen, first a dialog is displayed in which you can change some options. Be careful, because each time you click a button a new editor is started.

To kill the tcm startup program issue Quit from the File menu. The processes of the running editors are independent from the running startup program, so when you quit a startup program, all other programs continue to run.

Call the editor directly from the shell, e.g. tesd, tefd, tssd. Perhaps you want to end the command with an ampersand (like terd&) to run it in the background. You can supply a single document name as command line argument. If this argument is the name of an existing file then the editor tries to load a document from it. If the document does not exist, a new document is created in the editor having the argument as document name. In section 1.4.5 we give an overview of the flags that can be given in the command line and the Unix environment variables that are used by TCM.

1.4.5 Unix options, files and variables

The Unix manual pages in the TCM distribution give an up-to-date overview of all arguments, environment variables and files that are used by TCM. Here we will give some explanation of the most important ones. TCM has the following command line arguments:

All editors additionally have some optional command line arguments to generate printable output directly from an existing document file. When these options are given, no windows are created, but the X display is used however, so you should run X Windows with an opened display. These options are:

Table editors additionally have the following optional command line arguments:

Depending on whether you find TCM precompiled into your (Linux) distribution (e.g. Debian and SuSE Linux) or whether you have to install it yourself TCM may use the environment variables listed below.

If no TCM specific environment variables have been set at all the values as found in the precompiled TCM distribution will be used.

The TCM tools depend on the following files and programs:

The TCM editors depend on the following Unix environment variables.  

As of version 2.20 TCM also runs on Windows systems under the CYGWIN/XFree86 environment. See the README.cygwin and the INSTALL.cygwin file in the software distribution before you install and use TCM under CYGWIN.     In order to run TCM under CYGWIN all executables in the CYGWIN distribution will have the .exe extension. Also some scripts in TCM_BIN are added or adapted.

1.4.6 Graphical User Interface

The user interface of TCM complies for a large part with the OSF/Motif Style Guide [15]. The user interface is built from the OSF/Motif widget set [14]. The result is that user interaction through menus, dialogs, buttons, scroll bars and text areas work in the same way as other Motif applications and environments such as for instance Netscape for X Windows and CDE (common desktop environment). Only the drawing of diagrams and tables itself is quite different and this part does not make use of Motif. In any case, the TCM editors should be well-behaved under all popular X Window managers, e.g. kde, gnome, fvwm, mwm, etc. In [16] you find the specification of the user interaction with Motif applications in general, so it is not necessary to repeat that in this manual. TCM looks optimal on a full color display and a resolution of at least an XVGA screen (1024x756). It should still be usable though on a black and white display and/or an SVGA screen (800x600). For more detailed information about the other system requirements of TCM regarding Motif, X Windows and Unix see appendix B.

1.5 Questions and Comments

Questions and comments about the TCM software and about this manual are welcome and can be sent by e-mail to the TCM mailing list You can subscribe by sending an empty message to: Mail that is only intended for us (the authors) can be sent to

Before you ask questions that were already asked and answered before: Appendix B contains a collection of frequently asked questions (FAQ).


... program 1.1
gzip (GNU zip) is a compression utility designed to be a replacement for ``compress''. It can be downloaded from or from one of the many mirror sites that are mentioned in
... pixels 1.2
one pixel is 1/83 inch, which is about 0.306 millimeter.
... interpreter 1.3
When your system does not have Perl at all, this is not an major problem. Only the Print duplex and tumbled page options do not work.
... libraries 1.4
This is the case when the directory TCM_LIB contains files ending on .so.

next up previous contents index
Next: 2. Document Editing Up: Toolkit for Conceptual Modeling Previous: List of Figures
Henk van de Zandschulp