
Section 3 presents a process algebraic representation
of these UML models. CCS (Communicating Se-
quential Processes) (Milner, 1989) is used as process
algebra. Section 4 presents how the consistency be-
tween an activity model and a sequence model is eval-
uated using CCS.
2 INTERELATIONSHIPS
BETWEEN ACTIVITY AND
SEQUENCE MODELS
UML 2.x provides us with thirteen different kinds of
diagrams, which can be classified into two groups of
structural diagrams and behavioral diagrams. The
former includes class, object, component, deploy-
ment, and package diagrams, whereas the latter in-
cludes use-case, sequence, communication, timing,
interaction overview, state-machine, and activity di-
agrams.
Even though each diagram can expresses various
target domains from various viewpoints, and there are
no definite restrictions on which diagrams to be used
for a specific purpose, the activity diagram and se-
quence diagram perform important roles in behavioral
modeling for business applications and enterprise in-
formation systems. Both diagrams depict the behav-
ioral or dynamic aspects of a system, however the
viewpoints are different, from which the models are
created.
An activity model, which is composed of activ-
ity diagrams, is created from an external viewpoint.
For example, in business applications, they often used
to represent business processes or workflows which
can be observed externally. On the other hand, a
sequence model is usually created from an internal
viewpoint, and represents interactions between ob-
jects or classes that compose a system. These inter-
actions occur within the system, which cannot be ob-
served externally.
We often create these two models for the same
matter in an application, one of which represents the
external behavior and the other does the internal be-
havior. In such case, no conflicts are allowed be-
tween them, or they must be consistent from each
other. However, the evaluation of the consistency be-
tween these models becomes complicated since the
model elements and their relationships are consider-
ably different between these models. In addition, the
granularity of these models might be different, which
makes the evaluation more complicated.
For this evaluation, we first have to reveal the
structural interrelationship between these two models
which might have the different granularity. Succes-
sively we need to define the meaning of the consis-
tency between the models.
2.1 Structural Interrelationships
An activity model represents the behavior of a system
as a flow of actions. An action is an atomic unit of the
behavior, which is connected with other actions using
directed arrows called flows. There are two kinds of
flows defined, namely control flows and object flows,
which represent simple control sequences and mes-
sage passing respectively.
In addition to these two basic model elements, the
following complementary elements are provided
• Initial and final nodes: represent the starting and
ending points of an activity model respectively.
• Fork and join nodes: A fork node splits a single
flow into multiple parallel flows, while a join node
synchronizes multiple parallel flows into a single
flow.
• Decision and merge nodes: A decision node im-
plements a conditional branch, which splits sin-
gle flow into multiple flows with conditions. Each
flow becomes active only when the associated
condition is true. A merge node consolidates the
above split flows.
• Accept event action and send signal actions: An
event and a signal represent interactions with ex-
ternal participants, e.g. people, systems, or pro-
cesses. An accept event action is an action that
waits for such events, while a send signal action
is an action that generates and sends a signal ac-
cording to the events. Events and signals may oc-
cur asynchronously.
• Exception handlers: An exception handler deals
with exceptional events that occur within the ac-
tivity,
• Data store nodes: A data store node represents a
place for persistent data, e.g. a database system.
• Expansion regions: An expansion region includes
action flows inside, and processes an input collec-
tion like an array. The region is processed in one
of three modes, iteration, parallel, or stream.
• Interruptible activity regions: An action within
these regions can be interrupted by an event fol-
lowed by an action that handles it.
An activity model that is composed of the above ele-
ments can be divided into partitions, in order to em-
phasize the actors or participants that are responsible
to the activity, or to emphasize the functionality that
each partition performs.
EVALUATING CONSISTENCY BETWEEN UML ACTIVITY AND SEQUENCE MODELS
283