<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards a Catalog of Non-Functional Requirements for Model Transformations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Soroosh Nalchigar</string-name>
          <email>soroosh@cs.toronto.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rick Salay</string-name>
          <email>rsalay@cs.toronto.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marsha Chechik</string-name>
          <email>chechik@cs.toronto.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Toronto</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Model transformations play an increasingly important role in Model-Driven Engineering (MDE), and thus understanding desired non-functional requirements of model transformations and being able to determine how existing transformation languages stack up w.r.t. these is also of interest. This paper is a rst step towards producing a catalog that systematically captures the transformation community's experience in developing transformations w.r.t. non-functional requirements. We survey the literature to provide a list of non-functional requirements of model transformations and nd comparisons between three popular model transformation languages (ATL, QVT-Relations and AGG) according to these requirements.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Model Driven Engineering (MDE) is a software engineering discipline in which
models are the primary artifacts and play a central role throughout the entire
development process [25, 27]. Model transformations are the core MDE mechanism
for building software from design to code, and hence have a signi cant impact
on the software development process [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. They are used for di erent reasons and
intents, e.g., to extract di erent views from a model (query), add or remove
detail (re nement or abstraction), generate code from model (synthesis) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Since model transformations play a critical role in the MDE process, their
non-functional requirements (NFRs) are of great importance as well. Yet,
existing research only addresses transformation NFRs indirectly. The NFRs that a
transformation language or tool should satisfy has been studied and these have
been proposed as a way of selecting a suitable language or tool [
        <xref ref-type="bibr" rid="ref4">4, 25, 35</xref>
        ].
Another line of research looks at the quality attributes and metrics for the model
transformation artifact itself (i.e., the code) with the aim of developing quality
assurance techniques for model transformations [
        <xref ref-type="bibr" rid="ref3">3, 27, 41</xref>
        ].
      </p>
      <p>Since a transformation is a combination of artifact with a language, the
characteristics of a transformation are contributed to by the characteristics of both
the artifact and the language. Thus, these two lines of research must be combined
when considering the NFRs of transformations. We address this in the current
paper, making the following contributions. First, we normalize the ndings from
both these lines of research to create a uni ed set of NFRs for transformations
re ecting the contributions of the artifact and language aspects. Next, we apply
these NFRs to compare three popular transformation languages (ATL,
QVTRelations and AGG) based on evidence from the literature. We believe that this
paper is a rst step towards producing a catalog that systematically captures
the transformation community's experience in developing transformations w.r.t.
non-functional requirements.</p>
      <p>The rest of this paper is structured as follows. Sec. 2 establishes a list of
nonfunctional requirements. Sec. 3 compares three existing model transformation
languages and examines how they contribute to non-functional requirements.
We summarize our results and discuss directions for future work in Sec. 4.
2</p>
    </sec>
    <sec id="sec-2">
      <title>NFRs for Model Transformations</title>
      <p>
        In this section, we build a list of non-functional requirements (NFRs) for model
transformations. Our methodology for doing so is by reviewing previous
published research on this topic and unifying the results. The list of papers we
reviewed was constructed by running Google Scholar using the keywords \model
transformation", \quality", \non-functional", and \requirements". Having the
results sorted by relevance, we examined the titles and abstracts, choosing
papers that have proposed quality measures and NFRs of model transformations,
while excluding those dealing with transforming requirements in MDE since they
are out of the scope of our study. This resulted in 10 papers that we survey below.
Literature Review. Amstel et al. [
        <xref ref-type="bibr" rid="ref3">3, 41</xref>
        ] proposed a set of eight quality
attributes for model transformation artifacts: understandability, modi ability,
reusability, reuse, modularity, completeness, consistency, and conciseness. The authors
also proposed a set of metrics for assessing them, comprised of size (e.g., the
number of functions), function (e.g., the number of equations and conditions per
function), module (e.g., number of library modules), and consistency (e.g.,
number of variables per type). Similar metrics have been proposed by Vignaga [42]
to assess the quality of ATL model transformations. Amrani et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] presented a
catalog of model transformation intents and mentioned readability as a property
of model transformations. Syriani and Gray [37] proposed a categorization of
quality attributes for model transformations that included correctness,
reusability, e ciency, reliability, maintainability, and interoperability.
      </p>
      <p>
        Mens and Gorp [25] di erentiated between functional and quality
