| 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.