ellers to introduce a metamodel for their own mod-
eling language and it provides a basis for executing
horizontal, cross-model transformations.
In this paper, we focus on the design of Pluto,
a framework providing reusable concepts for (1)
building concrete metamodels and (2) for transform-
ing concrete models between different modeling lan-
guages. The remainder of this text is structured as
follows. Section 2 elaborates on current tool support
for model transformations and discusses a number of
limitations, leading to a list of design goals, as de-
scribed in Section 3. Section 4 introduces our frame-
work, Pluto, and Section 5 shows how Pluto eases the
implementation of new metamodels. Section 6 shows
how Pluto models can be transformed to target models
written in other modeling languages. Finally, Section
7 discusses related work and Section 8 concludes.
2 MOTIVATION
Current tools for designing and transforming models
hardly support the functionality required for develop-
ing complex software systems. We have identified a
number of disadvantages that have led to the design
goals enumerated in Section 3:
• Limited Applicability. Transformation tools are
often shipped containing a hardwired metamodel
of a single modeling language so as to (vertically)
transform models within that same language. Al-
though complex models may be realized using
such tools, it is impossible to design models in
any other modeling language than the one sup-
ported. This forces modellers to use a different
tool for each modeling language they are willing
to use. Threatened by the risk to scatter their
designs over incompatible tools, developers are
tempted to stick with a single, general model-
ing language such as UML, even though special-
ized modeling languages are often better suited
for modeling specific parts of a software system.
• Limited Interoperability. Next to being hard-
wired in modeling tools, embedded metamodels
often contain proprietary constructs, for example,
to increase the performance of the transforma-
tion tool in which they are embedded. Although
economically feasible for the tool supplier, who
achieves a vendor lock-in, such proprietary con-
structs are awkward for the end users of that tool
because it becomes very hard to reuse their de-
signs in other modeling applications. Indeed, the
latter will not be able to understand the format of
the proprietary metamodel in which the original
version of the model was defined.
• Limited Extensibility. Modeling tools often pro-
vide a mechanism to define extensions for mod-
eling languages. The Unified Modeling Lan-
guage, for instance, introduces UML profiles and
stereotypes to allow developers to extend UML
with domain-specific modeling concepts (OMG
UML Specification 1.5, 2003). Transformation
tools may provide similar extension mechanisms
to let developers extend the modeling language on
which that tool operates. The expressive power of
such mechanisms, however, is much weaker than
that of a pluggable metamodel system because the
semantics of metamodel-specific extension mech-
anisms are irreversibly linked to the semantics of
their base metamodel, thus obstructing the intro-
duction of new modeling concepts that are incom-
patible with that base metamodel.
• Limited Support for Transformations. Hard-
coding a metamodel inside the transformation tool
disables transformations between modeling lan-
guages. This makes it impossible, for instance, to
transform a series of BPEL processes into a UML
interaction diagram. Indeed, tools used for creat-
ing such models will lack the ability to commu-
nicate design decisions to each other, thus jeop-
ardizing the consistency of the application being
designed.
• Limited Reusability. Although specialized tools
exist that are able to transform between multi-
ple modeling languages, the set of supported lan-
guages is typically predefined and therefore not
extensible. Also, the logic for executing such
transformations is often too much tailored to the
base application, hence obstructing the reuse of
transformation algorithms in other tools.
3 DESIGN GOALS
The main objective of our research project is to build a
metamodel-independent transformation tool that sup-
ports transformations between models designed in
different modeling languages. This gives rise to a
number of design goals:
• Pluggable Metamodel System. Developers must
be able to define their own metamodels and feed
them to the transformation tool, as such increas-
ing the applicability of the latter. For example,
if our transformation tool is running on a UML
metamodel, it must be able to accept an ER meta-
model or an RDB metamodel and then allow mod-
ellers to design their applications using the UML,
ER and RDB modeling languages. Next to adding
ICSOFT 2007 - International Conference on Software and Data Technologies
316