We define a compositional operational semantics for state machines and their composition in UML. Each state machine describes the behavior of an object of a class. If a class of a newly generated object is active, a new activity group, which is a singly-threaded collection of objects, is generated. Communication of state machines between activity groups differs from the one inside an activity group. We introduce (i) two parallel combinators reflecting this difference, which return a SOS given that their arguments are SOS, (ii) an SOS for each state machine regarded in isolation. Key words: structured operational semantics, UML, activity groups, compositionality, state machines, run-to-completion steps, deterministic passing of control
Harald Fecher, Marcel Kyas, Willem P. de Roever, F