Real Time UML: Advances in the UML for Real-Time Systems (3rd Edition)
We have seen in this chapter the richness of the UML's behavioral modeling capabilities. Actions provide the most primitive units of behavior. Activities bind actions together into sequences connected via logical operators, such as branching and forking, as well as providing execution connections for them. Statecharts and activity diagrams allow us to depict the set of allowable sequences for the execution of these actions. Protocol state machines allow us to define the protocols of interaction among various classifiers. On the other hand, interactions cannot be conveniently represented by a state machine, since a state machine is bound to an individual classifier. For interactions, we model traces of event or message exchange among the instance roles participating in the interaction. Sequence diagrams are the most common means to capture such interactions. The UML 2.0 has introduced ways to manage the complexity of interactions with interaction fragments, operators, and the ability to decompose interactions into smaller interaction fragments. For those concerned especially with time, timing diagrams provide an expressive means to detail change in value or state of classifiers and attributes. In the next chapter, we focus on the specification of time and modeling of timing constraints. There is an adopted standard for this, the "UML Profile for Schedulability, Performance, and Time," which captures the most common ways in which this was done in the past and abstracts them, then codifies them into a standard. While you are certainly free to use your own tags and constraints for capturing timing and performance requirements, the existence of a standard will facilitate the exchange of models among different tools. |