The Taxonomy of Structure and Behavior Diagram: Extracted From UML Superstructure Specification, v2.1.1
The Taxonomy of Structure and Behavior Diagram: Extracted From UML Superstructure Specification, v2.1.1
Structure diagrams show the static structure of the objects in a system. That is, they
depict those elements in a specification that are irrespective of time. The elements in a
structure diagram represent the meaningful concepts of an application, and may include
abstract, real-world and implementation concepts.
Structure diagrams do not show the details of dynamic behavior, which are illustrated by
behavioral diagrams. However, they may show relationships to the behaviors of the
classifiers exhibited in the structure diagrams.
Behavior diagrams show the dynamic behavior of the objects in a system, including their
methods, collaborations, activities, and state histories. The dynamic behavior of a system
can be described as a series of changes to the system over time.
This taxonomy provides a logical organization for the various major kinds of diagrams.
However, it does not preclude mixing different kinds of diagram types, as one might do
when one combines structural and behavioral elements (e.g., showing a state machine
nested inside an internal structure). Consequently, the boundaries between the various
kinds of diagram types are not strictly enforced.
Class diagram
The following nodes and edges are typically drawn in a class diagram:
• Association
• Aggregation
• Class
• Composition
• Dependency
• Generalization
• Interface
• InterfaceRealization
• Realization
Object diagram
The following nodes and edges are typically drawn in an object diagram:
• InstanceSpecification
• Link (i.e., Association)
Package diagram
The following nodes and edges are typically drawn in a package diagram:
• Dependency
• Package
• PackageExtension
• PackageImport
{xor} constraint
The solid triangle indicates the order of reading: Player PlayedInYear Year.
Qualified associations
ISensor is the required interface of TheftAlarm ISensor is the provided interface of ProximitySensor
Alternative notation
The elements in Types are imported to ShoppingCart, and then further imported to WebShop. However, the
elements of Auxiliary are only accessed from ShoppingCart, and cannot be referenced using unqualified
names from WebShop.
The following nodes and edges are typically drawn in a component diagram:
• Component
• Interface
• ComponentRealization, Interface Realization, Usage Dependencies
• Class
• Artifact
• Port
Explicit representation of the provided and required interfaces, allowing interface details
such as operation to be displayed (when desired)
An internal or white-box view of the internal structure of a component that contains other
components as parts of its internal assembly
The Deployments package specifies a set of constructs that defines the execution
architecture of systems representing the assignment of software artifacts to nodes. Nodes
are connected through communication paths to create network systems of arbitrary
complexity. Nodes are typically defined in a nested manner, and represent either
hardware devices or software execution environments.
DeploymentSpecification with
properties
DeploymentSpecification with
property values (i.e. an instance)
Examples of syntax:
mymessage(14, - , 3.14, “hello”) // second argument is
undefined
v=mymsg(16, variab):96 // this is a reply message carrying
the return value 96 assigning it to v
mymsg(myint=16) // the input parameter ‘myint’ is given the
argument value 16
An InteractionUse referring the Interaction EstablishAccess with (input) argument “Illegal PIN.” Within
the optional CombinedFragment there is another InteractionUse without arguments referring OpenDoor.
CombinedFragment
Critical Region - handling of a 911-call must be contiguously handled. The operator must make sure to
forward the 911-call before doing anything else. The normal calls, however, can be freely interleaved.
Communication Diagrams correspond to simple Sequence Diagrams that use none of the
structuring mechanisms such as InteractionUses and CombinedFragments.
Lifeline The same as for the Sequence Diagram, but without the
vertical line that represents the lifetime of the participant.
Activity modeling emphasizes the sequence and conditions for coordinating lower-level
behaviors.
Each action in an activity may execute zero, one, or more times for each activity
execution… The activities specification (at the higher compliance levels) allows for
several (logical) threads of control executing at once and synchronization mechanisms to
ensure that activities execute in a specified order.
The definition of Process Order below uses the border notation to indicate that it is an activity. It has pre-
and post conditions on the order (see Behavior). All invocations of it use the same execution.
Example of ObjectNode
Call of an activity is indicated by placing a rake-style symbol within the symbol. An alternative notation in
the case of an invoked activity is to show the contents of the invoked activity inside a large round-cornered
rectangle. Edges flowing into the invocation connect to the parameter object nodes in the invoked activity.
The parameter object nodes are shown on the border of the invoked activity.
Workflow example, where Design Part calls the Provide Required Part Activity
The figure below illustrates two kinds of final node: flow final and activity final. In this example, it is
assumed that many components can be built and installed before finally delivering the resulting application.
Here, the Build Component behavior occurs iteratively for each component. When the last component is
built, the end of the building iteration is indicated with a flow final. However, even though all component
building has come to an end, other behaviors are still executing. When the last component has been
installed, the application is delivered. When Deliver Application has completed, control is passed to an
activity final node—indicating that all processing in the activity is terminated.
The acceptance of a signal indicating the The end-of-month accept time event action generates
cancellation of an order causes an invocation of a an output at the end of the month.
cancellation behavior.
A request payment signal is sent after an order is processed. The activity then waits to receive a payment
confirmed signal. Acceptance of the payment confirmed signal is enabled only after the request for
payment is sent; no confirmation is accepted until then. When the confirmation is received, the order is
shipped.
Event occurrences are detected, dispatched, and then processed by the state machine, one
at a time. The order of dequeuing is not defined, leaving open the possibility of modeling
different priority-based schemes.
Exit Point Pseudostate Implies the exit of composite state and the
triggering of the transition that has this exit point
as source in the composite state.
Statemachine diagram for the state machine for simple telephone object
Use cases are a means for specifying required usages of a system. Typically, they are
used to capture the requirements of a system, that is, what a system is supposed to do.
The key concepts associated with use cases are actors, use cases, and the subject. The
subject is the system under consideration to which the use cases apply. The users and any
other systems that may interact with the subject are represented as actors. Actors always
model entities that are outside the system. The required behavior of the subject is
specified by one or more use cases, which are defined according to the needs of actors.
Use cases owned by a package - A use case may be owned either by a package or by a classifier (typically the
classifier specifying the subject).
UML diagrams contain graphical elements (nodes connected by paths) that represent elements in the UML
model.
Each diagram has a contents area. As an option, it may have a frame and a heading as shown:-
The frame is a rectangle. In cases where not needed, the frame may be omitted and implied by the border of
the diagram area provided by a tool. In case the frame is omitted, the heading is also omitted.
The diagram contents area contains the graphical symbols; the primary graphical symbols define the type of
the diagram.
The heading is a string contained in a name tag (rectangle with cutoff corner) in the upper leftmost corner
of the rectangle, with the following syntax: [<kind>]<name>[<parameters>] The heading of a diagram
represents the kind, name, and parameters of the namespace enclosing or the model element owning
elements that are represented by symbols in the contents area.
UML diagrams may have the following kinds of frame names as part of the heading:
• activity
• class
• component
• interaction
• package
• state machine
• use case
In addition to the long form names for diagram heading types, the following abbreviated forms can also be
used:
• act (for activity frames)
• cmp (for component frames)
• sd (for interaction frames)
• pkg (for package frames)
• stm (for state machine frames)
• uc (for use case frames)