Top Banner
SOFTWARE – PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2011; 41:789–815 Published online 26 November 2010 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/spe.1033 Towards the systematic measurement of ATL transformation models Jos´ e Barranquero Tolosa , , Oscar Sanju´ an-Mart´ ınez, Vicente Garc´ ıa-D´ ıaz, B. Cristina Pelayo G-Bustelo and Juan Manuel Cueva Lovelle Department 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, configure, 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 meta- modeling 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 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 High- Order 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 first-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 definition of transformation rules in a more formal and generic way (see, e.g., [1–3]). Correspondence to: Jos´ e Barranquero Tolosa, Department of Computer Science, University of Oviedo, C/Calvo Sotelo s/n, 33007 Oviedo, Asturias, Spain. E-mail: [email protected] Copyright 2010 John Wiley & Sons, Ltd.
27
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

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