SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2011;
41:789815 Published online 26 November 2010 in Wiley Online Library
(wileyonlinelibrary.com). DOI: 10.1002/spe.1033
Towards the systematic measurement of ATL transformation
modelsJos Barranquero Tolosa, , Oscar Sanju n-Martnez, Vicente
Garca-Daz, e a B. Cristina Pelayo G-Bustelo and Juan Manuel Cueva
LovelleDepartment of Computer Science, University of Oviedo,
C/Calvo Sotelo s/n, 33007 Oviedo, Asturias, Spain
SUMMARY The Model-Driven Engineering paradigm is aimed at
raising the abstraction level of Software Engineering approaches
through the systematic use of models as primary artifacts, not only
in software design and development, but also to understand,
interact, congure, and modify the runtime behavior of software. It
tries to overcome the wall between the documentation and the real
state of the implementation. For that matter, our long-term goal
seeks to reach a higher degree of interoperability among available
metamodeling technologies through bridges among technological
spaces (TS bridges). The proposed system provides several ATL
(ATLAS Transformation Language) transformations that enable the
application of measuring operations over ATL transformation models
and rules, and the generation of different complementary end-user
models, such as SVG charts and (X)HTML reports. For this work, we
have evaluated a set of meta-modeling TS bridges among UML, MOF,
Ecore, KM3, and Microsoft DSL Tools. These results provide
quantitative measurements of the declarative and imperative
constructs of these transformations and relative quality factors as
well. In addition to this, all the top-level results extracted from
the measurement of these TS bridges are merged into one unique
model in order to assist in performing a comparative study among
them. This comparative study suggests that it is feasible to apply
automatic transformations over transformation models, i.e.
meta-transformations. In this regard, there are many open research
trends towards complete management, validation, optimization, and
inference of TS bridges between complementary meta-modeling
technologies. Copyright q 2010 John Wiley & Sons, Ltd.Received
23 June 2009; Revised 1 October 2010; Accepted 4 October 2010 KEY
WORDS:
MDE; model; transformation model; meta-transformation; metrics;
measurement
1. INTRODUCTION From our recent experience with Model Driven
Engineering (MDE), we foresee that the current transformation
patterns could be extended or generalized through a higher degree
of interoperability among available meta-modeling families, by
raising the context of the transformation models to the upper
meta-layers. This goal is closely related to generic
transformations, also called HighOrder Transformations (HOT) [1].
The main advantage of this kind of high-order rules is that they
usually offer a higher level of generality and compactness with
respect to other rst-order frameworks, while the drawback is that
higher order logic can raise decidability and performance problems
concerning automated reasoning, as argued in [2]. These kinds of
transformations are also known as meta-transformations, i.e.
transformations applied over transformations. In fact, these
transformations are applied over transformation models, which can
act as source, target or both, enabling the denition of
transformation rules in a more formal and generic way (see, e.g.,
[13]). Correspondence
to: Jos Barranquero Tolosa, Department of Computer Science,
University of Oviedo, C/Calvo e Sotelo s/n, 33007 Oviedo, Asturias,
Spain. E-mail: [email protected] Copyright q 2010 John Wiley
& Sons, Ltd.
790
J. B. TOLOSA ET AL.
In fact, through transformation models and meta-transformations,
the exibility of the transformation patterns could be drastically
improved by means of the inference and composition of
transformations, managing every artifact as a model, even the
transformation algorithm itself. Furthermore, the established
transformation approach in many transformation tools, like in most
of the examples available in the ATLAS Transformation Language
(ATL) Library [4], is performed in a complex and tedious way. In
fact, the ATL approach requires the denition of domain-specic
source and target meta-models inside the Ecore TS before the
projections from other technological spaces (TSs) (i.e. TS bridges)
or the transformation itself can be dened in any manner. For
example, nowadays a new XML language requires translating its
corresponding meta-model, dened with XML [5], into an equivalent or
mirrored meta-model dened with Ecore [6], as well as the
corresponding ATL projection. The translation of this new XML
language into the Ecore TS could be automatically generated, which
would produce the meta-model dened in Ecore and the projection
between both equivalent meta-models. A further step could entail
the automated generation of the transformation between the new XML
language and another semantically aligned language. However, this
step would entail much more knowledge about each involved TS and a
more powerful inference engine. The key question is if it is
feasible to generate automatically these mirrored meta-models
through the analysis of external meta-models conforming to
meta-meta-models from different TSs. We will briey cover these
meta-modeling foundation concepts in the subsequent sections. On
the other hand, the fact is that this question is complex and
challenging, requiring a deep study of the available meta-modeling
approaches, as well as the model transformation patterns and
technologies. In this work, we have focused our efforts on
transformation model measurement because we strongly believe that
the rst step toward a complete understanding of this problem goes
through the quantitative evaluation of the available
transformations and patterns. Actually, software metrics are
usually considered an objective method for quantitative software
measurement: you cannot control what you cannot measure [7]. As we
will cover later on, the proposed system provides several ATL
transformations that enable the application of measuring operations
over ATL transformation models and rules, and the generation of
several complementary end-user models, such as SVG charts and
(X)HTML reports. We will introduce the preliminary denition of our
proposed set of metrics in order to present the results collected
over a set of model transformations. For this work, we have
selected several meta-modeling TS bridges among Ecore [6], UML [8],
MOF [9], KM3 [10], and Microsoft DSL Tools [11]. These results
provide quantitative measurements of the declarative and imperative
constructs of these transformations, as well as their relative
quality factors. In addition to this, we merge all the top-level
results extracted from these transformations into one unique model
to perform a comparative study among them. The measurement of ATL
transformation models will assist the potential ATL users in
understanding and evaluating them in a more objective way. Hence,
the proposed set of metrics for ATL transformation models mainly
measures the declarative factor of modules and rules. This approach
focuses on avoiding the use of some discouraged language constructs
of ATL (see [1214]), which are considered imperative from a
high-abstraction point of view. This does not mean that the use of
these constructs is always wrong; the aim is to identify possible
optimization points from a specication point of view. Our research
group has been working on different initiatives based on MDE, for a
long time. In this regard, we have recently released a
full-featured platform for MDE development through embedded ad hoc
model-driven generators, entitled TALISMAN MDE Framework [15]. In
fact, we have reached the need for enhancing the established
patterns and technologies for model transformation scenarios
through these experiences, specically for meta-model
interoperability and bridging issues between TS [16]. For that
matter, we have published an overview article [17] and a masters
thesis [18] in order to establish the global scope of this ongoing
work. The structure of the remainder of this paper is as follows.
Section 2 covers the key issues about meta-modeling and
transformation models. Section 3 briey summarizes the available
modeling languages and solutions for the denition of OO metrics, as
well as our proposed set of metricsCopyright q 2010 John Wiley
& Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
791
for model-driven transformations and the overall system
architecture. In Section 4, we discuss the most relevant results
obtained from the measurement of the selected TS bridges. Finally,
in Sections 5 and 6 we draw our main conclusions and our planned
future work, respectively.
2. MODELS AND TRANSFORMATION MODELS Models and transformations
between models are provided as the core of MDE, offering
reusability of knowledge and processes. Furthermore, a broader
vision of MDE [19] suggests that models are not only an essential
element for the development process, but they are also the primary
artifacts to understand, interact, congure, and modify the runtime
behavior of software. In order to establish the basis of future
advances in this promising paradigm, our work focuses on the
foundational concepts of meta-modeling and transformation modeling.
Moreover, metamodels have become essential artifacts for MDE
transformations [10], thus we have centered our background review
in the state of art related with meta-modeling specications and
model transformation approaches. 2.1. Core meta-modeling concepts
As dened in the OMGs MDA Guide [20], the term model-driven stands
for the use of models to direct the course of understanding,
design, construction, deployment, operation, maintenance, and
modication of systems. In this way, a model can be understood as a
set of afrmations, premises, constraints, or rules to get a higher
abstraction of a problem; according to Seidewitz [21], a set of
statements about some system under study. The term abstraction is
dened in turn by [22] as a modeling technique that involves
ignoring information that is not of interest in a particular
context, with three basic forms: reduction, generalization, and
classication. On the other hand, model transformation is dened in
[23] as the analysis of certain aspects of models to enable the
synthesis of various types of artifacts, such as source code,
simulation inputs, XML deployment descriptions, or alternative
model representations. The enabling artifact for all those
approaches is the meta-model, which provides the formal denition of
the concrete and abstract syntaxes, as well as the structure,
semantics, and constraints of the family of models that can be
expressed with their underlying modeling language [22]; i.e. a
model of a modeling language. Furthermore, when the statements of a
concrete meta-model are expressed in terms of the same modeling
language that is being dened [21], it is called a reexive
meta-model. Then, the minimal reexive meta-model requires the
minimum number of elements and it is usually placed on the top
layer as the meta-meta-model (see also [24]). The three-layered
architecture presented in Figure 1 places the meta-meta-model on
the M3 layer, and instance models on the M1 layer. When moving
upward between meta-layers, the upper layer enables the
interpretation of the lower layer, providing its meaning in terms
of the formal abstract syntax of the modeling language (conforms
To). This gure is based on the premise that a greater formality in
terms of syntax implies constructs with less meaning [21]. Thus, we
dene a meta-meta-model as a high order meta-model that denes the
semantics and rule set of a family of closely related models,
meta-models and itself (reexive meta-model). 2.2. Interoperability
of TS A practical denition of TS is provided by Kurtev et al. in
[16]: a working context with a set of associated concepts, body of
knowledge, tools, required skills, and possibilities, which is
often associated to a given user community with shared know-how,
educational support, common literature, and even workshop and
conference regular meetings. It is important to remark that the
adoption of the MDE paradigm does not involve discarding the
already established technologies, as pointed out in [25]. In fact,
it relies on previous platforms, providing the means to model them
as part of the common knowledge of software development.
Furthermore, MDE is designed to cover many different TSs; in this
regard, it must provide TSCopyright q 2010 John Wiley & Sons,
Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe
792
J. B. TOLOSA ET AL.
Figure 1. Meta-meta-model architecture.
bridges among them in order to integrate different bodies of
knowledge from other mature research communities [26]. This
concrete feature of MDE enables the interoperability of different
bodies of knowledge within Software Engineering. Kurtev et al. also
provide a brief comparison of some of these TSs [16]. 2.3. Lack of
an established model transformation pattern Model transformation is
considered the key operation in MDE, among other remarkable and
growing operations such as model comparison, validation, weaving,
and replication. In fact, these later operations are often
supported by model transformations (cf. [27, 28]). The main
contribution of the OMG group in this eld is the MOF 2.0
Query/View/Transformation (QVT) standard [29]. Anyhow, there are
many other alternative model transformation approaches (see [30]
and [13] for further comparison), like the ATL, which initially
focused [31] on matching an answer to the QVT/RFP. Another language
dened in the operational context of QVT and ATL is Tefkat [32].
This declarative logic-based language is supported by Ecore as
meta-modeling language [6], and the execution model is somewhat
like Prologs. Other approaches rely on graph rewriting and
transformation patterns [14], such as VIATRA2 [3], GReAT [33], and
AGG [34]. Furthermore, XSLT [35] can also be applied over XMI [36],
as proposed in [37], where XSLT transformations are performed over
UML design patterns in order to assist developers in tracking and
validating the evolution of these patterns. We have chosen ATL as
the model transformation language mainly because we have previous
successful experiences with it. Moreover, there also exists a large
amount of reusable resources related with object-oriented models
measurement, which have been already developed with ATL (see, e.g.
[38]). Nevertheless, we want to emphasize that ATL is also an
outstanding hybrid model-to-model language inside the MDE paradigm,
from a specication point of view. In this regard, hybrid approaches
allow the user to combine different constructs and patterns,
assuming that practical scenarios are very likely to require these
kinds of hybrid features [30]. In fact, ATL has also a close
architectural alignment with QVT and provides enough support for a
large set of practical transformation scenarios. For further
comparison among model transformation languages, refer to [30] and
[13]. In this regard, many established model transformations
approaches have an imperative nature in order to enable their
execution; however, according to B zivin et al. [1], model
transformations e can be abstracted to a transformation model. The
term transformation model stands for a modelCopyright q 2010 John
Wiley & Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
793
Figure 2. General model transformation pattern.
transformation dened by a model, which conforms to a
transformation meta-model (i.e. a metamodel specication for
transformation languages). From the MDE point of view, the
translation of software specications into executable programs
should be performed by an automated process; hence, the source code
of applications developed with MDE approaches is commonly generated
through a model transformation from abstract notations to text
[39]. In this way, source code could be understood as an executable
text model that conforms to a specic programming language
meta-model. Furthermore, this model transformation process can be
atomic or it can be a chain of model transformations between
incremental abstraction layers representing the same system. This
layered architecture is commonly placed over the M1 layer and
should not be confused with the meta-meta-model architecture
described in previous sections. They are orthogonal concepts. This
transformation process, which is commonly called vertical
transformation, involves changes in the complexity or detail level
of the models. On the other hand, we can perform horizontal
transformations, which apply rening or refactoring techniques over
a model in a concrete abstraction layer of the specication,
including the source code. The established model transformation
pattern in MDE is described in Figure 2, adapted from [12]. The
process of transforming a model Ma into another model Mb is
performed through a transformation model TMab, which conforms to a
transformation meta-model TMM and denes the transformation rules
based on meta-models MMa and MMb as source and target meta-models,
respectively; all meta-models conform to the same meta-meta-model
MMM [12]. This pattern covers both vertical and horizontal
approaches. The difference lies in the transformation context and
the interplay between source and target models, as mentioned
before. This pattern is often supported in a complex and tedious
way. In fact, it usually requires the denition of domain-specic
source and target meta-models (MMa and MMb) within the concrete TS
(MMM) of the transformation language (TMM), before the projections
or bridges from other TSs or the transformation itself (TMab) can
be dened in any way. As mentioned before, the key question is if it
is feasible to generate automatically these metamodels (MMa and
MMb) through the analysis of extern meta-models (i.e. MMa and MMb )
conforming to meta-meta-models from different TSs (MMM ). Again, we
would like to emphasize that this question is complex and
challenging, requiring further and deeper studies about the
available meta-modeling approaches, as well as the established
model transformation patterns and technologies.Copyright q 2010
John Wiley & Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815
DOI: 10.1002/spe
794
J. B. TOLOSA ET AL.
2.4. High-order transformations (meta-transformations) Our
current research focuses on generic transformations, known as HOTs
or meta-transformations [1, 3] (i.e. transformations of
transformation models). Our aim is to assist the user in dening TS
bridges between instance models from meta-models that conform to
meta-meta-models from different TSs. This research focuses on the
improvement of the interoperability among the available
meta-modeling TSs through model-driven transformations. Thanks to
the use of transformation models and meta-transformations, the
process of transformation of models can be decorated with the same
horizontal mechanisms usually applied to other kinds of models.
These mechanisms include validation, composition, weaving,
measurement, etc. In fact, through transformation models every
artifact is managed as a model: sources, targets, and the
transformation algorithm itself. Furthermore, assuming the fact
that more declarative algorithms usually provide better foundations
for reusability, portability, composition, and even inference of
transformation models (cf. [1214]), these benets also lead to
better quality and productivity in terms of model-driven
transformations. 3. DEFINITION AND EXECUTION OF METRICS FOR ATL
MODELS This section describes our proposed set of metrics for ATL
transformation models in natural language, as well as with ATL and
OCL constructs. In addition to this, we also provide a complete
orchestration of a set of model transformations to generate
different end-user results (e.g. (X)HTML reports and SVG charts)
from the data extracted with these metrics. Among all the
operations that could be performed over transformation models
through metatransformations, we have focused on the measurement of
these kinds of models because we realize that this will allow
potential users to understand and evaluate them in a more objective
way. Hence, as one of our rst contributions to the eld, we propose
a set of metrics for ATL transformation models aimed at measuring
the declarative factor of modules and rules. This declarative
factor mainly focuses on avoiding the use of some discouraged
language constructs of ATL, which are considered imperative from a
high-abstraction point of view. However, as already discussed, this
does not mean that the use of imperative constructs is always
wrong; the primary aim is to identify possible optimization points.
Actually, it depends on the specic kind of problem that is
addressed in each case, as there are transformations that cannot be
specied using only declarative constructs [12]. Inevitably, this
limitation should be taken into account in future renements or
alternatives of the proposed metrics. 3.1. Modeling languages In
this subsection, we will rst introduce the main issues about OCL,
QVT, and ATL languages, which will provide the foundation for the
denition of the metrics. 3.1.1. UML 2.0 Object Constraint Language
(OCL). OCL is a textual sublanguage of UML. It can be used to
express additional constraints on UML models that cannot be
expressed, or are difcult to express, with the graphical notations
provided by UML. OCL is based on rst-order predicate logic but it
uses a similar syntax of traditional programming languages and is
closely related to the syntax of UML (see [40]). Moreover, although
a pattern-based graphical notation for structural constraints
(whose semantics would typically be dened by declarative rst-order
logic) could appear more readable than a textual OCL expression,
OCL is more suitable for real-world modeling than pure rst-order
predicate logic because it is a standardized language with several
implementations available. Furthermore, OCL is also a pure
expression language, i.e. when an OCL expression is evaluated it
returns a value without secondary side effects. The OCL 2.0
specication has been developed in parallel with the UML 2.0
Infrastructure [8] and the MOF 2.0 Core [9] specications, thus all
share a common core. This specication contains a well-dened and
named subset of OCL that is dened purely based on the common core
of UML and MOF. This allows using that subset of OCL with both MOF
and UML; however, onlyCopyright q 2010 John Wiley & Sons, Ltd.
Softw. Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
795
Figure 3. Predened types of the OCL standard library.
Figure 4. QVT architecture.
UML can exploit the full specication [41]. It also denes a
Standard Library of predened expressions, types and their
operations, which must be included by every OCL implementation.
Figure 3 provides a global overview of these predened types (see
also [42]). In this work, we use OCL to dene queries over the
source models. These queries will also enable the denition of our
proposed set of metrics. 3.1.2. MOF 2.0 Query/View/Transformation
(QVT). The QVT standard [29] issued by OMG is composed of a set of
languages for dening queries and transformations over MOF-based
models. These languages are Core, Relations, and Operational
Mappings, in addition to OCL 2.0, which is employed for querying
models. The architecture of these three QVT languages is displayed
in Figure 4, which has been adapted from [43]. The QVT specication
has a hybrid nature (i.e. declarative/imperative), with the
declarative part subdivided into a two-layered architecture dened
by Core and Relations, respectively. As an analogy with the Java
architecture, the Relations language is considered analogous to the
high-level Java language, the Core language is the counterpart of
the Java bytecode, and the RelationsToCore transformations are the
equivalent to the Java compiler patterns. The Core language is as
powerful as the Relations language, with simpler semantics;
however, transformations dened with Core language are more verbose
[29]. All the QVT packages dened in the latest OMG specication [29]
depend on the EssentialOCL package from OCL 2.0, as well as EMOF
package from MOF 2 Core [9]. Figure 5 presents these package
dependencies from a diagrammatic point of view.Copyright q 2010
John Wiley & Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815
DOI: 10.1002/spe
796
J. B. TOLOSA ET AL.
Figure 5. QVT package dependencies.
The QVTBase package denes the common infrastructure for QVTCore
and QVTRelation. Furthermore, QVTRelation also depends on the
template pattern expressions dened in QVTTemplate package. In
addition, QVTOperational extends QVTRelation and uses the
imperative expressions dened in the ImperativeOCL intermediate
package from QVT. The Relations language is considered as the
end-user declarative language for model transformation with QVT,
providing the means to declare constraints that must be satised by
the elements of the candidate models. A relation [29], dened by two
or more model elements and a pair of when and where predicates,
species a relationship that must hold between the elements of the
candidate models. On the other hand, the Operational Mappings
language covers the explicit imperative part of QVT mappings. It
provides OCL extensions with side effects that allow a procedural
programming style and a concrete syntax that is more familiar for
imperative programmers [29]. 3.1.3. ATLAS Transformation Language.
ATL also provides both declarative and imperative constructs [44],
i.e. it is a hybrid language. Moreover, in parallel with QVT Core,
ATL programs can be compiled into bytecode for the ATL Virtual
Machine in order to be executed. An optional higher abstraction
layer over ATL is provided by the ATLAS Model Weaving (AMW) [27]
subproject inside Eclipse Modeling Project (EMP) [45]. Hence, the
ATL architecture can be organized in three layers. ATL is not
organized with packages and classes like other common
object-oriented meta-models. The root units of ATL are Modules,
Libraries, and Queries, which in turn have references to other
libraries. Their main constructs are Rules and Helpers, with other
subelements, such as Bindings, InPatterns, OutPatterns, and
OclExpressions. The imperative parts of ATL consist of groups of
ActionBlocks that are composed of different kinds of operational
Statements. The key constructs in ATL are the transformation rules,
and preferably the declarative ones, known as MatchedRules (see
Figure 6); however, it is sometimes difcult to provide a
completeCopyright q 2010 John Wiley & Sons, Ltd. Softw. Pract.
Exper. 2011; 41:789815 DOI: 10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
797
Figure 6. ATL rules.
Figure 7. ATL runtime architecture.
declarative solution for a concrete problem [12]. The concept of
helpers is taken from OCL [42], and they can be seen as decorators
of source models (target models are write-only at present). In
fact, ATL is based on QVT and build upon the OCL formalism [31],
which is extended with additional types and operations (e.g. Map).
For further reading about the abstract and concrete textual syntax
of ATL refer to Section 3 in [31] or to the ATL user manual [46],
which provide a deeper explanation of this language. ATL is not
only a model transformation language, but also a toolkit and a
library of transformations [4]. It provides mechanisms to produce a
set of target models from a set of source models within EMP. In
fact, it relies on Eclipse Modeling Framework (EMF) [6] as
meta-modeling management system; notwithstanding it also supports
NetBeans Metadata Repository (MDR) [47], as depicted in Figure 7
(see also [12]). The ATL compiler transforms ATL programs into
programs written in ATL bytecode, which are executed by the ATL
Virtual Machine. This VM is specialized in handling models and
provides a set of instructions for model manipulation. The Model
Handler Abstraction Layer isolates this VM from model management
systems, translating the bytecodes into the instructions of a
specic model handler, which provides several APIs for model
manipulation [48] (e.g. EMF and MDR). Finally, model repositories
provide persistence facilities for models. The simplest example of
a model repository is a le system that stores models as XML
serialized les conforming to the XMI standard [36], like in EMF
[6]. 3.1.4. Architectural alignment of QVT and ATL. The QVT
standard is proposed in the context of the MDA approach and aimed
at software development. Alternatively, the ATL requirements
evolved toward solving interoperability problems between TSs. Thus,
on the one hand, QVT operational context is based on MOF models,
mainly XMI-based transformations, supporting bidirectionalCopyright
q 2010 John Wiley & Sons, Ltd. Softw. Pract. Exper. 2011;
41:789815 DOI: 10.1002/spe
798
J. B. TOLOSA ET AL.
Table I. AMMDT: Absolute Metrics for Model-driven
Transformations.Acronym NAH NOH NOR NMR NCR NLR NIE NLV NOE NOB NAS
NAB Number Number Number Number Number Number Number Number Number
Number Number Number of of of of of of of of of of of of Full name
Attribute Helpers Operation Helpers Rules Matched Rules Called
Rules Lazy Rules InPattern Elements Local Variables OutPattern
Elements OutPattern Bindings ActionBlock Statements ActionBlock
Bindings Context Module Module Module Module Module Module
Module/Rule Module/Rule Module/Rule Module/Rule Module/Rule
Module/Rule
transformations. On the other hand, ATL deals with various kinds
of models expressed in different languages and technologies. From
the ATL point of view, QVT only solves transformational problems
within the OMG/MDA TS, while ATL provides technological projectors
for bridging TSs (see [43]). On a different plane, the
interoperability between QVT and ATL is proposed as transformations
between languages rather than through interpreters, because the
adaptation of the target engine may be too difcult, too expensive
or simply not possible in some cases [43]. 3.2. Metrics for ATL
transformation models In the following subsections, we present the
set of preliminary metrics proposed in this paper, which are one of
our rst contributions in this eld for the time being. These metrics
are described in natural language, as well as by OCL/ATL, in order
to be automatically applied by an OCL engine, like the ATL Virtual
Machine. This will assist in the extension, adaptation, and reuse
of these metrics in the future related works. These metrics are
grouped into two categories, attending to the value types that they
return. There are two possible denitions of metrics, one kind is
used for ATL modules, dened without context (i.e. starting with
helper def), and the other is used for ATL rules (i.e. starting
with helper context ATL!Rule def). 3.2.1. Absolute Metrics for
Model-driven Transformations. The AMMDT (Absolute Metrics for
Model-driven Transformations) category includes a set of 12
counting metrics for ATL modules and six related counting metrics
for the ATL rules (see Table I). These absolute metrics only count
the number of instances of each type of ATL construct. However,
although this set of metrics is presented as a rst-level metric
category, named AMMDT, they are mostly intended to assist in the
denition of other more complex metrics; e.g. the RMMDT (Relative
Metrics for Modeldriven Transformations) category presented in
Section 3.2.2. In some sense, the aim of this set of metrics is
very close to that of the FLAME (Formal Library for Aiding Metrics
Extraction) [49, 50]; but for assisting in the denition of metrics
for ATL transformation models, rather than for object-oriented
designs. As we will discuss in Section 6, due to the fact that
these metrics are tightly coupled to the architecture of ATL, they
still require to be extended and generalized to other model
transformation approaches with different language constructs.
Notwithstanding, this naive set of metrics could also be very
interesting for model versioning, assisting in the measurement of
the evolution of different versions of the same transformation
model. In fact, another parallel approach inside our research group
is aimed at continuous integration in MDE [51], which will be
supported in turn by dynamic transformation models and more
advanced model versioning techniques.Copyright q 2010 John Wiley
& Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
799
Figure 8. NAHNumber of Attribute Helpers.
Figure 9. NOHNumber of Operation Helpers.
Figure 10. NORNumber of Rules.
Figure 11. NMRNumber of Matched Rules.
Figure 12. NCRNumber of Called Rules.
3.2.1.1. NAHNumber of Attribute Helpers. The total number of
Attribute Helpers in an ATL module (Figure 8). 3.2.1.2. NOHNumber
of Operation Helpers. The total number of Operation Helpers in an
ATL module (Figure 9). 3.2.1.3. NORNumber Of Rules. The total
number of Rules in an ATL module (Figure 10). 3.2.1.4. NMRNumber of
Matched Rules. The total number of Matched Rules (i.e. declarative)
in an ATL module (Figure 11). 3.2.1.5. NCRNumber of Called Rules.
The total number of Called Rules (i.e. imperative) in an ATL module
(Figure 12). 3.2.1.6. NLRNumber of Lazy Rules. The total number of
declarative Lazy Rules in an ATL module (Figure 13). 3.2.1.7.
NIENumber of InPattern Elements. The total number of InPattern
Elements (i.e. declarative source constructs) in an ATL module or
an ATL rule (Figure 14). This metric always takes value zero for
Called Rules and it should take value one for Matched Rules (see
Figure 6);Copyright q 2010 John Wiley & Sons, Ltd. Softw.
Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe
800
J. B. TOLOSA ET AL.
Figure 13. NLRNumber of Lazy Rules.
Figure 14. NIENumber of InPattern Elements.
Figure 15. NLVNumber of Local Variables.
Figure 16. NOENumber of OutPattern Elements.
therefore, it can also be used to distinguish the type of rule
between called and matched, and the total number of matched rules
within an ATL module. 3.2.1.8. NLVNumber of Local Variables. The
total number of (read-only) Local Variables declared within an ATL
module or an ATL rule (Figure 15). 3.2.1.9. NOENumber of OutPattern
Elements. The total number of OutPattern Elements (i.e. declarative
target constructs) within an ATL module or an ATL rule (Figure 16).
3.2.1.10. NOBNumber of OutPattern Bindings. The total number of
OutPattern Bindings (i.e. declarative target assignments) within an
ATL module or an ATL rule (Figure 17).Copyright q 2010 John Wiley
& Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
801
Figure 17. NOBNumber of OutPattern Bindings.
Figure 18. NASNumber of ActionBlock Statements.
3.2.1.11. NASNumber of ActionBlock Statements. The total number
of ActionBlock Statements (i.e. imperative constructs) within an
ATL module or ATL rule (Figure 18). Composite statements are
measured recursively.Copyright q 2010 John Wiley & Sons, Ltd.
Softw. Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe
802
J. B. TOLOSA ET AL.
Figure 19. NABNumber of ActionBlock Bindings.
Table II. RMMDT: Relative Metrics for Model-driven
Transformations.Acronym ORF LRF OSF OBF GSF Full name Operational
Rules Factor Lazy Rules Factor Operational Statements Factor
Operational Bindings Factor Global Summary Factor Context Module
Module Module/Rule Module/Rule Module/Rule
3.2.1.12. NABNumber of ActionBlock Bindings. The total number of
ActionBlock Bindings (i.e. imperative target assignments) within an
ATL module or an ATL rule (Figure 19), which are also measured
recursively. 3.2.2. Relative Metrics for Model-driven
Transformations. The RMMDT category provides a set of ve relative
metrics for ATL modules and three related relative metrics for
their ATL rules (see Table II). This initial set of relative
factors is supported by the denition of the already
presentedCopyright q 2010 John Wiley & Sons, Ltd. Softw. Pract.
Exper. 2011; 41:789815 DOI: 10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
803
Figure 20. ORFOperational Rules Factor.
Figure 21. LRFLazy Rules Factor.
Figure 22. OSFOperational Statements Factor.
AMMDT (see Section 3.2.1). These relative quotients provide a
global and direct overview on the nature of each ATL module and/or
rule measured. The main objective of this category is to enable the
identication of the predominant class of constructs within an ATL
module or rule, assuming the fact that declarative constructs are
preferred in terms of compactness, maintainability, reusability,
intuitiveness of notation, inference possibilities, etc. (cf.
[1214]). Furthermore, we also consider that these relative metrics
could be very useful for novel ATL users, allowing them to obtain
an immediate and effective feedback about the quality of the models
that they are designing. According to our proposed metrics, this
quality represents the predominant use of declarative constructs,
trying to avoid the discouraged ones when possible [12, 46], such
as imperative or lazy rules, local variables, and imperative blocks
of statements. We have selected this preliminary set of relative
metrics because we consider that it is very important to evaluate a
small and specic proof-of-concept example before generalizing these
metrics to other model transformation tools. Moreover, we have also
obtained very promising insights regarding the viability of this
task, demonstrating that it is feasible to perform automatic
quantitative measurements of transformation models. We are aware of
the fact that our particular case only focuses on ATL;
nevertheless, this work should be considered as a rst attempt that
needs to be extended and generalized to other model transformation
approaches with different language constructs. 3.2.2.1.
ORFOperational Rules Factor. The quotient between the NCR
(imperative rules) and NOR (all rules) values of an ATL module
(Figure 20). It provides a percentage use of the imperative versus
declarative rules within an ATL module. 3.2.2.2. LRFLazy Rules
Factor. The quotient between the NLR (lazy declarative rules) and
NMR (total declarative rules) values of an ATL module (Figure 21).
It provides the use factor of the lazy versus not lazy declarative
rules within an ATL module. 3.2.2.3. OSFOperational Statements
Factor. The quotient between the NAS (imperative statements) and
the sum of NAS and NOE (total statements) values of an ATL module
or rule (Figure 22). It provides the use factor of the imperative
versus declarative statements within an ATL module or
rule.Copyright q 2010 John Wiley & Sons, Ltd. Softw. Pract.
Exper. 2011; 41:789815 DOI: 10.1002/spe
804
J. B. TOLOSA ET AL.
Figure 23. OBFOperational Bindings Factor.
Figure 24. GSFGlobal Summary Factor.
3.2.2.4. OBFOperational Bindings Factor. The quotient between
the NAB (imperative bindings) and the sum of NAB and NOB (total
bindings) values of an ATL module or rule (Figure 23). It provides
the use factor of the imperative versus declarative assignments
within an ATL module or rule. 3.2.2.5. GSFGlobal Summary Factor.
This factor (Figure 24) provides an overview of an ATL module
through this quotient: (NORNCRNLR)+(NOE NLV NAS)+(NOBNAB) NOR+NOE
+NOB On the other hand, the quotient for an ATL rule is (NOE NLV
NAS)+(NOBNAB) NOE +NOB (2) (1)
The range of values goes from one for highly declarative
transformation denitions, to zero (or even under zero) for
debatable designs. As we have mentioned before, in this scenario,
we search for the predominant use of declarative constructs, trying
to avoid the discouraged ones (cf. [1214]), such as imperative or
lazy rules, local variables, and imperative blocks of statements.
In Equations (1) and (2), the values of the numerator are grouped
within parenthesis. These groups are related to the individual
values that appear in the denominator one by one. Thus, if all the
Rules (NOR) of a module are simple Matched Rules (NMR ) and has
neither Local Variables (NLV), nor ActionBlock Statements (NAS),
nor ActionBlock Bindings (NAB); then, it gets a value of 1 in this
factor.
The NMR value is equivalent to NORNCR. 2010 John Wiley &
Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
Copyright q
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
805
Figure 25. Pattern for ATL2Measure meta-transformation.
Nevertheless, this is still a rst step towards the systematic
measurement of the quality factors of a transformation model.
Therefore, it requires further experimentation and research to
discuss which are the most relevant factors to take into account,
and how they should be weighted. 3.3. Orchestration of ATL
transformations for metric measurement As a complementary
contribution, we have also designed two advanced ATL transformation
models. The source code and further details about the architecture
of the proposed system can be found in [18]. On the one hand, we
have dened a meta-transformation, namely ATL2Measure, which
includes all the metric helpers dened in the previous section. This
ATL transformation has been mainly adapted from the ATL
transformations UML2Measure and KM32Measure, available at the ATL
use case entitled Models Measurement [38]. Our proposed
meta-transformation gets an ATL model as input, providing a model
conforming to the Measure meta-model as output, which includes the
values of the metrics for the ATL module/model and all its rules
(see Figure 25). The Measure meta-model was also slightly extended
from the already mentioned ATL use case [38], in order to cover our
custom requirements for ATL models (see [18] for further details).
On the other hand, we have also dened from scratch a rening
transformation, namely MeasureMerge, which is mainly in charge of
joining the top-level results of two Measure models, i.e. it merges
only the metric values for the ATL modules, discarding those of the
specic ATL rules (see Figure 26). This transformation had allowed
us to perform a preliminary comparative study among several ATL
transformation models, described throughout Section 4. The most
important point is that instead of designing an atomic and
hard-to-maintain model, we have followed the ATL guidelines,
providing several partial transformations. Each of these
transformations is responsible for a single concern. Moreover, most
of these transformations have been directly reused from other
already developed ATL use cases [4], as done in the Models
Measurement use case. Among others, we have reused Measure2XHTML,
Measure2Table, Table IISVGBarChart, SVG2XML, etc. The reuse of
these transformation models supports the assertion that models and
transformation models are easily reusable artifacts in MDE. In this
regard, as an example, the bar charts presented in Section 4 (see
Figures 27 and 28) have been automatically generated by this chain
of transformations. We have also developed an ANT script [52] to
generate the complete set of end-user models (e.g. see Figures 27
and 28) from one unique ATL source model or from the composition of
a set of source models (by providing a directory path). This script
requires the ANT tasks for ATL, provided by the AM3 project [53],
and the ANT-Contrib library, which provides a new collection of
tasks for ANT (e.g. if, foreach, etc). An alternative to this ANT
approach could be designedCopyright q 2010 John Wiley & Sons,
Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe
806
J. B. TOLOSA ET AL.
Figure 26. Pattern for MeasureMerge rening transformation.
with the set of Java libraries for ATL and EMF; however, we have
decided to use the ANT solution because it could be managed as an
XML model in future versions, following the MDE vision. 3.4.
Related modeling metrics Some of the already identied potential
extension points for our metrics (see Section 6) are the
measurement of inheritance, coupling, effectiveness, and other
quality factors, as seen in Metrics for Object-Oriented Design
(MOOD [54] and MOOD2 [55]), Metrics for Object-Oriented Software
Engineering (MOOSE [56] and EMOOSE [57]), and Quality Metrics for
Object-Oriented Design (QMOOD [58]). These metrics have been dened
with OCL constructs through the FLAME library [49]. In addition to
this, these OCL denitions have been integrated into an available
ATL use case entitled Models Measurement [38], which is the
reference implementation of our proposed approach. The FLAME
library was designed to support the calculation of different sets
of object-oriented metrics, mainly based on UML. Actually, its rst
release [50] provides OCL denitions of MOOD, MOOD2, MOOSE, EMOOSE,
and QMOOD over UML models. It also provides more than 50 OCL-based
functions, with different kinds of return types, like Integers,
Booleans, Percentages, and Collections. Furthermore, there are many
other UML-based measurement approaches, as the one proposed in
[59], which focuses on several complexity metrics of the syntactic,
semantic, and interaction properties. In our case, although we
mainly focus on ATL transformation models, these other
object-oriented metrics have assisted us in the design and denition
of our proposal. Additionally, there also exist other complementary
research trends aimed at the measurement of model transformation
tools in general. In this regard, Varr et al. [60] proposed the rst
approach o related to performance benchmarks for these kinds of
tools. These benchmarks were aimed at the quantitative comparison
of the performance of graph transformation tools by identifying
their main features. They also dened a collection of parameter
settings and optimization possibilities for different tools and
test cases. In contrast, our approach is aimed at measuring the
quality of the transformation models rather than the tools
themselves. Moreover, the benchmarks proposed by Varr et al. were
also limited to a small set of tools, o including AGG, PROGRES,
FUJABA, and a DB-based one (by issuing join-based queries for
pattern matching). The primary aim in selecting these tools was to
include those with essentially different pattern matching
strategies and heterogeneous execution environments. The main
conclusion presented by the authors is that these tools need more
efcient techniques for the processing ofCopyright q 2010 John Wiley
& Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
807
Figure 27. AMMDT comparative bar charts.
Copyright q
2010 John Wiley & Sons, Ltd.
Softw. Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe
808
J. B. TOLOSA ET AL.
Figure 28. RMMDT comparative bar charts.
multiple matchings, in situations where the straightforward
parallel matching approach no longer works [60]. In fact, this
issue is closely related with ATL declarative rules, also known as
Matched Rules, because they require a preprocessing matching phase,
which is a crucial aspect related to the performance of these
models. Finally, there also exists a series of contests aimed at
assessing the expressiveness, the usability and the performance of
graph transformation tools. The rst contest [61] was carried out as
part of the AGTIVE 2007 symposium, consisting of two rounds: the
rst round was a call for cases and the second round was a call for
solutions. The aim of these events is to compare graph and model
transformation tools along a number of selected case studies, i.e.
to learn about the pros and cons of each tool considering different
applications. Hence, a deeper understanding of the relative merits
of different tool features will help to improve those tools and to
indicate open problems. Owing to the good response to the rst
edition, the contest has been repeated every year. In 2008, it was
located as a satellite event of ICGT [62], under the name of the
Graph-Based Tools (GraBaTs) contest, in 2009, as a satellite event
of TOOLS [63], and from 2010 onwards as a conventional workshop at
ICGT, renamed as Transformation Tool Contest (TTC) [64], inside the
TOOLS conference series. A straightforward connection between our
proposed metrics and this series of contests could be achieved by
generalizing and extending our metrics to all major transformation
languages. This would allow evaluating the proposed solutions
w.r.t. global metrics, which could act as an additional comparison
tool among solutions developed with different transformation
languages.
4. MEASUREMENT RESULTS This section presents the measurement
results collected through the application of our proposed metrics
over a set of TS bridges, which are available as ATL
transformations at the ATL Library [4]. These transformation models
provide partial interoperability among Ecore [6], UML [8], MOF [9],
KM3 [10], and Microsoft DSL Tools [11].Copyright q 2010 John Wiley
& Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
809
Owing to length constraints, we have intentionally omitted a
deeper description of the ATL constructs. Therefore, we limit
ourselves to a presentation of the basic concepts in Section 3.1.3.
and refer the interested reader to the original publications [12,
31, 48, 46]. For the same reason, we do not provide a complete
description of the TS bridges that are evaluated in this section,
assuming that readers have, at least, a basic notion of ATL
constructs. This basic understanding could be required to
understand some minor interpretations posed in Section 4.2.
Nevertheless, the description and source code for these TS bridges
and other ATL use cases are available at [4]. 4.1. Comparative of
TS bridges The collected results provide quantitative measurements
of the declarative and imperative constructs of the evaluated
transformations, as well as their relative quality factors (in
terms of our proposed metrics). In addition, all the top-level
results extracted from these transformations are merged into one
unique model through a rening transformation model named
MeasureMerge (see Section 3.3). The resulting merged model assists
in performing a comparative study among them, whose results are
presented throughout this section. 4.2. Interpretation We have
evaluated these results assuming the fact that transformation rules
dened in a more formal way provide better foundations for
reusability, portability, composition, and even inference of
transformation models [1214]. Hence, declarative constructs are
preferred because they are closer to strictly formal constructs
than imperative ones. Nevertheless, the results and interpretations
presented all over this section should only be considered as a rst
approach towards a global measurement framework for meta-modeling
technologies and related transformation models, like the TS bridges
that have been measured in this paper. Moreover, regarding the use
of ATL constructs, in [12] the authors also assert that: as long as
lazy rules and called rules are not used, the execution algorithm
terminates and is deterministic. Although the order of execution of
rules is non-deterministic, different execution orders produce the
same result for a given source model. This is a consequence of the
fact that source models are read-only: the execution of a rule
cannot change the set of matches. In addition, target models are
write-only: the initialization of a target element cannot impact
the initialization of another. Hence, our metrics are supported by
these assumptions and thereby our interpretation of these results
is driven by them. The most direct observation from the already
presented tables and charts is that this set of TS bridges relies
on highly declarative ATL rules and modules. Actually, the GSF
value for all these transformation models is always over 75% (check
GSF in Table IV and Figure 28(e)). In fact, apart from UML2KM3, all
of them beat 90% and most of them even reach 100%, i.e. they use
neither imperative nor lazy constructs at all. The Ecore2KM3 and
UML2KM3 transformations require the use of some imperative
constructs (check NCR, NAS, and NAB in Table III and Figure 27, as
well as ORF, OSF, and OBF in Table IV and Figure 28). However,
there are no Lazy Rules in any of the transformations measured
(check
Table III. AMMDT comparative results.ATL module DSL2KM3
Ecore2KM3 KM32DSL KM32Ecore KM32MOF MOF2KM3 MOF2UML UML2KM3
UML2MOFCopyright q
NAH 0 1 5 0 0 5 4 6 0
NOH 3 0 13 1 5 3 7 0 7
NOR 9 10 8 10 11 10 11 13 12
NMR 9 9 8 10 11 10 11 11 12
NCR 0
NLR 0 0 0 0 0 0 0 0 0
NIE 9 9 8 10 11 10 11 11 12
NLV
NOE 12 10 12 10 16 11 23 13 13
NOB 50 30 82 39 88 43 171 17 114
NAS 0
NAB 0
10 0 0
10 0 0 0 0
10 0 0 0 0
10 0 0 0 0
3 10 0
20
70
10
3
2010 John Wiley & Sons, Ltd.
Softw. Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe
810
J. B. TOLOSA ET AL.
Table IV. RMMDT comparative results.ATL module DSL2KM3 Ecore2KM3
KM32DSL KM32Ecore KM32MOF MOF2KM3 MOF2UML UML2KM3 UML2MOF ORF (%) 0
10 0 0 0 0 0 15.3 0 LRF (%) 0 0 0 0 0 0 0 0 0 OSF (%) 0 9 0 0 0 0 0
35 0 OBF (%) 0 3.2 0 0 0 0 0 5.5 0 GSF (%) 98.5 94 100 100 97.3
98.4 100 76.7 97.8
NLR and LRF values), and therefore this assures that there are
no mutually circular references, which could cause non-termination
[12]. Specically, in Ecore2KM3, there exists a single imperative
rule (the so-called entrypoint rule in ATL) required to initialize
the Metamodel root element for KM3, because there is no
corresponding root element in Ecore. The presence of this rule
decreases its GSF to 94%. As in the inverse transformation
KM32Ecore this problem is not present, therefore it reaches the
100% for GSF. On the other hand, in UML2KM3, there are two
secondary imperative rules to manage the correlations between UML
and KM3 types through a Map collection. The presence of these two
rules, in addition to other discouraged constructs, produce a huge
impact on the GSF of this transformation, decreasing it to 76.7%.
The rest of the problems are mainly caused by the declaration of
read-only local variables within module rules (check NLV values in
Table III and Figure 27(h)), which affects the reusability of these
constructs. However, these local variables could be replaced by
module helpers (see [58]) in order to reuse them in other
scenarios, enabling to leverage the GSF of the respective
transformation. 4.3. Discussion Despite the fact that our proposed
metrics need further efforts in terms of research and development,
we foresee that through their application it could be feasible to
discover many tentative points for optimizing the specication of
ATL transformation modules and rules. Some examples are the
replacement of read-only local variables by attribute helpers or
the avoidance of imperative constructs in general. Hence, a novel
user of ATL could obtain a real benet from the application of these
metrics, allowing him to identify what fragments of the
transformation models can be tentatively adapted to be more
declarative, if the problem really allows these kinds of changes.
As already mentioned, the results obtained suggest that these TS
bridges are highly optimized transformation models, mainly
developed following the recommended guidelines from the ATL User
Manual [58], with a clear predominance of declarative constructs
over imperative ones. However, this is not always the pattern
followed in the use cases of the ATL Library [4]. Therefore, this
opens a huge eld of research towards the fully automated,
rule-based translation of imperative specication constructs into
declarative ones. The problem arises from the fact that on the
specication level it is easier to translate from declarative into
imperative rules, rather than vice versa [35]. Furthermore, since
ATL is only a single example among model transformation tools, the
relevance of presented concepts and results for the broader
community is restricted because the selected metrics are tightly
coupled to the architecture of ATL.
5. CONCLUSIONS The main contributions of this paper are
Extensible denition of metrics for ATL transformation
modelsCopyright q 2010 John Wiley & Sons, Ltd. Softw. Pract.
Exper. 2011; 41:789815 DOI: 10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
811
A proof-of-concept ATL meta-transformation: ATL2Measure A
secondary ATL rening transformation: MeasureMerge Measurement
results and discussion over several TS bridges designed with ATL.
As Ludewig states in [65], endless discussions have proven that
there is no consistent common understanding of models. Therefore,
due to the inherent complexity of the principles and concepts
exposed in this paper, it is very easy to get lost in the
conceptual layers presented. In this regard, we consider that it is
essential to understand the correlation between models and
meta-models, as well as the role of both of them in transformation
models and transformation patterns. Moreover, Seidewitz claims [21]
that the top meta-layers of modeling approaches may improve or
extend their formal features in order to reach a better
infrastructure for inference or deduction engines. Actually, many
other traditional scientic disciplines assume the fact that formal
indicates the importance of form over meaning; hence the deduction
system is considered more important than any meaning the statements
might have (e.g. formal mathematics). Through the adoption of
formal specications, we expect to raise the potential of the
theories and semantics that support each modeling meta-layer. This
will assist in increasing the abstraction and adaptability of the
operations aimed at predictability and validation of models, as
well as better foundations for deduction or inference engines, even
domain-specic ones. These domains could cover business processes,
production chains, graph theory, mathematical models for
algorithms, pattern-based refactoring, and many others.
Furthermore, these formal specications should be supported by the
co-existence of independent model instances for specic
responsibilities; i.e. models can be the integration of several
submodels (e.g. for data structure, semantic rules, and
visualization, among others). Consequently, composed models could
conform to diverse self-reliant meta-models at the same time. The
generalization of this principle to the upper meta-layers assists
in the interoperability of available meta-models for complementary
concerns. Moreover, such improved interoperability among
meta-models also supports multiple-syntax modeling languages,
conforming to semantically aligned meta-models. In Section 4, we
have presented the rst results extracted from the application of
our proposed metrics over a small set of model-driven
transformations developed with ATL. These results suggest that it
is feasible to perform automatic transformations over
transformation models (i.e. metatransformations). For that matter,
we assume that there are many open research trends towards complete
management, validation, optimization, and inference of TS bridges
between complementary meta-modeling technologies.
6. FUTURE WORK We are working at present on a transformation
toolkit to support meta-transformations in order to enable the
interoperability of meta-models that are already being applied in
state-of-the-art MDE solutions. In this regard, we have identied
the following research trends for the time being: Inference of TS
bridges and mirrored meta-models, providing inference features to
transform XML Schemas (or even a set of related XML instances) into
Ecore meta-models and to generate the corresponding TS bridges
automatically. Development of a generic meta-modeling environment,
supporting all meta-layers, and compatible with the more relevant
meta-modeling approaches. Improvement of the proposed metrics and
transformations, adding support for alternative transformation
languages and extending the available metrics. The independence of
source and target meta-models for transformation models should
provide better support for automatic inference of transformation
models between models and meta-models. Furthermore, as these
transformation models can be managed as instance models, it is
feasible to perform transformations of transformation models,
offering extended reusability and composition features. This can
also be assisted through an improvement of the formal features of
languageCopyright q 2010 John Wiley & Sons, Ltd. Softw. Pract.
Exper. 2011; 41:789815 DOI: 10.1002/spe
812
J. B. TOLOSA ET AL.
syntax and semantics in order to achieve more powerful and
effective foundations for inference engines and graph-based
transformations, as requested in [12]. This transformation toolkit
should establish the operational basis toward a generic editor for
model-agnostic visual modeling, supporting all meta-layers. Such an
editor will rely on metamodels as input ports for TS bridge
inference. It should also offer composition of models conforming to
several complementary meta-models to get a correct Separation of
Concerns (SoC), like in partial classes of programming languages.
This co-existence of models should enable developers to integrate
more semantic features into modeling languages that suffer from
lack of such semantics. One possible scenario could apply UML as
meta-model for object-oriented design, RDF [66] for resource
description, and OWL [67] for inferences about the composite model.
Alternative use cases include the denition of test units for
transformation models, and even for metrics measurement.
Furthermore, by means of this transformation toolkit it should be
possible to orchestrate transformation workows, both visually and
textually, e.g. with the support of openArchitectureWare workows
[68]. On other matters, ATL also enables the denition of injectors
and extractors from textual syntax through Textual Concrete Syntax
(TCS) [69]. TCS provides a bridge between two well-dened TSs: EBNF
grammars (Extended BNF) and Ecore models. TCS also provides the
concrete syntax of several core languages, such as KM3, ATL, and
TCS itself. It also enables the denition of the concrete syntax of
other Domain-specic Languages (DSL) [70]. These additional features
could be compared or bridged in turn with other recent approaches,
as LPEG [71], which proposes a text pattern-matching tool based on
Parsing Expression Grammars (PGE). Moreover, DSLs usually suffer
from lack of debugging features, thus other recent approaches are
also aimed at providing these kinds of tools for DSLs [72].
Finally, we also assume that our proposed metrics must go through a
period of review, validation, and redesign in order to get a
complete and language-independent measuring solution for
transformation models. Some of the already remarked potential
extension points are the measurement of inheritance, coupling,
effectiveness, and other quality factors, as seen in MOOD [54],
MOOD2 [55], MOOSE [56], EMOOSE [57], and QMOOD [58]. Furthermore,
there are many other measuring approaches based on UML, as the one
proposed in [59], which focuses on several complexity metrics of
the syntactic, semantic, and interaction properties. Some of these
approaches even apply advanced rening techniques over model-driven
measures in order to adjust their effectiveness [73]. A
straightforward study related with this work would entail the
validation of the proposed metrics [74]. In this regard, recent
proposals [75] have used both theoretical as well as empirical
validation methods, taking into account ve possible quality factors
of software: functionality, effectiveness, understandability,
reusability, and maintainability. We want to emphasize that we have
designed only a preliminary set of metrics because we consider that
it is very important to evaluate a small and specic
proof-of-concept example before generalizing these metrics to other
model transformation tools. In fact, one point of further
development is to enable the evaluation of helpers, which is not
addressed in this proposal yet. Moreover, we also consider that
this work provides very promising insights regarding the viability
of quantitative measurement of transformation models, demonstrating
that it is feasible to perform it by an automated MDE process. In
addition to this, as this task is in turn achieved through an ATL
meta-transformation, it also shows the viability and usefulness of
these kinds of transformations within ATL. In this regard, we are
aware of the fact that our particular case focuses only on
measuring ATL models. Nevertheless, this work should be considered
as a rst attempt that needs to be extended and generalized to other
model transformation approaches with different language constructs,
which can be in turn measured with ATL or any other transformation
language.
ACKNOWLEDGEMENTS
This work was supported in part by the Spanish Ministry of
Science and Innovation (MICINN), under FPI grant BES-2009-027102
(associated to research project TIN2008-06247); and by the Regional
Ministry of Education and Science (Government of the Principality
of Asturias), under Severo Ochoa grant BP09033.Copyright q 2010
John Wiley & Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815
DOI: 10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
813
REFERENCES 1. B zivin J, B ttner F, Gogolla M, Jouault F, Kurtev
I, Lindow A. Model transformations? transformation models! e u
Model Driven Engineering Languages and Systems (Lecture Notes in
Computer Science, vol. 4199). Springer: Berlin, 2006; 440453. 2.
Varr D, Pataricza A. Generic and meta-transformations for model
transformation engineering. Proceedings of o the Seventh
International Conference on the UML 2004The Unied Modeling
Language, Modeling Languages and Applications (Lecture Notes in
Computer Science, vol. 3273), Lisbon, Portugal. Springer:
Heidelberg, 2004; 290304. 3. Balogh A, Varr D. Advanced Model
Transformation Language Constructs in the VIATRA2 Framework, Dijon,
o France, April 2006; 12801287. DOI: 10.1145/1141277.1141575. 4.
ATL Library. Available at:
http://www.eclipse.org/m2m/atl/atlTransformations/ [4 May 2009]. 5.
Extensible Markup Language (XML) 1.0 (5th edn). Available at:
http://www.w3.org/TR/2008/REC-xml-20081126/ [5 May 2009]. 6.
Steinberg D, Budinsky F, Paternostro M, Merks E. EMF: Eclipse
Modeling Framework (2nd edn). Addison-Wesley: Boston, 2008. ISBN:
0321331885. 7. DeMarco T. Controlling Software Projects:
Management, Measurement, and Estimates. Prentice-Hall: Englewood
Cliffs, U.S.A., 1986. ISBN: 0131717111. 8. UML 2.2 Infrastructure.
Available at: http://www.omg.org/docs/formal/09-02-04.pdf [30 April
2009]. 9. MOF 2.0 Core Specication. Available at:
http://www.omg.org/docs/formal/06-01-01.pdf [2 February 2009]. 10.
Jouault F, B zivin J. KM3: A DSL for metamodel specication.
Proceedings of Eighth IFIP International e Conference on Formal
Methods for Open Object-based Distributed Systems (Lecture Notes in
Computer Science, vol. 4037). Springer: Berlin, 2006; 171185. 11.
Cook S, Jones G, Kent S, Wills AC. Domain-specic Development with
Visual Studio DSL Tools. Addison-Wesley: Boston, 2007. ISBN:
0321398203. 12. Jouault F, Allilaire F, B zivin J, Kurtev I. ATL: A
model transformation tool. Science of Computer Programming e 2008;
72(12):3139. DOI: 10.1016/j.scico.2007.08.002. 13. Jouault F,
Kurtev I. On the interoperability of model-to-model transformation
languages. Science of Computer Programming 2007; 68(3):114137. DOI:
10.1016/j.scico.2007.05.005. 14. Taentzer G, Ehrig K, Guerra E, De
Lara J, Lengyel L, Levendovszky T, Prange U, Varro D, Varro-Gyapay
S. Model transformations by graph transformations: A comparative
study. Proceedings of the Workshop on Model Transformation in
Practice at MoDELS 2005, Montego Bay, Jamaica, 2005. DOI:
10.1.1.97.2827. 15. Garca-Daz V, Tolosa JB, G-Bustelo B,
Palacios-Gonz lez E, Sanjuan-Martnez O, Crespo R. TALISMAN a MDE
framework: An architecture for intelligent model-driven
engineering. Distributed Computing, Articial Intelligence,
Bioinformatics, Soft Computing, and Ambient Assisted Living
(Lecture Notes in Computer Science, vol. 5518). Springer: Berlin,
2009; 299306. 16. Kurtev I, B zivin J, Aksti M. Technological
spaces: An initial appraisal. Proceedings of the International e
Conference on Cooperative Information Systems (CoopIS), DOA2002
Federated Conferences, Industrial Track, Irvine, U.S.A., November
2002; 16. DOI: 10.1.1.109.332. 17. Tolosa JB, Garca-Daz V, Sanju
n-Martnez O, Fern ndez-Fern ndez H, Garca-Fern ndez G. Towards
meta-model a a a a interoperability of models through intelligent
transformations. Distributed Computing, Articial Intelligence,
Bioinformatics, Soft Computing, and Ambient Assisted Living
(Lecture Notes in Computer Science, vol. 5518). Springer: Berlin,
2009; 315322. 18. Tolosa JB. A new approach for meta-model
interoperability through transformation models. Masters Thesis,
University of Oviedo, Department of Computer Science, June 2009.
Available at: http://purl.oclc. org/josebarranquero/masterthesis/
[5 June 2009]. 19. France R, Rumpe B. Model-driven development of
complex software: A research roadmap. Proceedings of the Workshop
on the Future of Software Engineering (FOSE07) at ICSE07,
Minneapolis, U.S.A., May 2007; 3754. 20. MDA Guide Version 1.0.1.
Available at: http://www.omg.org/docs/omg/03-06-01.pdf [1 March
2009]. 21. Seidewitz E. What models mean. IEEE Software 2003;
20(5):2632. DOI: 10.1109/MS.2003.1231147. 22. Mellor S, Scott K,
Uhl A, Weise D. MDA Distilled: Principles of Model-Driven
Architecture. Addison-Wesley: Redwood City, 2004. ISBN: 0201788918.
23. Schmidt DC. Guest editors introduction: Model-driven
engineering. IEEE Computer 2006; 39(2):2531. DOI:
10.1109/MC.2006.58. 24. Varr D, Pataricza A. VPM: A visual, precise
multilevel metamodeling framework for describing mathematical o
domains UML (The Mathematics of Metamodeling is Metamodeling
Mathematics). Software and Systems Modeling 2003; 2(3):187210. DOI:
10.1007/s10270-003-0028-8. 25. Van Gorp P. Model-driven development
of model transformations. PhD Thesis, University of Antwerp,
Department of Mathematics and Computer Science, April 2008.
Available at: http://www.solidus.be/ ext/
les/VanGorp2008PhDthesis.pdf. [23 March 2009]. 26. Favre J, Towards
a basic theory to model model driven engineering. Proceedings of
the Third UML Workshop in Software Model Engineering (WiSME 2004),
Lisbon, Portugal, October 2004. DOI: 10.1.1.58.7738. 27. Fabro MDD,
B zivin J, Valduriez P. Weaving models with the eclipse AMW plugin.
Proceedings of Eclipse e Modeling Symposium (Eclipse Summit Europe
2006), Esslingen, Germany, October 2006. DOI: 10.1.1.100.7255.
Copyright q 2010 John Wiley & Sons, Ltd. Softw. Pract. Exper.
2011; 41:789815 DOI: 10.1002/spe
814
J. B. TOLOSA ET AL.
28. Lin Y, Gray J, Zhang J, Nordstrom S, Gokhale A, Neema S,
Gokhale S. et al. Model replication: Transformations to address
model scalability. Software: Practice and Experience 2008;
38(14):14751497. DOI: 10.1002/spe.876. 29. MOF 2.0
Query/View/Transformation 1.0. Available at:
http://www.omg.org/docs/formal/08-04-03.pdf [2 February 2009]. 30.
Czarnecki K, Helsen S. Classication of model transformation
approaches. Proceedings of the Second OOPSLA Workshop on Generative
Techniques in the Context of the Model Driven Architecture,
California, U.S.A., 2003. DOI: 10.1.1.131.6773. 31. B zivin J, Dup
G, Jouault F, Pitette G, Rougui JE. First experiments with the ATL
model transformation language: e e Transforming XSLT into XQuery.
Proceedings of the Second OOPSLA Workshop on Generative Techniques
in the Context of the Model Driven Architecture, California,
U.S.A., October 2003. DOI: 10.1.1.129.6724. 32. Lawley M, Steel J.
Practical declarative model transformation with Tefkat. Proceedings
of MoDELS Satellite Events 2005 (Lecture Notes in Computer Science,
vol. 3844). Springer: Berlin, 2006; 139150. 33. Christoph A.
Describing horizontal model transformations with graph rewriting
rules. Model Driven Architecture (Lecture Notes in Computer
Science, vol. 3599). Springer: Berlin, 2005; 93107. 34. Taentzer G.
AGG: A graph transformation environment for modeling, validation of
software. Applications of Graph Transformations with Industrial
Relevance (Lecture Notes in Computer Science, vol. 3062). Springer:
Berlin, 2004; 446453. 35. XSL Transformations (XSLT). Available at:
http://www.w3.org/TR/xslt [19 January 2009]. 36. MOF 20 XMI Mapping
2.1.1. Available at: http://www.omg.org/docs/formal/07-12-01.pdf
[30 April 2009]. 37. Dong J, Zhao Y, Sun Y. XSLT-based evolutions
and analyses of design patterns. Software: Practice and Experience
2009; 39(8):773805. DOI: 10.1002/spe.914. 38. ATL Use Cases: Models
Measurement. Available at: http://www.eclipse.org/m2m/atl/usecases/
ModelsMeasurement/ [6 April 2009]. 39. Kleppe AG, Warmer J, Bast W.
MDA Explained: The Model Driven Architecture: Practice and Promise.
AddisonWesley: Boston, 2003. ISBN: 032119442X. 40. OCL Portal: The
center for OCL related information. Available at:
http://www-st.inf.tu-dresden.de/ocl/ [29 April 2009]. 41. Object
Constraint Language 2.0. Available at:
http://www.omg.org/docs/formal/06-05-01.pdf [2 February 2009]. 42.
UML 2.0 OCL Specication. Available at:
http://www.omg.org/docs/ptc/03-10-14.pdf [2 February 2009]. 43.
Jouault F, Kurtev I. On the architectural alignment of ATL and QVT.
Proceedings of the 2006 ACM Symposium on Applied Computing, Dijon,
France, 2006; 11881195. DOI: 10.1145/1141277.1141561. 44. Allilaire
F, B zivin J, Jouault F, Kurtev I. ATL: Eclipse support for model
transformation. Proceedings of the e Eclipse Technology eXchange
Workshop (eTX) at ECOOP 2006, Nantes, France, July 2006. DOI:
10.1.1.100.3340. 45. Gronback RC. Eclipse Modeling Project: A
Domain-Specic Language (DSL) Toolkit. Addison-Wesley: Boston, 2009.
ISBN: 0321534077. 46. ATL User Manual (v0.7). Available at:
http://www.eclipse.org/m2m/atl/doc/ [9 March 2009]. 47. NetBeans
Metadata Repository. Available at:
http://mdr.netbeans.org/MDR-whitepaper.pdf [4 June 2009]. 48.
Jouault F, Kurtev I. Transforming models with ATL. Proceedings of
MoDELS Satellite Events 2005 (Lecture Notes in Computer Science,
vol. 3844). Springer: Berlin, 2006; 128138. 49. Baroni AL, Abreu F.
A formal library for aiding metrics extraction. Proceedings of the
Fourth International Workshop on Object-Oriented Re-Engineering
(WOOR 2003) at ECOOP 2003, Darmstadt, Germany, 2003. DOI:
10.1.1.66.305. 50. Baroni AL. Formal denition of object-oriented
design metrics. Masters Thesis, Vrije Universiteit Brussel, Faculty
of Sciences (in collaboration with Ecole des Mines de Nantes and
Universidade Nova de Lisboa), 2002. Available at:
http://ctp.di.fct.unl.pt/QUASAR/Resources/Papers/2002/ThesisAline.pdf
[17 February 2009]. 51. Garca-Daz V. Integraci n Continua en la
Ingeniera Dirigida por Modelos (continuous integration in
model-driven o engineering). Masters Thesis, Department of Computer
Science, University of Oviedo, June 2009. 52. The Apache Ant
Project. Available at: http://ant.apache.org/ [25 September 2010].
53. Eclipse Generative Modeling Technologies Project (GMT).
Available at: http://www.eclipse.org/gmt/ [19 May 2009]. 54. Abreu
F. Metrics for object oriented software development. Proceedings of
the Third International Conference on Software Quality, Nevada,
U.S.A., 1993; 6775. 55. Abreu F, Cuche J. Collecting analyzing the
MOOD2 metrics. Proceedings of the Worshop on Object-Oriented
Products Metrics for Software Quality Assessment at ECOOP98,
Brussels, Belgium, 1998; 258260. 56. Chidamber SR, Kemerer CF.
MOOSE: Metrics for Object Oriented Software Engineering.
Proceedings of the Workshop on Processes and Metrics for
Object-Oriented Software Development at OOPSLA93, Washington DC,
U.S.A., 1993. 57. Li W, Henry S, Kafura D, Schulman R. Measuring
object-oriented design. Journal of Object-Oriented Programming
1995; 8(4):4855. 58. Bansiya J, Davis C. A hierarchical model for
object-oriented design quality assessment. IEEE Transactions on
Software Engineering 2002; 28(1):417. DOI: 10.1109/32.979986. 59.
Mahmood S, Lai R. A complexity measure for UML component-based
system specication. Software: Practice and Experience 2008;
38(2):117134. DOI: 10.1002/spe.769. 60. Varr G, Sch rr A, Varr D.
Benchmarking for graph transformation. Proceedings of the 2005 IEEE
Symposium o u o on Visual Languages and Human-Centric Computing
(VL/HCC05), Dallas, TX, U.S.A., 2005; 7988. Copyright q 2010 John
Wiley & Sons, Ltd. Softw. Pract. Exper. 2011; 41:789815 DOI:
10.1002/spe
TOWARDS THE SYSTEMATIC MEASUREMENT OF ATL MODELS
815
61. Rensink A, Taentzer G. AGTIVE 2007 Graph Transformation Tool
Contest. Applications of Graph Transformations with Industrial
Relevance (Lecture Notes in Computer Science, vol. 5088). Springer:
Heidelberg, 2008; 487492. 62. Rensink A, Van Gorp P. Graph-based
tools: The contest. Graph Transformations (Lecture Notes in
Computer Science, vol. 5214). Springer: Heidelberg, 2008; 463466.
63. GraBaTs 2009: Graph-based tool contest. Available at:
http://is.ieis.tue.nl/staff/pvgorp/events/grabats2009/ [20 March
2010]. 64. TTC 2010: Transformation Tool Contest. Available at:
http://is.ieis.tue.nl/staff/pvgorp/events/TTC2010/ [20 March 2010].
65. Ludewig J. Models in software engineering: An introduction.
Software and Systems Modeling 2003; 2(1):514. DOI:
10.1007/s10270-003-0020-3. 66. Resource Description Framework (RDF)
Primer. Available at:
http://www.w3.org/TR/2004/REC-rdf-primer20040210/ [12 February
2009]. 67. OWL Web Ontology Language Overview. Available at:
http://www.w3.org/TR/2004/REC-owl-features-20040210/ [12 February
2009]. 68. Ofcial openArchitectureWare Homepage. Available at:
http://www.openarchitectureware.org/ [19 May 2009]. 69. Jouault F,
B zivin J, Kurtev I. TCS: A DSL for the specication of textual
concrete syntaxes in model engineering. e Proceedings of the Fifth
International Conference on Generative Programming and Component
Engineering, Portland, U.S.A., October 2006; 249254. DOI:
10.1145/1173706.1173744. 70. Kleppe A. Software Language
Engineering: Creating Domain-Specic Languages Using Metamodels.
AddisonWesley: Boston, 2008. ISBN: 0321553454. 71. Ierusalimschy R.
A text pattern-matching tool based on parsing expression grammars.
Software: Practice and Experience 2009; 39(3):221258. DOI:
10.1002/spe.892. 72. Wu H, Gray J, Mernik M. Grammar-driven
generation of domain-specic language debuggers. Software: Practice
and Experience 2008; 38(10):10731103. DOI: 10.1002/spe.863. 73. Mei
H, Xie T, Yang F. A model-based approach to object-oriented
software metrics. Journal of Computer Science and Technology 2002;
17(6):757769. DOI: 10.1007/BF02960766. 74. Schneidewind NF.
Methodology for validating software metrics. IEEE Transactions on
Software Engineering 1992; 18(5):410422. 75. Soni D, Shrivastava R,
Kumar M. A framework for validation of object-oriented design
metrics. International Journal of Computer Science and Information
Security (IJCSIS) 2009; 6(3):4652.
Copyright q
2010 John Wiley & Sons, Ltd.
Softw. Pract. Exper. 2011; 41:789815 DOI: 10.1002/spe