requirements of model transformation languages and tools and proposed usability and
usefulness, verbosity, conciseness, scalability, extensibility, interoperability,
acceptability and standardization as the main non-functional requirements. Mens
et al. [26] continued this line of research and examined how well graph
transformation languages satisfy these quality requirements. Aziz [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] evaluated quality
of four model transformation technologies (ATL, IBM transformations, Acceleo,
and Java APIs) for model-to-model and model-to-text transformations in a case
study in Ericsson AB. His quality model included usability (comprised of
understandability, learnability, and operability ), maintainability (comprised of
analyzability and changeability ), functionality (comprised of suitability and accuracy ),
and scalability. Sendall and Kozaczynski [35] proposed a set of desirable
characteristics for a model transformation language including usability, ease of
understanding, ease of modi cation, conciseness, acceptability, composition and reuse,
and visual representation. Mohagheghi and Aagedal [27] presented
comprehensibility, modi ability, modularity, reusability, extensibility and interoperability as
quality goals in MDE.
      </p>
      <p>
        Towards a List of Non-Functional Requirements. In order to combine the
NFRs and provide a single comprehensive list, we identi ed the equivalent
attributes from di erent works and uni ed them into a single attribute. For
example, modi ability from [
        <xref ref-type="bibr" rid="ref3">3,27,41</xref>
        ], changeability from [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], maintainability from [37],
and ease of modi cation from [35]) are considered to be a single attribute, called
modi ability in our list. Then, we removed completeness, consistency,
correctness, accuracy, and reliability because we believe these are functional rather than
NFRs (and can have boolean valuations).
      </p>
      <p>Based on this review, Table 1 summarizes and de nes a set of non-functional
requirements of model transformations ( rst column), lists the contributions of
the language and artifact aspects (second and third columns, respectively), and
cross-references them with the relevant citations (last column).</p>
      <p>Obviously, the current list of NFRs could be extended by new items, identi ed
in future papers.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Application: NFRs of Three Model Transformation</title>
    </sec>
    <sec id="sec-4">
      <title>Languages</title>
      <p>
        In this section, we apply the NFRs from the list established in Sec. 2 to three
popular model transformation languages: ATLAS Transformation Language (ATL) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ],
Attributed Graph Grammar (AGG) [38], and QVT-Relations [
        <xref ref-type="bibr" rid="ref21">21, 28</xref>
        ]. In
choosing these languages for comparison, we considered factors such popularity of the
languages as well as the availability of previous studies involving their NFRs.
3.1
      </p>
      <sec id="sec-4-1">
        <title>Transformation Languages</title>
        <p>Figure 1 shows a part of a simple transformation of a class schema model to a
relational database model implemented in these languages.</p>
        <p>ATL is a hybrid (mix of declarative and imperative constructs) model
transformation language developed as a part of the ATLAS Model Management
Architecture (AMMA) platform. Figure 1(a) shows the header of the transformation
where the source and target models are declared. It also indicates a
transformation rule that creates a table instance for each of the class instances.</p>
        <p>AGG is a general development environment for attributed graph
transformations, supporting the algebraic approach. Figure 1(b) shows part of the type
graph for a class diagram (the top) and a relational database model (the
bottom), as well as helper structures that hold the correspondences between the
elements of di erent type graphs (the middle).</p>
        <p>QVT is the OMG standard language for specifying model transformations
