1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2
<!--Converted with LaTeX2HTML 98.1p1 release (March 2nd, 1998)
3
originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds
4
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
5
* with significant contributions from:
6
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
9
<TITLE>2. System Architecture</TITLE>
10
<META NAME="description" CONTENT="2. System Architecture">
11
<META NAME="keywords" CONTENT="TechDoc">
12
<META NAME="resource-type" CONTENT="document">
13
<META NAME="distribution" CONTENT="global">
14
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
15
<LINK REL="STYLESHEET" HREF="TechDoc.css">
16
<LINK REL="next" HREF="developersguidenode4.html">
17
<LINK REL="previous" HREF="developersguidenode2.html">
18
<LINK REL="up" HREF="TechDoc.html">
19
<LINK REL="next" HREF="developersguidenode4.html">
22
<!--Navigation Panel-->
24
HREF="developersguidenode4.html">
25
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
28
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
30
HREF="developersguidenode2.html">
31
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
33
HREF="developersguidenode1.html">
34
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
36
<B> Next:</B> <A NAME="tex2html290"
37
HREF="developersguidenode4.html">3. Source Code Organization</A>
38
<B> Up:</B> <A NAME="tex2html287"
39
HREF="TechDoc.html">Toolkit for Conceptual Modeling</A>
40
<B> Previous:</B> <A NAME="tex2html281"
41
HREF="developersguidenode2.html">1. Introduction</A>
44
<!--End of Navigation Panel-->
46
<H1><A NAME="SECTION00300000000000000000">
47
2. System Architecture</A>
51
In this chapter a high level overview of the TCM software system is presented.
52
In figure <A HREF="developersguidenode3.html#fig:subsystems">2.1</A> TCM is logically decomposed into a number of
53
subsystems. Each subsystem is then worked out further as an UML static
54
structure diagram (SSD) in subsequent figures.
55
All classes in these SSDs also exist in the source code, but not every
56
source code class is mentioned in these SSDs. The classes that are not
57
mentioned are either implementation classes (data structures, user
58
interface widgets etc.)
59
or they are specializations of the classes that are mentioned for specific editors.
60
The same applies to the relationships between the classes. Note also that we do not
61
show the attributes and operations of the classes because that would clutter up the
62
diagrams too much. But a complete and accurate
63
overview of all classes of the source code and their attributes, operations
64
and specialization relationships has been
65
generated automatically and is described in chapter <A HREF="developersguidenode6.html#chap:class_hierarchy">5</A>.
68
This system architecture is rather conceptual, it does not say exactly how
69
the source code is organized physically. In chapter <A HREF="developersguidenode4.html#chap:src_organization">3</A>
70
the physical source code structure is presented.
74
<DIV ALIGN="CENTER"><A NAME="fig:subsystems"> </A><A NAME="53"> </A>
76
<CAPTION><STRONG>Figure 2.1:</STRONG>
81
<!-- MATH: $\includegraphics[angle=90,height=6in]{p/FSubsystems.eps}$ -->
83
WIDTH="369" HEIGHT="679" ALIGN="BOTTOM" BORDER="0"
84
SRC="developersguideimg3.gif"
85
ALT="\includegraphics[angle=90,height=6in]{p/FSubsystems.eps}"></DIV></TD></TR>
91
<DIV ALIGN="CENTER"><A NAME="fig:editors"> </A><A NAME="60"> </A>
93
<CAPTION><STRONG>Figure 2.2:</STRONG>
94
Editor subject areas.</CAPTION>
98
<!-- MATH: $\includegraphics[angle=90,height=7.5in]{p/FEditorsSA.eps}$ -->
100
WIDTH="582" HEIGHT="858" ALIGN="BOTTOM" BORDER="0"
101
SRC="developersguideimg4.gif"
102
ALT="\includegraphics[angle=90,height=7.5in]{p/FEditorsSA.eps}"></DIV></TD></TR>
108
<DIV ALIGN="CENTER"><A NAME="fig:shapes"> </A><A NAME="67"> </A>
110
<CAPTION><STRONG>Figure 2.3:</STRONG>
111
Shapes and Graph subject areas.</CAPTION>
115
<!-- MATH: $\includegraphics[angle=90,height=7.5in]{p/FShapeSA.eps}$ -->
117
WIDTH="640" HEIGHT="857" ALIGN="BOTTOM" BORDER="0"
118
SRC="developersguideimg5.gif"
119
ALT="\includegraphics[angle=90,height=7.5in]{p/FShapeSA.eps}"></DIV></TD></TR>
125
<DIV ALIGN="CENTER"><A NAME="fig:table"> </A><A NAME="74"> </A>
127
<CAPTION><STRONG>Figure 2.4:</STRONG>
128
Table subject area.</CAPTION>
132
<!-- MATH: $\includegraphics[angle=90,width=\textwidth]{p/FTableSA.eps}$ -->
134
WIDTH="551" HEIGHT="589" ALIGN="BOTTOM" BORDER="0"
135
SRC="developersguideimg6.gif"
136
ALT="\includegraphics[angle=90,width=\textwidth]{p/FTableSA.eps}"></DIV></TD></TR>
142
<DIV ALIGN="CENTER"><A NAME="fig:viewer"> </A><A NAME="81"> </A>
144
<CAPTION><STRONG>Figure 2.5:</STRONG>
145
Viewer subject area.</CAPTION>
149
<!-- MATH: $\includegraphics[angle=90,height=7.5in]{p/FViewerSA.eps}$ -->
151
WIDTH="585" HEIGHT="858" ALIGN="BOTTOM" BORDER="0"
152
SRC="developersguideimg7.gif"
153
ALT="\includegraphics[angle=90,height=7.5in]{p/FViewerSA.eps}"></DIV></TD></TR>
159
<DIV ALIGN="CENTER"><A NAME="fig:printer"> </A><A NAME="88"> </A>
161
<CAPTION><STRONG>Figure 2.6:</STRONG>
162
Printer subject area.</CAPTION>
166
<!-- MATH: $\includegraphics[angle=90,height=4in]{p/FPrinterSA.eps}$ -->
168
WIDTH="259" HEIGHT="456" ALIGN="BOTTOM" BORDER="0"
169
SRC="developersguideimg8.gif"
170
ALT="\includegraphics[angle=90,height=4in]{p/FPrinterSA.eps}"></DIV></TD></TR>
176
<DIV ALIGN="CENTER"><A NAME="fig:windows"> </A><A NAME="95"> </A>
178
<CAPTION><STRONG>Figure 2.7:</STRONG>
179
Window subject area.</CAPTION>
183
<!-- MATH: $\includegraphics[angle=90,height=7.5in]{p/FWindowSA.eps}$ -->
185
WIDTH="654" HEIGHT="857" ALIGN="BOTTOM" BORDER="0"
186
SRC="developersguideimg9.gif"
187
ALT="\includegraphics[angle=90,height=7.5in]{p/FWindowSA.eps}"></DIV></TD></TR>
193
<!--Navigation Panel-->
194
<A NAME="tex2html289"
195
HREF="developersguidenode4.html">
196
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
197
<A NAME="tex2html286"
199
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
200
<A NAME="tex2html280"
201
HREF="developersguidenode2.html">
202
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
203
<A NAME="tex2html288"
204
HREF="developersguidenode1.html">
205
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
207
<B> Next:</B> <A NAME="tex2html290"
208
HREF="developersguidenode4.html">3. Source Code Organization</A>
209
<B> Up:</B> <A NAME="tex2html287"
210
HREF="TechDoc.html">Toolkit for Conceptual Modeling</A>
211
<B> Previous:</B> <A NAME="tex2html281"
212
HREF="developersguidenode2.html">1. Introduction</A>
213
<!--End of Navigation Panel-->
215
<I>Henk van de Zandschulp</I>
216
<BR><I>2003-01-07</I>