Chapter 11. Synchronizing Objects


All [1] the processing that goes on in a domain is the result of executing a procedure in state machine instances.

[1] Some processing is activated synchronously by other domains, a topic we address in Chapter 17.

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.

graphics/mlu.jpg

UML places no rules on the model elements that can send or receive signals.

Executable UML uses signals only to synchronize state machine instances, each of which is associated with an object, or, as we shall see later, with a class. State machine instances associated with objects and classes are the only model elements in Executable UML that can send signals and receive events.

Hence, when we say that "an object synchronizes with another object by sending a signal," this is a shorthand for "a state machine instance for an object or a class synchronizes with another state machine instance for an object or a class by sending a signal."



Executable UML. A Foundation for Model-Driven Architecture
Executable UML: A Foundation for Model-Driven Architecture
ISBN: 0201748045
EAN: 2147483647
Year: 2001
Pages: 161

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net