UML 2 semantics and applications PDF
This is the fifth in a series introducing the activity model in the Unified Modeling Language, version 2 (UML 2), and how it integrates with the action model . The first article gives an overview of activities and actions , while the next three cover actions generally, control nodes, and object nodes. This one describes partitions, which are a way of grouping actions that have some characteristic in common. In particular, they can relate actions to classes that are responsible for them, and highlight the abstraction that activities provide for interaction diagrams and state machines.
Partitions are groups of actions that highlight information already in an activity, or that will be, and present it in a more compact way. Partitions do not have execution semantics themselves, but because they are redundant with the information in the executable part of the model, tools can automatically update the executable model when the user modifies partitions or their contents. To reduce clutter, tools can also omit the redundant portions of the execution from the diagram, while still keeping them in the model repository for system generation. Figure 1 shows the example used in this article, adapted from . Each of the areas between the parallel, vertical lines is a partition, and this particular way of notating them is called a swimlane. An alternate notation is shown in Figure 2, where partitions are labeled on nodes.
Figure 1: Partition Example, Swimlane Notation
Figure 2: Partition Example, Node-based Notation
Because there is so much information in an activity, and so many ways to highlight it and make it more compact, partitions can be extended by modelers and tools to support applications not explicitly defined in UML. This article describes the ways of using partitions predefined in UML and gives an example of a modeler-defined application. It also discusses the translation of activities to interaction diagrams and state machines in sections 3 and 6.