All [1] the processing that goes on in a domain is the result of executing a procedure in state machine instances.
In Executable UML, every object is in exactly one state at a time, and all objects execute concurrently with respect to one another. An object synchronizes its behavior with another by sending a signal that is interpreted by the receiver's state machine as an event. When the event causes a transition in the receiver, the procedure in the destination state executes after the action that sent the signal. This is merely cause and effect. Time is local to each object in Executable UML. There is no global synchronization mechanism and no concept of global time. This chapter describes the rules for synchronizing objects in Executable UML. We present a summary of the execution rules in gray boxes, and accompanying text describes their implications. Executable UML extends the execution semantics of UML significantly, but consistently.
|