and includes three sublanguages: QVT-Relations (surveyed here and referred
to as QVT-R), QVT-Operational and QVT-Core. Figure 1(c) shows a part of
the aforementioned transformation expressed in QVT-R. In this example, each
relation represents a mapping, whereas a domain declares a pattern and is bound
to a model (e.g., UML).
module Class2Relational;
create OUT :
SimpleRelational
from IN :
SimpleClass;
rule Class2Table {
from</p>
        <p>c : Class!Class
to
out : Relational!Table (
name &lt;- c.name,
col &lt;- Sequence {key}-&gt;
union(c.attr-&gt;select(e
| not e.multiValued)),
key &lt;- Set {key}
),
key : Relational!Column (
name &lt;- 'objectId',
type &lt;- thisModule.</p>
        <p>objectIdType
)
We reviewed the literature, searching for theoretical and user comments as well
as empirical studies that compared the three languages w.r.t. each of the NFRs.</p>
        <p>For each NFR, existing papers usually provide pairwise relative rankings
rather than absolute valuations of the NFR. Thus, our rankings between
languages should also be interpreted as relative. Note also that we did not perform
empirical studies ourselves, and our comparisons are only based on published
work, not on our own experience. Finally, we did not include usability /
usefulness and acceptability into our comparisons because we speci cally chose popular
languages which, by de nition, score high on these characteristics.</p>
        <p>Our results are summarized in Table 2. In this table, we use a qualitative
scale where three stars ( ) represent the best and one star ( ) { the worst
performance w.r.t each quality attribute. Also, in the case of binary evaluations,
\true" is mapped to and \false" { to . We summarize the source of our
evidence using the letters A-D: A indicates an empirical experiment or a case
study; B { information coming from the language description; C { a qualitative
description; and D { all other sources.
3.3</p>
      </sec>
      <sec id="sec-4-2">
        <title>Results</title>
        <p>In the rest of the section, we discuss and compare the languages. w.r.t. each of
the non-functional attributes.</p>
        <p>
          Understandability: For this attribute, we looked for the relevant
literature than has compared these languages w.r.t. the overall size of the model
transformation in terms of the number of lines of code and the transformation
complexity [41]. [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] reported that AGG is more compact than ATL w.r.t. the
Languages
        </p>
        <p>ATL
QVT-R</p>
        <p>AGG</p>
        <p>UN
(A)
(A)
(A)</p>
        <p>PS</p>
        <p>(A)
(A)
(C)</p>
        <p>EX
(B)
(B)
(C)</p>
        <p>IN
(C)
(C)
(C)</p>
        <p>VE
(A)
(C)
(C)</p>
        <p>
          CO
(A)
(C)
(C)
amount of code that a programmer needs to write in order to make an
executable solution. [30] reported that QVT-R transformations are larger than
ATL in terms of number of line of code and also have the larger complexity in
terms of the number of recursive calls. According to [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], ATL includes a mix of
imperative and declarative constructs; while it makes the language powerful and
compact, it decreases language understandability. Based on these comparisons,
we infer that AGG is better than ATL, and ATL is better than QVT-R w.r.t.
understandability (column UN in Table 2).
        </p>
        <p>
          Performance and scalability: According to [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], the ATL language is
generally faster than QVT-R: their experiment of increasing either the size of the
complexity of the input models yielded ATL running times to be more than
ve times faster than their QVT-R counterparts. [36] states that ATL is
capable of managing complex models because of its imperative language constructs
and the use of helper functions. Also, according to [26], graph transformations
are generally considered to generate ine cient programs. Hence, we rank these
languages w.r.t. performance and scalability as ATL (best), QVT-R, and AGG
(worst) (column PS in Table 2).
        </p>
        <p>
          Extensibility: To assess this characteristics, we looked for literature that
provided evidence on successful extensions to our three transformation languages
and then assigned boolean values to the languages w.r.t. this attribute. Randak
et al. [31] extended ATL with new keywords to natively support UML pro les in
transformations. The preprocessor then translates these keywords into standard
ATL syntax by a higher-order transformation. Mens et al. [26] argue that the
AGG tool is extensible in the sense that its internal graph transformation
engine, implemented in Java, can be extended freely to cover a variety of di erent
applications. [29] extended QVT-R and integrated it with constraint
programming for speci cation of attribute values in target models. Also, [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] extended
QVT-R to embed information about system variants and their impact on the
non-functional properties of the system being developed. Finally, several
extensions to ATL via virtual machines have been recently reported: [34], for adding
bidirectionality, and Eclectic [33] and EMFTVM [43] for richer bytecode. These
support the nding that ATL is more extensible than either QVT-R or AGG
(whom we deem equally extensible) { column EX in Table 2.
        </p>
        <p>
          Interoperability: Our comparison of languages w.r.t. interoperability is
similar to the one we conducted for extensibility. [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] reports that languages
based on the graph transformation paradigm (e.g., AGG) employ graph patterns
and it is not clear how OCL-based queries are translated to graph patterns and
vice versa. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] describes the procedure for making AGG and Ecore mutually
interoperable. Interoperability of ATL and QVT-R is discussed and shown in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
Based on these, we infer \false", \true", and \true" for the interoperability of
AGG, QVT-R, and ATL, respectively (column IN in Table 2).
        </p>
        <p>
          Verbosity and Conciseness: We consider conciseness to be the inverse of
verbosity. [24] states that QVT-R rely only on the textual language OCL for
model querying, and this leads to verbose and complicated OCL expressions.
Also, according to [26], graph transformation languages (e.g., AGG) are concise.
In addition, understandability -related references, e.g., [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], also support the
argument that ATL is more verbose than AGG. Based on these, we infer that ATL
and QVT-R are more verbose (less concise) than AGG. We were unable to nd
a direct comparison between ATL and QVT-R regarding this attribute, so we
give these languages the same valuation (columns VE and CO in Table 2).
        </p>
        <p>
          Modi ability: [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] states that ATL reduces modi ability of model
transformations because it implements the source pattern using multiple rules and
helpers, all of which need to be updated even for a minor constraint change in
source pattern de nition. [40] mentions that the manipulation of
transformation models in ATL is complex because of the inherent complexity of
programming language metamodels. Modi ability can be seen to be positively related to
understandability. Hence, we infer that AGG is better than ATL and QVT-R
with regarding to modi ability, whereas the direct comparison between ATL and
QVT-R is not available (column MOF in Table 2).
        </p>
        <p>
          Visualization: AGG provides graphical languages and a development
environment to de ne model-to-model transformations [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Graph transformations
are de ned over metamodel elements and visualized with a generic layout, called
abstract syntax, where nodes are visualized as rectangles, and edges { as directed
arrows [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Various graph layout options are o ered for tuning the
visualization [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. AGG can visualize simulations as well. While abstract syntax of a given
modeling language is less familiar than its concrete counterparts to the
developers [
          <xref ref-type="bibr" rid="ref14 ref9">9,14</xref>
          ], the visualization and simulation capabilities of AGG make it intuitive
and easy to understand [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. QVT-R has a graphical notation, but its graphical
editors are just recently being proposed [23] and further tool support is
lacking. Graphical editors for transformations with ATL exist, e.g., ATLFlow [44].
ATLFlow is able to describe the structure of a transformation and execute it,
but it does not support conditional branches or composite transformations [32].
We conclude that AGG's graphical support and visual representation are better
than ATL's or QVT-R' (column VI in Table 2).
        </p>
        <p>
          Modularity: We use boolean values to evaluate this NFR attribute w.r.t.
the question \does the language include constructs to support modularity". ATL
supports modularity and allows packaging rules into modules. A module can
import another module to access its content [
          <xref ref-type="bibr" rid="ref14 ref22 ref9">9, 14, 22</xref>
          ]. QVT-R supports
modularity as well [30]. We could not nd any evidence of modularity support in
AGG. Hence, we assign \false", \true", and \true" to the modularity aspect of
AGG, QVT-R and ATL, respectively (column MDL in Table 2).
        </p>
        <p>
          Standardization: The two standards for graph transformation languages
(GXL { an exchange format for graphs, and GTXL { an exchange format for
graph transformations) are supported by AGG. It also supports XML and can
be used for refactoring UML models [
          <xref ref-type="bibr" rid="ref11 ref12">11, 12, 26</xref>
          ]. Moreover, it is compliant with
the relevant standards such as UML, MOF, and XML. ATL can be used to
bridge XML, Grafcet, Petri net, and PNML [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], and an example of the
MOFto-UML transformation is given in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Finally, QVT languages are compatible
with MOF, UML, and OCL [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. We thus infer that all the three languages have
proper compliance with the relevant standards (column ST in Table 2).
        </p>
        <p>
          Reusability and Reuse: We interpret support for both reusability and
reuse as \does the language have constructs that support reuse", and thus
assign boolean values to the three languages w.r.t. this attribute. AGG has no
explicit reuse mechanisms such as rule inheritance, derivation, extension and
specialization [
          <xref ref-type="bibr" rid="ref9">9, 26</xref>
          ]. ATL's support of Higher-Order Transformations can be
treated as enabling reuse since they allow to analyze, produce and manipulate
other model transformations [
          <xref ref-type="bibr" rid="ref5">5, 40</xref>
          ]. The speci cation of QVT-R [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] indicates
that its architecture supports reuse of existing libraries and allows plugging-in
and executing external code. Thus, we evaluate the reuse support in the three
languages as \false", \true", and \true", respectively (column REY in Table 2).
        </p>
        <p>We end this section with some remarks. First, the comparisons in this paper
use a relative scale, with qualitative rather than absolute values, so ' ' is not
necessarily \good", just \better", and ' ' is not necessarily \bad", just \worse".
And obviously, our comparison is limited to only three languages, and we do not
claim that our list of NFRs is complete or comprehensive.
4</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we reviewed the non-functional attributes of model
transformations as described in previous works, and created their comprehensive list. We
then reviewed the literature to compare three popular model transformation
languages w.r.t. this list, resulting in a non-functional requirements catalog. We
expect this catalog to be used by language designers to help improve their language,
as well as by developers aiming to choose the right transformation language for
their job. We also hope that the community will join this e ort both by growing
the list of non-functional qualities and by adding other transformation languages
to the catalog. Future work can extend the proposed list of non-functional
properties by dividing each attribute into more quanti able chunks and proposing
metrics for e ectively measuring them. Another line of future work can be to
propose methods and mechanisms to assist software developers in nding the
most suitable language and tool based on their NFRs.
23. D. Li, X. Li, and V. Stolz. QVT-based Model Transformation using XSLT.
SIG</p>
      <p>SOFT SEN, 36(1):1{8, 2011.
24. D. Li, X. Li, and V. Stolz. Model Querying with Graphical Notation of QVT</p>
      <p>Relations. SIGSOFT Softw. Eng. Notes, 37(4):1{8, July 2012.
25. T. Mens and P. Van Gorp. A Taxonomy of Model Transformation. El. Notes</p>
      <p>Theor. Comp. Sci., 152:125{142, 2006.
26. T. Mens, P. Van Gorp, D. Varro, and G. Karsai. Applying a Model Transformation
Taxonomy to Graph Transformation Technology. El. Notes Theor. Comput. Sci.,
152:143{159, 2006.
27. P. Mohagheghi and J. Aagedal. Evaluating Quality in Model-Driven Engineering.</p>
      <p>In Proc. of MiSE'07, pages 6{15, 2007.
28. OMG. Meta Object Facility (MOF) 2.0 Query / View / Transformation. Technical
report, OMG Technical Report, 2011.
29. A. Petter, A. Behring, and M. Mhlhuser. Solving Constraints in Model
Transformations. In Proc. of ICMT'09, volume 5563 of LNCS, pages 132{147, 2009.
30. S. Rahimi and K. Lano. Integrating Goal-Oriented Measurement for Evaluation
of Model Transformation. In Proc. of CSSE'11, pages 129{134, 2011.
31. A. Randak, S. Mart nez, and M. Wimmer. Extending ATL for Native UML Pro e</p>
      <p>Support: An Experience Report. In Proc. of CEUR'11 Workshop, 2011.
32. J. E. Rivera, D. Ruiz-Gonzalez, F. Lopez-Romero, J. Bautista, and A. Vallecillo.</p>
      <p>Orchestrating ATL Model Transformations. In Proc. of MtATL'09, pages 34{46,
2009.
33. J. Sanchez Cuadrado. Towards a Family of Model Transformation Languages. In</p>
      <p>Proc. of ICMT'12, LNCS, volume 7307, pages 176{191, 2012.
34. I. Sasano, Z. Hu, S. Hidaka, K. Inaba, H. Kato, and K. Nakano. Toward
Bidirectionalization of ATL with Groundtram. In Proc. of ICMT'11, pages 138{151,
2011.
35. S. Sendall and W. Kozaczynski. Model Transformation: the Heart and Soul of</p>
      <p>Model-Driven Software Development. IEEE Software, 20(5):42{45, 2003.
36. M. Stephan and A. Stevenson. A Comparative Look at Model Transformation</p>
      <p>Languages. Technical report, Soft. Tech. Lab, Queen's University, 2009.
37. E. Syriani and J. Gray. Challenges for Addressing Quality Factors in Model
Transformation. In Proc. of ICST'12, pages 929 {937, April 2012.
38. G. Taentzer. AGG: A Graph Transformation Environment for Modeling and
Validation of Software. In Proc. of AGTIVE'03, volume 3062 of LNCS, pages 446{453,
2004.
39. G. Taentzer, K. Ehrig, E. Guerra, J. De Lara, L. Lengyel, T. Levendovszky,
U. Prange, D. Varro, and S. Varro-Gyapay. Model Transformation by Graph
Transformation: A Comparative Study. In MODELS'05 Wksp. MT in Practice, 2005.
40. M. Tisi, J. Cabot, and F. Jouault. Improving Higher-Order Transformations
Support in ATL. In Proc. of ICMT'10, pages 215{229, 2010.
41. M. F. van Amstel, C. F. J. Lange, and M. G. J. van den Brand. Metrics for
Analyzing the Quality of Model Transformations. In ECOOP'08 Wksp. on Quantitative
Approaches to OO SE, 2008.
42. A. Vignaga. Metrics for Measuring ATL Model Transformations. Technical report,</p>
      <p>Universidad de Chile, 2009.
43. D. Wagelaar, M. Tisi, J. Cabot, and F. Jouault. Towards a General Composition
Semantics for Rule-Based Model Transformation. In Proc. of MODELS'11, pages
623{637, 2011.
44. U. Zeidler. ATL ow Plugin. http://opensource.urszeidler.de/ATLflow/. Last
Accessed Dec. 2012.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Amrani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dingel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lambers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lucio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Selim</surname>
          </string-name>
          , E. Syriani, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          .
          <article-title>Towards a Model Transformation Intent Catalog</article-title>
          .
          <source>In Proc. of AMT'12 (MODELS'12 Wksp.)</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>Amstel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bosems</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Kurtev</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. Ferreira</given-names>
            <surname>Pires</surname>
          </string-name>
          .
          <article-title>Performance in Model Transformations: Experiments with ATL and QVT</article-title>
          .
          <source>In Proc. of ICMT'11</source>
          , volume
          <volume>6707</volume>
          <source>of LNCS</source>
          , pages
          <volume>198</volume>
          {
          <fpage>212</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>M. F. v. Amstel.</surname>
          </string-name>
          <article-title>The Right Tool for the Right Job: Assessing Model Transformation Quality</article-title>
          .
          <source>In Proc. of COMPSACW'10</source>
          , pages
          <fpage>69</fpage>
          {
          <fpage>74</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>K. M.</surname>
          </string-name>
          <article-title>A. Aziz. Evaluating Model Transformation Technologies: An Exploratory Case Study</article-title>
          .
          <source>PhD thesis</source>
          , Chalmers University of Technology,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.</given-names>
            <surname>Bezivin</surname>
          </string-name>
          , E. Breton, G. Dupe, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Valduriez</surname>
          </string-name>
          .
          <source>The ATL Transformation-Based Model Management Framework. Technical report</source>
          , Universite de Nantes,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>E.</given-names>
            <surname>Biermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ermel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lambers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Prange</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Runge</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System</article-title>
          .
          <source>In J. STTT</source>
          ,
          <volume>12</volume>
          (
          <issue>3-4</issue>
          ):
          <volume>245</volume>
          {
          <fpage>261</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>E.</given-names>
            <surname>Biermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ermel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lambers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Prange</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Runge</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Introduction to AGG and EMF Tiger by Modeling a Conference Scheduling System</article-title>
          .
          <source>Int. J. Softw. Tools Technol</source>
          . Transf.,
          <volume>12</volume>
          (
          <issue>3-4</issue>
          ):
          <volume>245</volume>
          {
          <fpage>261</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E.</given-names>
            <surname>Brottier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fleurey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Steel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Baudry</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y. Le</given-names>
            <surname>Traon</surname>
          </string-name>
          .
          <article-title>Metamodel-Based Test Generation for Model Transformations: an Algorithm and a Tool</article-title>
          .
          <source>In Proc. of ISSRE'06</source>
          , pages
          <fpage>85</fpage>
          {
          <fpage>94</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Helsen</surname>
          </string-name>
          .
          <article-title>Feature-Based Survey of Model Transformation Approaches</article-title>
          . IBM Syst. J.,
          <volume>45</volume>
          (
          <issue>3</issue>
          ):
          <volume>621</volume>
          {
          <fpage>645</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Drago</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ghezzi</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Mirandola</surname>
          </string-name>
          .
          <article-title>A Quality Driven Extension to the QVT-relations Transformation Language</article-title>
          . Computer Science - Research and Development, pages
          <volume>1</volume>
          {
          <fpage>20</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. H.
          <string-name>
            <surname>Ehrig</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Ehrig</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          <string-name>
            <surname>Prange</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Implementation of Typed Attributed Graph Transformation by AGG</article-title>
          .
          <source>Fundamentals of Algebraic Graph Transformation</source>
          , pages
          <volume>305</volume>
          {
          <fpage>323</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Folli</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Mens</surname>
          </string-name>
          .
          <article-title>Refactoring of UML models using AGG</article-title>
          .
          <source>ECEASST</source>
          ,
          <volume>8</volume>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. A. Goknil, N. Topaloglu,
          <article-title>and</article-title>
          K. van den Berg.
          <article-title>Operation Composition in Model Transformations with Complex Source Patterns</article-title>
          .
          <source>Technical Report TR-CTI, Centre for Telematics and Information Technology</source>
          , University of Twente,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Gronmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Moller-Pedersen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Olsen</surname>
          </string-name>
          .
          <article-title>Comparison of Three Model Transformation Languages</article-title>
          .
          <source>In Proc. of ECMDA-FA'09</source>
          , volume
          <volume>5562</volume>
          <source>of LNCS</source>
          , pages
          <volume>2</volume>
          {
          <fpage>17</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. A. group.
          <article-title>The MOF to UML ATL transformation</article-title>
          .
          <source>Technical report, LINA &amp; INRIA</source>
          ,
          <year>September 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>P.</given-names>
            <surname>Guyard. ATL Transformation</surname>
          </string-name>
          <article-title>Example: Bridging Grafcet, Petri net, PNML and XML</article-title>
          .
          <source>Technical report, INRIA</source>
          ,
          <year>August 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. INRIA. ATL Transformation Example: Class to Relational,
          <year>2005</year>
          . http://www.eclipse.org/atl/atlTransformations/Class2Relational/ ExampleClass2Relational[v00.01].pdf.
          <source>Last Accessed July</source>
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          and
          <string-name>
            <given-names>I.</given-names>
            <surname>Kurtev</surname>
          </string-name>
          .
          <article-title>On the Architectural Alignment of ATL and QVT</article-title>
          .
          <source>In Proc. of SAC'06</source>
          , pages
          <fpage>1188</fpage>
          {
          <fpage>1195</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Kurtev.</surname>
          </string-name>
          <article-title>Transforming Models with ATL</article-title>
          .
          <source>In Proc. of MODELS'05</source>
          , pages
          <fpage>128</fpage>
          {
          <fpage>138</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          and
          <string-name>
            <given-names>I.</given-names>
            <surname>Kurtev</surname>
          </string-name>
          .
          <article-title>On the Interoperability of Model-to-Model Transformation Languages</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>68</volume>
          (
          <issue>3</issue>
          ):
          <volume>114</volume>
          {
          <fpage>137</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. I. Kurtev.
          <article-title>State of the Art of QVT: A Model Transformation Language Standard</article-title>
          .
          <source>In Proc. of AGTIVE'07</source>
          , volume
          <volume>5088</volume>
          <source>of LNCS</source>
          , pages
          <volume>377</volume>
          {
          <fpage>393</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. I. Kurtev,
          <string-name>
            <given-names>K.</given-names>
            <surname>Van Den Berg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          .
          <article-title>Evaluation of Rule-Based Modularization in Model Transformation Languages Illustrated with ATL</article-title>
          .
          <source>In Proc. of SAC'06</source>
          , pages
          <fpage>1202</fpage>
          {
          <fpage>1209</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>