Properties of model program composition that are discussed in Section 14.3 are
analyzed formally in Veanes et al. (2007a), where composition, as treated in this
book, is called parallel composition. The composition of model programs is effectively
a program transformation that is most interesting when it is formally grounded
in an existing semantics and has useful algebraic properties. The semantics of executing
an action in a state with a rich background is founded on abstract state
machines or ASMs (Gurevich, 1995; Blass and Gurevich, 2000). Determining the
action traces that are produced and the properties of traces that are preserved when
model programs are composed is founded on the view of model programs as labeled
transition systems or LTSs (Keller, 1976; Lynch and Tuttle, 1987). The composition
of model programs is also related to product of classical automata (Hopcroft
and Ullman, 1979). When considering interaction of model programs that require
synchronization or communication on elements other than actions, composition of
model programs may be too limited. A more general notion of composition can be
based on the theory interactive ASMs (Blass and Gurevich, 2006).
The topic of Section 14.3.2 is related to the notion of cross-cutting of concerns
in aspect-oriented programming (Elrad et al., 2001; Douence et al., 2004).
275
276 Further Reading
An approach of using scenario style modeling with model programs written in
AsmL (see, e.
Pages:
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364