11.1. How to Think about Time

Each concurrently executing object has its own lifeline, which can be synchronized with others by sending signals. This formulation leaves open the question of what “time” on an object lifeline means for each instance.

Consider an object A that sends a signal X to an object C. Once C receives X, it sends a signal Z to B. Object A also immediately sends a signal Y to B. What is the order in which signals arrive at B? Does Y arrive at B first? Or Z?

The Executable UML formalism does not say. There are no rules about the order of receipt of Y and Z, so both of the sequences in Figure 11.1 are legal.

Figure 11.1. Concurrent Signals

This view of time is similar to Einstein's relativistic view of time. If we transmit a ...

Get Executable UML: A Foundation for Model-Driven Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.