For these reasons a variety of modeling languages are available.
Among languages we can ?¬?nd big differences in how they see the software
system to be modeled. Do they see it, for example, as a concurrent one, distributed,
perhaps using asynchronous communication, having parallel characteristics, using
70 ARCHITECTURE OF DSM
bidirectional connections, or acting nondeterministicly? These kinds of characteristics
de?¬?ne the computational model used by the modeling language. Some of them
are speci?¬?ed in the abstract syntax (e.g., tree, directed graph, parallel ?¬‚ows), some
are also visualized in the concrete syntax (e.g., arrow heads on both ends of a line a
representing a bidirectional connection), and all in the semantics. Because of these
different ????¬‚avors??? there are various versions of modeling languages. For example,
there are different versions of state machines, several classes of Petri-net diagram,
and various kinds of data ?¬‚ow diagrams.
Modeling languages can be roughly divided into those modeling static structures
and those specifying dynamic behavior. In reality, the division is not so clear and we
have languages that specify both sides. For a more comprehensive review of different
models of computations used in modeling languages see Buede (1999).
Modeling Static Structures One class of modeling languages addresses solely,
or mostly, the static structures of an application.
Pages:
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154