Previous | UML Classes | Table of Contents | UML Packages | Next |
Figure 6.1 identifies the key semantic areas covered by the current standard and how they relate to each other. The items
in the upper layers depend on the items in the lower layers but not the other way around. (Note that the structure of metamodel
package dependencies is somewhat similar to the dependency structure indicated here. However, they are not the same and
should be distinguished. This is because package dependencies specify repository dependencies not necessarily run-time dependencies.)
Activities State Machines Interactions
Structural Foundations
Figure 6.1 - A schematic of the UML semantic areas and their dependencies
At the highest level of abstraction, it is possible to distinguish three distinct composite layers of semantic definitions.
The foundational layer is structural. This reflects the premise that there is no disembodied behavior in UML – all behavior
is the consequence of the actions of structural entities. The next layer is behavioral and provides the foundation for the
semantic description of all the higher-level behavioral formalisms (the term behavioral formalism refers to a formalized framework
for describing behavior, such as state machines, Petri nets, data flow graphs, etc.). This layer, represented by the shaded
box in Figure 6.1, is the behavioral semantic base and consists of three separate sub areas arranged into two sub layers.
The bottom sub layer consists of the inter-object behavior base, which deals with how structural entities communicate with
each other, and the intra-object behavior base, which addresses the behavior occurring within structural entities. The actions
sub layer is placed on top of these two. It defines the semantics of individual actions. Actions are the fundamental units
of behavior in UML and are used to define fine-grained behaviors. Their resolution and expressive power are comparable to
the executable instructions in traditional programming languages. Actions in this sub layer are available to any of the higher-level
formalisms to be used for describing detailed behaviors. The topmost layer in the semantics hierarchy defines the semantics
of the higher-level behavioral formalisms of UML: activities, state machines, and interactions. Other behavioral formalisms
may be added to this layer in the future.