Professional Documents
Culture Documents
UML Diagrams References
UML Diagrams References
Contents
Classification of UML 2.5 Diagrams ..................................................................................................................... 2
UML 2.5 Structure Diagrams ............................................................................................................................... 3
UML 2.5 Behavior Diagrams ................................................................................................................................ 4
Class Diagrams Reference .................................................................................................................. 6
Use Case Diagrams Reference .......................................................................................................... 16
Sequence Diagrams Reference ......................................................................................................... 22
Activity Diagrams Reference ............................................................................................................ 30
Communication Diagrams Reference ............................................................................................... 40
http://www.uml-diagrams.org
Page 1 of 41
http://www.uml-diagrams.org
Page 2 of 41
Purpose
Shows structure of the designed system, subsystem or component as
related classes and interfaces, with their features, constraints and
relationships - associations, generalizations, dependencies, etc.
Elements
class, interface, feature,co
nstraint, association,gene
ralization, dependency.
Object diagram
instance
specification,object, slot, l
ink.
Package diagram
package, packageable
element, dependency,ele
ment import, package
import, package merge.
Model diagram
Composite
structure diagram
Internal structure
diagram
Collaboration use
diagram
Shows objects in a system cooperating with each other to produce some collaboration, property,co
behavior of the system.
nnector, part, dependency
.
Component
diagram
component, interface,pro
vided interface, required
interface, class, port,conn
ector, artifact,component
realization,usage.
Manifestation
diagram
manifestation, component
,artifact.
Deployment
diagram
deployment, artifact,depl
oyment
target, node,device, execut
ion
environment,communicat
ion path,deployment
specification,
http://www.uml-diagrams.org
structured
class, property,part, port,
connector, usage.
Page 3 of 41
Profile diagram
profile, metaclass,stereoty
pe, extension,reference, p
rofile application.
use
case, actor, subject,extend
, include, association.
Information flow
diagram
information
flow,information
item, actor,class.
Activity diagram
State machine
diagram
Behavioral state
machine diagram
behavioral
state, behavioral
transition, pseudostate.
Protocol state
machine diagram
Interaction
diagram
Sequence diagram Most common kind of interaction diagrams which focuses on the
message interchange between lifelines (objects).
http://www.uml-diagrams.org
lifeline, execution
specification, message,co
Page 4 of 41
mbined
fragment,interaction
use, state
invariant, destruction
occurrence.
Communication
diagram (a.k.a.Colla
boration
diagram in UML 1.x)
lifeline, message.
Timing diagram
Interaction
overview diagram
http://www.uml-diagrams.org
Page 5 of 41
Description
Class
o
o
o
Class Customer - details suppressed.
http://www.uml-diagrams.org
Page 6 of 41
Abstract Class
Abstract class was defined in UML 1.4.2 as class that can't be
directly instantiated. No object may be a direct instance of an abstract
class.
UML 2.4 mentions abstract class but provides no definition. We may
assume that in UML 2.x abstract classdoes not have complete
declaration and "typically" can not be instantiated.
The name of an abstract class is shown in italics.
Nested Classifiers
A class or interface could be used as a namespace for
various classifiers including other classes, interfaces, use cases, etc.
This nesting of classifier limits the visibility of the classifier defined
in the class to the scope of the namespace of the containing class or
interface.
In obsolete UML 1.4.2 a declaring class and a class in its namespace
may be shown connected by a line, with an "anchor" icon on the end
connected to a declaring class (namespace). An anchor icon is a cross
inside a circle.
UML 2.x specifications provide no explicit notation for the nesting by
classes. Note, that UML's 1.4 "anchor" notation is still used in one
example in UML 2.4.x for packages as an "alternative membership
notation".
Class LinkedList is nesting the Element interface. The Element is in
scope of the LinkedList namespace.
Class Template
UML classes could be templated or bound.
The example to the left shows bound class Customers with substitution
of the unconstrained parameter class T with class Customer and
boundary parameter n with the integer value 24.
Interface
An interface is a classifier that declares of a set of coherent public
features and obligations. An interface specifies a contract.
In UML 1.4 interface was formally equivalent to an abstract
class with no attributes and no methods and only abstract
operations.
An interface may be shown using a rectangle symbol with the
keyword interface preceding the name.
Interface SiteSearch.
The obligations that may be associated with an interface are in the form
of various kinds of constraints (such as pre- and postconditions) or
protocol specifications, which may impose ordering restrictions on
interactions through the interface.
Interface Pageable
Interface participating in the interface realization dependency is
shown as a circle or ball, labeled with the name of the interface and
attached by a solid line to the classifier that realizes this interface.
Interface SiteSearch is realized (implemented) by SearchService.
http://www.uml-diagrams.org
Page 7 of 41
Object
Object is an instance of a class or an interface. Object is not a UML
element by itself. Objects are rendered asinstance specifications,
usually on object diagrams.
Class instance (object) could have no name, be anonymous.
Anonymous instance of the Customer class.
In some cases, class of the instance is unknown or not specified. When
instance name is also not provided, the notation for such an anonymous
instance of an unnamed classifier is simply underlined colon - :.
Instance newPatient of the unnamed or unknown class.
Interface instance (object) could have both name and associated
classifier.
Data Type
A data type is a classifier - similar to a class - whose instances are
identified only by their value.
A data type is shown using rectangle symbol with
keyword dataType.
DateTime data type
A data type may contain attributes and operations to support the
modeling of structured data types.
http://www.uml-diagrams.org
Page 8 of 41
When data type is referenced by, e.g., as the type of a class attribute, it
is shown simply as the name of the data type.
Primitive Type
Enumeration
An enumeration is a data type whose values are enumerated in the
model as user-defined enumeration literals.
An enumeration may be shown using the classifier notation (a
rectangle) with the keyword enumeration. The name of the
enumeration is placed in the upper compartment.
A list of enumeration literals may be placed, one to a line, in the bottom
compartment. The attributes and operations compartments may be
suppressed, and typically are suppressed if they would be empty.
Enumeration AccountType.
Feature
Association Qualifier
http://www.uml-diagrams.org
Page 9 of 41
In the case in which the target multiplicity is 0..1, the qualifier value is
unique with respect to the qualified object, and designates at most one
associated object.
In the case of target multiplicity 0..*, the set of associated instances is
partitioned into possibly empty subsets, each selected by a given
qualifier instance.
Given a library and author name none to many books could be
found.
Given chessboard and specific rank and file we'll locate exactly 1
square. UML specification provides no lucid explanation of what
multiplicity 1 means for qualifier.
Operation
http://www.uml-diagrams.org
Page 10 of 41
Abstract Operation
Abstract operation in UML 1.4.2 was defined as operation without
implementation - "class does not implement the operation".
Implementation had to be supplied by a descendant of the class.
Abstract operation in UML 1.4.2 was shown with its signature
in italics or marked as {abstract}.
There is neither definition nor notion for abstract operation in UML
2.4.
Constraint
Constraint could have an optional name, though usually it is
anonymous. A constraint is shown as a text string in curly braces
according to the syntax:
constraint ::= '{' [ name ':' ] boolean-expression '}'
For an element whose notation is a text string (such as a
class attribute, etc.), the constraint string may follow the element text
string in curly braces.
Bank account attribute constraints - non empty owner and
positive balance.
For a Constraint that applies to two elements (such as two classes or
two associations), the constraint may be shown as a dashed
line between the elements labeled by the constraint string in curly
braces.
Multiplicity
Multiplicity is a definition of an inclusive interval of non-negative
integers to specify the allowable number of instances of described
element.
Multiplicity could be described with the following non-normative syntax
rules:
multiplicity ::= multiplicity-range [ '{' multiplicityoptions '}' ]
Some typical examples of multiplicity bounds:
http://www.uml-diagrams.org
Exactly 5 instances
0..1
1..1
0..*
1..*
Page 11 of 41
m..n
Data Source could have a Logger and has ordered pool of min to
max Connections. Each Connection is unique (by default).
Visibility
Association
Association is a relationship between classifiers which is used to
show that instances of classifiers could be either linked to each other
or combined logically or physically into some aggregation.
It is normally drawn as a solid line connecting associated classifiers.
Binary association relates two typed instances. It is normally
rendered as a solid line connecting two classifiers, or a solid line
connecting a single classifier to itself (the two ends are distinct). The
line may consist of one or more connected segments.
Job is associated with Year.
Aggregation
Aggregation (aka shared aggregation) is shown as binary
association decorated with a hollow diamond as a terminal
adornment at the aggregate end of the association line.
Search Service has a Query Builder using
sharedaggregation
http://www.uml-diagrams.org
Page 12 of 41
Association Navigability
No adornment on the end of an association means unspecified
navigability.
http://www.uml-diagrams.org
Page 13 of 41
Generalization
A Generalization is shown as a line with a hollow triangle as an
arrowhead between the symbols representing the involved classifiers.
The arrowhead points to the symbol representing the general classifier.
This notation is referred to as the "separate target style."
Dependency
Dependency relationship is used on class diagrams to
show usage dependency or abstraction.
A dependency is generally shown as a dashed arrow between two model
elements. The model element at the tail of the arrow
(the client) depends on the model element at the arrowhead
(the supplier). The arrow may be labeled with an optional stereotype
and an optional name.
Usage
Usage is a dependency relationship in which one element (client)
requires another element (or set of elements) (supplier) for its
full implementation or operation.
For example, it could mean that some method(s) within a (client) class
uses objects (e.g. parameters) of the another (supplier) class.
A usage dependency is shown as a dependency with a use keyword
attached to it.
Create
Create is a usage dependency denoting that the client classifier
creates instances of the supplier classifier. It is denoted with the
standard stereotype create.
Data Source creates Connection
Create may relate an instance value to a constructor for a class,
describing the single value returned by the constructor operation. The
operation is the client, the created instance the supplier. The instance
value may reference parameters declared by the operation.
Account constructor creates new instance of Account
Required Interface
http://www.uml-diagrams.org
Page 14 of 41
Interface Realization
The interface realization dependency from a classifier to an
interface is shown by representing the interface by a circle or ball,
labeled with the name of the interface and attached by a solid line to the
classifier that realizes this interface.
Interface SiteSearch is realized (implemented) by SearchService.
In cases where interfaces are represented using the rectangle
notation, interface realization dependency is denoted with interface
realization arrow. The classifier at the tail of the arrow implements the
interface at the head of the arrow.
Interface SiteSearch is realized (implemented) by SearchService.
http://www.uml-diagrams.org
Page 15 of 41
Description
Subject
The subject (of use cases) is the system under design or
consideration to which a set of use cases apply. The subject could
be a physical system, software program, or smaller element that may
have behavior, e.g.subsystem, component, or even class.
Subject is presented by a rectangle with subject name in upper
corner with applicable use cases inside the rectangle
and actors - outside of the system boundaries.
Books Online (subject) with applicable use cases and Web Customer
actor.
Use cases Browse Items and Buy Items are applicable to Retail
Website subject.
http://www.uml-diagrams.org
Page 16 of 41
Actor
Standard UML icon for actor is "stick man" icon with the name of
the actor above or below the icon. Actor names should follow the
capitalization and punctuation guidelines for classes. The names of
abstract actors should be shown in italics. All actors must have
names.
Student actor.
Custom icons that convey the kind of actor may also be used to
denote an actor, such as using a separate icon(s) for non-human
actors.
http://www.uml-diagrams.org
Page 17 of 41
Use Case
Every use case must have a name. Use case is shown as an ellipse
containing the name of the use case.
http://www.uml-diagrams.org
Page 18 of 41
Extend
Extend is a directed relationship that specifies how and when
the behavior defined in usually supplementary
(optional) extending use case can be inserted into the behavior
defined in the extended use case.
Extended use case is meaningful on its own, it is independent of
the extending use case. Extending use case typically
defines optional behavior that is not necessarily meaningful by
itself.
Registration use case is complete and meaningful on its own. It
Extend relationship between use cases is shown by a dashed arrow
could be extended with optional Get Help On Registrationuse case. with an open arrowhead from theextending use case to
the extended (base) use case. The arrow is labeled with the
keyword extend.
The condition of the extend relationship as well as the references to
the extension points are optionally shown in a comment note
attached to the corresponding extend relationship.
http://www.uml-diagrams.org
Page 19 of 41
Extension Point
An extension point is a feature of a use case which identifies
(references) a point in the behavior of the use case where that
behavior can be extended by some other (extending) use case, as
specified by extendrelationship.
Extension points may be shown in a compartment of the use case
oval symbol under the heading extension points. Each extension
point must have a name, unique within a use case. Extension points
are shown as a text string according to the syntax:
extension point ::= name [: explanation ]
Registration Use Case with extension points Registration Help and
User Agreement.
Extension points may be shown in a compartment of the use case
rectangle with ellipse icon under the heading extension points.
Include
Association
An association between an actor and a use case indicates that the
actor and the use case communicate with each other.
An actor could be associated to one or several use cases.
http://www.uml-diagrams.org
Page 20 of 41
http://www.uml-diagrams.org
Page 21 of 41
Description
Lifeline
A Lifeline is shown using a symbol that consists of a rectangle
forming its head followed by a vertical line (which may be dashed)
that represents the lifetime of the participant.
Execution
http://www.uml-diagrams.org
Page 22 of 41
Message
Message is a named element that defines one specific kind of
communication between lifelines of an interaction. The message
specifies not only the kind of communication, but also the sender
and the receiver. Sender and receiver are normally two occurrence
specifications (points at the ends of messages).
A message is shown as a line from the sender message end to the
receiver message end. The line must be such that every line fragment
is either horizontal or downwards when traversed from send event to
receive event. The send and receive events may both be on the same
lifeline. The form of the line or arrowhead reflects properties of the
message.
Synchronous Call
Synchronous call typically represents operation call - send
message and suspend execution while waiting for response.
Synchronous Messages are shown with filled arrow head.
http://www.uml-diagrams.org
Page 23 of 41
Asynchronous Call
Asynchronous call - send message and proceed immediately
without waiting for return value. Asynchronous Messages have an
open arrow head.
Asynchronous Signal
Asynchronous signal message corresponds to
asynchronous send signal action.
Create Message
Create message is sent to lifeline to create itself. Note, that it is
weird but common practice in OOAD to send create message to a
nonexisting object to create itself. In real life, create message is sent
to some runtime environment.
Create message is shown as a dashed line with open arrowhead
(same as reply), and pointing to created lifeline's head.
Delete Message
Delete message (called stop in previous versions of UML) is sent to
terminate another lifeline. The lifeline usually ends with a cross in
the form of an X at the bottom denoting destruction occurrence.
UML 2.3 specification provides neither specific notation for delete
message nor a stereotype. Until they provide some notation, we can
use custom destroy stereotype.
Reply Message
Reply message to an operation call is shown as a dashed line with
open arrow head.
http://www.uml-diagrams.org
Page 24 of 41
Lost Message
Lost Message is a message where the sending event is known, but there is no receiving
event. It is interpreted as if the message never reached its destination. Lost messages are
denoted with as a small black circle at the arrow end of the message.
Found Message
Found Message is a message where the receiving event is known, but
there is no (known) sending event. It is interpreted as if the origin of the
message is outside the scope of the description. This may for example be
noise or other activity that we do not want to describe in detail.
Found messages are denoted with a small black circle at the starting end
of the message.
Destruction Occurrence
Destruction occurrence is a message occurrence which
represents the destruction of the instance described by the lifeline.
It may result in the subsequent destruction of other objects that this
object owns bycomposition. No other occurrence may appear
below the destruction on a given lifeline.
Complete UML name of the occurrence is destruction
occurrence specification. Until UML 2.4 it was
calleddestruction event, and earlier - stop.
The destruction of instance is depicted by a cross in the form of
an X at the bottom of a lifeline.
Account lifeline is terminated
State Invariant
A state invariant is an interaction fragment which represents a
runtime constraint on the participants of the interaction. It may be
used to specify different kinds of constraints, such as values of
attributes or variables, internal or external states, etc.
State invariant is usually shown as a constraint in curly braces on the
lifeline.
Combined Fragment
http://www.uml-diagrams.org
Page 25 of 41
loop - iteration
break - break
par - parallel
strict - strict sequencing
seq - weak sequencing
critical - critical region
ignore - ignore
consider - consider
assert - assertion
neg - negative
Alternatives
The interaction operator alt means that the combined fragment
represents a choice or alternatives of behavior. At most one of the
operands will be chosen. The chosen operand must have an explicit
or implicit guard expression that evaluates to true at this point in the
interaction.
Option
The interaction operator opt means that the combined fragment
represents a choice of behavior where either the (sole) operand
happens or nothing happens. An option is semantically equivalent to
an alternative combined fragment where there is one operand with
non-empty content and the second operand is empty.
Loop
If loop has no bounds specified, it means potentially infinite loop
with zero as lower bound and infinite upper bound.
http://www.uml-diagrams.org
Page 26 of 41
If both bounds are specified, loop will iterate minimum the minint number of times and at most the max-intnumber of times.
Besides iteration bounds loop could also have an interaction
constraint - a Boolean expression in square brackets. To add to the
other confusions, UML 2.3 also calls both of them guards.
UML tries to shuffle the simplest form of for loop and while
loop which causes weird UML 2.3 loop semantics on p.488: "after
the minimum number of iterations have executed and the Boolean
expression is false the loop will terminate". This is clarified - with
opposite meaning - on the next page as "the loop will only continue if
that specification evaluates to true during execution regardless of the
minimum number of iterations specified in the loop."
We may guess that as per UML 2.3, the loop is expected to execute
minimum 5 times and no more than 10 times. If guard condition
[size<0] becomes false loop terminates regardless of the minimum
number of iterations specified. (Then why do we need that min number
specified?!)
Break
The interaction operator break represents a breaking or
exceptional scenario that is performed instead of the remainder of
the enclosing interaction fragment.
Note, UML allows only one level - directly enclosing interaction
fragment - to be abandoned. This could become really annoying if
double loop or loop with other combined fragments should be
broken.
Parallel
The interaction operator par defines potentially parallel execution
of behaviors of the operands of the combined fragment. Different
operands can be interleaved in any way as long as the ordering
imposed by each operand is preserved.
Coregion - search Google, Bing and Ask in any order, possibly parallel.
http://www.uml-diagrams.org
Page 27 of 41
Strict Sequencing
The interaction operator strict requires a strict sequencing (order)
of the operands on the first level within the combined fragment.
Weak Sequencing
Search Google possibly parallel with Bing and Yahoo, but search Bing
before Yahoo.
Critical Region
The interaction operator critical defines that the combined
fragment represents a critical region. A critical region is a region
with traces that cannot be interleaved by other occurrence
specifications (on the lifelines covered by the region). This means
that the region is treated atomically by the enclosing fragment and
can't be interleaved, e.g. by parallel operator.
Add() or remove() could be called in parallel, but each one should run
as a critical region.
Ignore
Interaction operator ignore means that there are some messages
that are not shown within this combined fragment. These message
types can be considered insignificant and are implicitly ignored if
they appear in a corresponding execution.
The list of ignored messages follows the operand enclosed in a pair
of curly braces "{" and "}". Ignore operation is typically combined
with other operations such as "assert ignore {m, s}."
http://www.uml-diagrams.org
Page 28 of 41
Consider
The interaction operator consider defines which messages should
be considered within this combined fragment, meaning that any
other message will be ignored.
The list of considered messages follows the operand enclosed in a
pair of curly braces "{" and "}". Consider operation is typically
combined with other operations such as "assert consider {m, s}."
Assert
The interaction operator assert means that the combined fragment
represents the assertion that the sequences of the assert operand are
the only valid continuations (must be satisfied by a correct design of
the system). All other continuations result in an invalid trace.
Negative
The interaction operator neg describes combined fragment of traces
that are defined to be negative (invalid). Negative traces are the
traces which occur when the system has failed. All interaction
fragments that are different from the negative are
considered positive, meaning that they describe traces that are
valid and should be possible.
Interaction Use
Interaction use is interaction fragment which allows to use (or
call) another interaction. Large and complex sequence diagrams
could be simplified with interaction uses. It is also common reusing
some interaction between several other interactions.
The interaction use is shown as a combined fragment with
operator ref.
http://www.uml-diagrams.org
Page 29 of 41
Description
Activity
Activity is parameterized behavior represented as coordinated
flow of actions.
Activity could be rendered as round-cornered rectangle with activity
name in the upper left corner and nodes and edges of the activity
inside.
Partition
An activity partition is activity group for actions that have some
common characteristic.
Activity partition may be shown using a swimlane notation - with
two, usually parallel lines, either horizontal or vertical, and a name
labeling the partition in a box at one end.
http://www.uml-diagrams.org
Page 30 of 41
Action
Actions are notated as round-cornered rectangles. The name of the
action or other description of it may appear in the symbol.
http://www.uml-diagrams.org
Page 31 of 41
Object Action
Variable Action
http://www.uml-diagrams.org
Page 32 of 41
Invocation Action
http://www.uml-diagrams.org
Page 33 of 41
Link Action
http://www.uml-diagrams.org
Page 34 of 41
Event Action
http://www.uml-diagrams.org
Page 35 of 41
Control Nodes
Initial Node
Initial node is a control node at which flow starts when the activity
is invoked. Activity may have more than one initial node. Initial
nodes are shown as a small solid circle.
Decision
Decision node is a control node that accepts tokens on one or
two incoming edges and selects one outgoing edge from one or
more outgoing flows.
The notation for a decision node is a diamond-shaped symbol.
http://www.uml-diagrams.org
Page 36 of 41
Merge
Merge node is a control node that brings together multiple
incoming alternate flows to accept single outgoing flow. There is
no joining of tokens. Merge should not be used to
synchronize concurrent flows.
The notation for a merge node is a diamond-shaped symbol with two
or more edges entering it and a single activity edge leaving it.
Merge node with three incoming edges and a single outgoing edge.
Fork
Fork node with a single activity edge entering it, and three edges
leaving it.
Fork node is a control node that has one incoming edge and
multiple outgoing edges and is used to split incoming flow into
multiple concurrent flows.
The notation for a fork node is a line segment with a single activity
edge entering it, and two or more edges leaving it.
Join Node
Join node with three activity edges entering it, and a single edge
leaving it.
Join node is a control node that has multiple incoming edges and
one outgoing edge and is used to synchronize incoming concurrent
flows.
The notation for a join node is a line segment with several activity
edges entering it, and only one edge leaving it.
Join specifications are shown in curly braces near the join node
as joinSpec=....
http://www.uml-diagrams.org
Page 37 of 41
Activity Edge
Activity edge could be control edge or data flow
edge (aka object flow edge). Both are notated by an open
arrowhead line connecting activity nodes.
Activity edge connects Fill Order and Review Order.
Activity edge can be named, however, edges are not required to
have unique names within an activity. If the edge has a name, it is
notated near the arrow.
Activity edge "updated" connects Update Order and Review Order.
The guard of the activity edge is shown in square brackets that
contain the guard. The guard must evaluate to true for every token
that is offered to pass along the edge.
Fill Order when priority is 1
An activity edge can be notated using a connector, which is a small
circle with a name (also called label) in it. Connectors are generally
used to avoid drawing a long edge. This is purely notational. Every
connector with a given label must be paired with exactly one other
with the same label on the same activity diagram. The circles and
lines involved map to a single activity edge in the model.
Connector A connects two edges between Fill Order and Review Order.
Data flow of Orders between Fill Order and Review Order actions
The weight of the edge may be shown in curly braces that contain
the weight. The weight is a value specification, which may be a
constant, that evaluates to a non-zero unlimited natural value.
An unlimited weight is notated as "*".
Send Notification when number of Warnings reaches 6
Interrupting Edge
Interrupting edge is activity edge expressing interruption for
regions having interruptions. It is rendered as a lightning-bolt.
http://www.uml-diagrams.org
Page 38 of 41
Object Nodes
Activity object nodes include parameter, pin, central buffer, expansion nodes.
Pin
A pin is an object node for inputs and outputs to actions.
Pin is usually shown as a small rectangle attached to the action
rectangle. The name of the pin can be displayed near the pin.
Item is input pin to the Add to Shopping Cart action.
Data Store
A data store is a central buffer node for non-transient
information.
The data store is notated as an object node with the keyword
datastore.
Incoming Patient token is stored by the Patients data store.
http://www.uml-diagrams.org
Page 39 of 41
Description
Frame
Communication diagrams could be shown within a
rectangular frame with the name in a compartment in the upper
left corner.
There is no specific long form name for communication diagrams
heading types. The long form nameinteraction (used
for interaction diagrams in general) could be used.
Lifeline
A lifeline is shown as a rectangle (corresponding to head in
sequence diagrams). Lifeline in sequence diagrams does have "tail"
representing the line of life whereas "lifeline" in communication
diagram has no line, just "head".
Lifeline with name "data" of class Stock.
Anonymous Lifeline
Anonymous lifeline has no name - arbitrary representative of class.
Sequential Messages
The sequence expression is a dot separated list of sequence
terms followed by a colon (":"). Message name follows the sequence
expression.
sequence-expression ::= sequence-term '.' . . . ':' messagename
sequence-term ::= [ integer [ name ] ] [ recurrence ]
The integer represents the sequential order of the message
within the next higher level of procedural calling (activation).
http://www.uml-diagrams.org
Page 40 of 41
Concurrent Messages
The name in sequence expression represents a concurrent
thread of control. Messages that differ in the final name are
concurrent at that level of nesting.
Conditional Messages
A guard specifies condition for the message to be sent (executed) at
the given nesting depth. UML does not specify guard syntax, so it
could be expressed in pseudocode, some programming language, or
something else.
sequence-term ::= [ integer [ name ] ] '[' guard ']'
Instance of class A will send message draw() to the instance of C, if x >
y.
Sequential Loop
Concurrent Loop
http://www.uml-diagrams.org
Page 41 of 41