How to Make Apples from Oranges in UML

ct
Unified Modeling Language (UML) provides various
diagram types for describing a system from different
perspectives or abstraction levels. Hence, various UML
models of the same system are dependent and strongly
overlapping. This paper discusses various general
approaches and viewpoints of model transformations in
UML. The possible source and target diagram types are
analyzed
and
categories
are
given
for
different
transformations. It is argued that such transformations
should be defined in terms of the UML metamodel, rather
than on the level of the actual diagrams. A detailed
example of a transformation operation from sequence
diagrams into class diagrams is presented to illustrate
such operations. It is concluded that the transformation
operations can automate a substantial part in both
forward and reverse engineering. These operations can
be used, for example, for model checking, merging,
slicing, and synthesis.
1. Introduction
UML [12,13,15] has become an industrial standard for
the presentation of various design artifacts in object-
oriented software development. UML provides different
diagram types supporting the development process from
requirements specification to implementation. The models
presented by different diagrams view a system from
different perspectives or from different abstraction levels.
Hence, the various UML models of the same system are
not independent specifications but strongly overlapping:
they depend on each other in many ways. For example,
changes in one model may imply changes in another, and
a large portion of one model may be synthesized on the
basis of another model. This is illustrated in Figure 1.
So far there exists relatively modest tool support
exploiting the logical dependencies of UML models.
Some systems (e.g. Rational Rose) maintain, for instance,
method lists across class diagrams and sequence diagrams:
adding a call of a new method in a sequence diagram
automatically causes the corresponding updating of the
class symbol in a class diagram. Another example is the
transformation
between
sequence
diagrams
and
collaboration diagrams, also supported by Rational Rose.
However, there is no comprehensive framework that
would support such mechanisms throughout all diagram
types in a systematic way.
System
Model1
Model3
Model2
Figure 1. Different UML models describe
overlapping parts of the same system and are
therefore dependent of each other.
In this paper we study the relationships of different
diagram types in UML, and transformation operations that
are based on those relationships. A transformation
operation takes a UML diagram as its operand (the source
diagram), and produces another diagram of another type
as its result (the target diagram). We consider such
transformation operations as an essential part of a UML-
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
1