<!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>Scalability of Model Transformations: Position Paper and Benchmark Set</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Struber</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Timo Kehrer</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thorsten Arendt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christopher Pietsch</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dennis Reuling</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>GFFT Innovationsforderung GmbH</institution>
          ,
          <addr-line>Bad Vilbel</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Philipps-Universitat Marburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Politecnico di Milano</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Universitat Siegen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>As model transformations are often considered the \heart and soul" of Model-Driven Engineering (MDE), the scalability of model transformations is vital for the scalability of MDE approaches as a whole. The existing research on scalable transformations has largely focused on performance behavior if the involved input models grow in size. In this work, we address a second key dimension for the practical scalability of model transformations: The e ect as the transformation speci cation itself grows larger. We outline a number of challenges related to large model transformations, speci cally a ecting the quality concerns maintainability and performance. We introduce three model transformation benchmarks and discuss how they are a ected by these challenges. The transformation rule sets in these benchmarks have acted as an evaluation basis in our previous work. Our objective is to establish a community benchmark set to compare model transformation approaches with respect to the aforementioned quality concerns.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Over the recent years, Model-Driven Engineering (MDE) has started to grow into
a mature software engineering discipline. To facilitate the development of
complex software systems, MDE envisions the use of abstraction and automation
principles: Models are used to provide an abstract speci cation of a software
system, thereby enabling to tame complexity during software design. This
speci cation is automatically re ned to a running software systems using model
transformations, thus enabling to reduce implementation e ort. A large
variety of modeling and model transformation languages has emerged to address the
heterogeneity in the involved software domains and transformation scenarios.</p>
      <p>
        As MDE is increasingly applied in industrial large-scale scenarios, a number
of limitations of the existing MDE techniques and tools has been revealed. One of
the key problem areas concerns the scalability of model transformation tools. In
this area, existing research has mostly focused on scalability as the input models
of transformations grow in size. Kolovos et al. summarize the goal of the existing
works as \advancing the state of the art in model querying and transformation
tools so that they can cope with large models (in the order millions of model
elements)" [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. To tackle this goal, a number of performance optimizations as
well as new execution modes, such as incremental [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or concurrent [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] model
transformations, have been provided to the community.
      </p>
      <p>Inspired by our experience of developing model transformations within
several research projects, in this paper we argue that a second key dimension of
scalability has been neglected so far: The scalability of the transformation
specication. In particular, we point out that the performance of a model
transformation is likely to deteriorate with the size and complexity of its speci cation. To
make matters worse, the models in a particular transformation scenario and the
transformation speci cation may be a ected by scalability issues at the same
time, in combination leading to a more drastic scalability challenge.
Furthermore, the size of a speci cation might also challenge its maintainability, even
to the point that it becomes unusable when viewed and edited with the default
tools.</p>
      <p>
        We focus on the technical scope of rule-based model transformations. In this
domain, available techniques and tools are a ected by the size of individual rules
as well as the size of the overall rule set. Multiple factors contribute to the
emergence of large rules and rule sets: (i) The size of these artifacts can re ect the
complexity of the intended transformations. Model transformations are a
particular kind of software, the development of which is generally complicated by the
complexity of the imposed requirements. (ii) The size of individual rules might
grow due to technical reasons. For instance, the UML meta-model is infamous
for its size and complexity that leads to complicated rules even when expressing
transformations that are rather simple on a conceptual level [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. (iii) A common
situation involves the management of families of rules, i.e. sets of rules that
exhibit a high degree of commonalities.While the built-in concepts provided by
the available transformation languages can help to deal with this issue to some
extent, we found these concepts insu cient in several cases as described in this
paper.
      </p>
      <p>
        The contribution of this work is twofold. First, to illustrate our position, we
explore the scalability issues encountered during our past experiences and
relate them to existing experiences from the literature. Second, we provide a set
of benchmark scenarios a ected by these issues. We have used some of these
scenarios as an evaluation basis in our recent work [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. Our aim is to make
them available for other researchers. By providing the rule sets with a systematic
description, as part of a publicly available repository, our goal is to facilitate the
comparison of model transformation approaches with respect to their scalability.
      </p>
      <p>The rest of this paper is structured as follows. In Sect. 2, we outline the
above mentioned scalability challenges in more detail. Sect. 3 introduces two
benchmark kinds to assess the improvement of related quality aspects. In Sect. 4,
we present and discuss our benchmark set. In Sect. 5 we discuss related work,
and Sect. 6 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>Scalability Challenges</title>
      <p>Maintainability is one of the main quality goals during the development of a
model transformation [7{9]. It refers to the capability to modify the
transformation after its initial deployment when it has to be adapted, e.g., to address
changing requirements or to remove defects.</p>
      <p>
        A necessary prerequisite for maintainability is understandability: If the
speci cation is di cult to understand, the time required to perform a change as well
as the risk creating defects while doing so increases. Intuitively, the
understandability of a transformation system is related to two separate dimensions of size:
the number of rules and the size of individual rules. In a large set of rules, the
di culty lies in pinpointing the target location for an intended change. In turn, a
large size of individual rules may stretch the limitations of visual representations
{ large diagrams may not scale. This intuition has been con rmed
experimentally for the scope of class diagrams, where a detrimental e ect of larger diagram
sizes on understandability was determined by Storrle [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Another obstacle to maintainability concerns the scalability of the model
transformation editor. The existing transformation editors were often designed
and tested for transformation systems of small to medium scale. In a rule set with
hundreds of rules and hundreds of elements per rule, the response time during
loading, navigating, and changing rules might be substantial, thus prohibiting
the transformation to be edited in an e cient manner. This obstacle can be
addressed in two ways: Either by improving the scalability of the editor or by
providing a more compact representation of the overall rule set.</p>
      <p>Performance is another key concern of model transformation systems [7{9].
In particular, in the case of graph-based model transformation languages, the
execution of a transformation entails the NP-complete sub-graph isomorphism
problem, leading to substantial execution times as input models and rules grow.</p>
      <p>
        In practice, the performance of a model transformation depends on its
execution mode. Despite considerable progress on particular execution modes such
as incremental [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and parallel transformations [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the standard mode remains
batch transformation. In batch mode, all rules in the rule set are applied as long
as one of them is applicable. This mode is often found in translation, simulation,
and refactoring scenarios. In a batch transformation, each rule increases the
computational e ort of the transformation system; the larger the rule set becomes,
the harder it is to keep it tractable. For instance, Blouin et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] report on a
case where a transformation engine was unable to execute a transformation
system with 250 rules. Such issues often lead to ad-hoc solutions to reduce the size
of the rule set as dedicated language-level support is widely unavailable [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Benchmark Kinds</title>
      <p>Based on the identi ed scalability areas, we identify two di erent benchmark
kinds for model transformation approaches (see Fig. 1). The distinction of these
benchmark kinds allows to study maintainability and performance disjoint from
conforms to</p>
      <p>Metamodel
Input model</p>
      <p>is
based on
input
for</p>
      <p>Transformation
specification</p>
      <p>is
based on
input for
yields
Output model
conforms to</p>
      <p>Model
transformation</p>
      <p>Benchmark kind 2:</p>
      <p>
        Performance
each other. While large speci cations may be generally a ected by both issues,
a single approach to address both issues might not necessarily be most e ective:
Another approach is to refactor the rules for improved maintainability and to
apply a background performance optimization before executing the rule set [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Benchmark kind 1: Benchmarking for Maintainability (M).
{ Goal. Deriving a rule set with improved maintainability properties.
{ Scope. We consider the maintainability property compactness.
{ Rationale. Smaller rule sets and rules may be easier to read, entail less
individual edits to perform a single change, and show better performance
behavior when viewed and edited in standard editors.
{ Metrics. Accumulative number of rule elements required to specify the
entire transformation.
      </p>
      <sec id="sec-3-1">
        <title>Benchmark kind 2: Benchmarking for Performance (P).</title>
        <p>{ Goal. Deriving a rule set with improved performance properties.
{ Scope. We consider the performance property execution time.
{ Rationale. Lower execution times of the included model transformation
may lead to general improvements in the existing MDE approaches.
{ Metrics. Accumulative execution time on a set of given input models.
Correctness check. In both benchmark kinds, a highly desirable feature would
be a correctness check: The considered rule set should show the same behavior
before and after the restructuring. A pragmatic approach to ensure correctness
is to apply both transformations to a set of test models, expecting equal
results. This approach provides no su cient, but at least a necessary correctness
criterion. The development of this check is ongoing work.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Benchmarks</title>
      <p>Our benchmark set, summarized in Table 1, comprises three benchmarks, called
Edit Rules, Recognition Rules, and Translation Rules, respectively. These
benchmarks will be described in more detail in the remainder of this section.</p>
      <p>Benchmark</p>
      <p>Kind</p>
      <p>
        Scenario #Rules
#N
#E
#A #Models
Context and objectives Edit commands as o ered by visual editors and
modern model refactoring tools are typical forms of edit operations on models. Many
tools of an MDE tool suite must be customized to the way how models can be
edited, model versioning [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ], refactoring tools [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] as well as model
mutation [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] being examples of this. Therefore, explicit speci cations of the available
edit operations are required. Rule-based in-place model transformations are
wellsuited for that purpose [17{19]. However, developing and maintaining a set of
edit rules is challenging. Firstly, edit rules can become large in case of complex
model restructuring operations. Secondly, the set of edit which required to
specify every possible model modi cation becomes huge in case of comprehensive
languages such as the UML. Thus, the speci cation of edit operations is an
adequate benchmark addressing the maintainability of model transformation rules.
We selected the following two scenarios in which suitable edit operations have
been speci ed:
FM. The rst scenario refers to the editing of feature models [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], a widely used
variability modeling approach in software product line (SPL) engineering. The
selected edit operations have been de ned in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. The main objective of this work
is to de ne edit operations which can be classi ed w.r.t. their semantic impact
on the set of valid feature combinations. A refactoring leaves this set unchanged,
a generalization (specialization) enlarges (shrinks) the set of valid feature
combinations. Such edit operations are often complex restructurings de ning several
non-trivial application conditions.
      </p>
      <p>
        UML. The second scenario addresses the editing of UML models. Due to the
complexity of the UML meta-model, edit operations on UML models turn out
to be rather complex when being speci ed based on the abstract syntax [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Restricting the navigability of an association to one end is an example of this [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
In this benchmark, the selected UML edit operations refer to those parts of the
UML which are used in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], a case study on using a UML-based approach for
modeling the Barbados Crash Management System (bCMS).
      </p>
      <p>
        Meta-Models In the FM scenario, the selected edit rules are speci ed over
the meta-model de ned in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Concerning the UML, the selected edit rules
are de ned over the UML standard meta-model de ned by the OMG [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. The
subset being relevant in this benchmark is given by the UML models of the
bCMS case study which uses class diagrams, sequence diagrams and statecharts.
In sum, the relevant subset includes 83 meta-classes, together with their various
relations, out of the 243 meta-classes of the standard UML meta-model.
Rules The feature model edit rule set comprises the 53 complex restructuring
operations on feature models de ned in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. The largest rule in this rule set
comprises 74 nodes, 146 edges, and 14 attributes.
      </p>
      <p>The UML edit rule set comprises 1404 edit rules, all of them specifying edit
operations which can be considered elementary from a user's point of view in the
sense that they cannot be split into smaller edit operations being applicable to
a model in a meaningful way. Consequently, the individual rules in this rule set
are considerably smaller than the feature model rules, the largest one comprising
9 nodes, 11 edges, and 14 attributes.
4.2</p>
      <sec id="sec-4-1">
        <title>Edit Operation Recognition Rules</title>
        <p>
          Context and objectives To optimally support continuous model evolution,
sophisticated tool support for model version management is needed, the calculation
of a di erence between two versions of a model being one of the most essential
tool functions. Instead of reporting model di erences to modelers element-wise,
their grouping into semantically associated change sets helps in understanding
model di erences [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. Edit operations as used in our rst benchmark are the
concept of choice to group such change sets. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] presents an approach which
automatically translates speci cations of edit operations into so called recognition
rules being used by an algorithm which recognizes edit operations in a
lowlevel di erence of two model versions. Essentially, this algorithm searches for all
matches of each recognition rule in a given di erence. This is a computational
expensive pattern matching problem. Thus, the optimization of a recognition
rule set is a primary concern and an adequate performance benchmark.
Meta-Models and Models Concerning the modeling languages comprised by
this benchmark, we selected the same languages along with the corresponding
meta-models as in our rst benchmark.
        </p>
        <p>
          In general, suitable low-level model di erences on which to apply the edit
operation recognition rules are obtained as follows: Given (i) a pair of input models
which can be considered to be revisions of each other, and (ii) a model matcher
which determines the corresponding elements in both versions, the di erencing
engine presented in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] creates a low-level di erence which can be synthesized
as a \di erence model". It basically de nes ve types of changes which can be
observed in a low-level di erence, namely the insertion/deletion of
objects/references as well as attribute value changes. For this benchmark, we selected the
following pairs of models and matchers.
        </p>
        <p>
          FM. For feature models, we use the synthetically created di erencing scenarios
presented in [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. In sum, we have 125 pairs of feature models of di erent
characteristics and varying sizes, ranging from 100 up to 500 features per model. To
calculate the 125 low-level di erences, a dedicated matcher for pairs of feature
models [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] is used to determine corresponding elements.
        </p>
        <p>
          UML. In the UML scenario, we selected the models provided by the bCMS case
study. In fact, bCMS de nes not only a single model but is designed as SPL. We
used 20 models representing valid instances of this SPL, one core model and 19
additional variants. By di erencing each variant with the core, we produced 19
low-level di erences. To determine corresponding elements, we used a dedicated
matcher that exploits persistent unique identi ers attached to elements.
Rules As described in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], recognition rules can be automatically generated
from their corresponding edit rules. Thus, it was a natural choice to generate the
rules of this benchmark from the edit rules of our rst benchmark. Consequently,
we have 53 recognition rules for the FM and 1404 for the UML scenario. As seen
in Table 1, recognition rules are generally larger than their edit rule counterparts.
The largest recognition rule comprises 77 nodes, 154 edges, and 20 attributes in
the FM case and 73 nodes, 81 edges, and 40 attributes in the UML case.
4.3
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Constraint Translation Rules</title>
        <p>
          Context and objectives OCL is the standard technology to restrict the set of
models that can be created from a given meta-model. A meta-model and its OCL
constraints together provide a declarative de nition of a modeling language. Yet
in some situations, a constructive de nition of the language may be required, e.g.,
to systematically enumerate all possible models for veri cation purposes. Such
a constructive approach is provided by graph grammars [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. To integrate these
metamodel- and grammar-based approaches to language de nition, [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] describes
a migration technique that transforms the OCL constraints contained in a
metamodel to application conditions in grammar rules, using nested graph constraints
(NGCs) as an intermediate form.
        </p>
        <p>Models and Meta-Models As input models for our benchmark, we used an
assortment of ten OCL constraints designed for a large coverage of applicable
rules. The size of the input models, comprising meta-models with embedded
constraints as well as the OCL standard library, containing operators and literals
referenced by the constraints, ranges from 1832 to 1854 model elements</p>
        <p>
          OCL2NGC is an exogenous model transformation. Its implementation
involves three meta-models: The OCL pivot meta-model1 acts as source
metamodel. The NGC meta-model, provided as part of the benchmark, acts as target
meta-model. The trace meta-model2 acts as a language-agnostic auxiliary
metamodel to manage the correspondence between source and target model elements.
1 https://wiki.eclipse.org/MDT/OCL/Pivot Model
2 https://wiki.eclipse.org/Henshin Trace Model
Rules Our implementation of the transformation described in [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] comprises a
model transformation system with 54 rules. In addition, a control ow to guide
the rule execution is speci ed, using the Henshin concept of transformation units.
The main performance bottleneck, which we call bottleneck rule subset (BRS),
is a subset of 36 rules that are applied in batch mode, i.e., as long as one of them
can be matched.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>Benchmark Repository</title>
        <p>We provide the benchmark set together with an evaluation framework at GitHub:
https://github.com/dstrueber/bigtrafo</p>
        <p>Using the benchmark set. For each scenario, we provide a skeleton
demonstrating the application of our evaluation framework to the contained rule set.
For example, a class called OclBenchmark3 contains the skeleton for the
constraint translation scenario. Users can modify this skeleton to customize it to
their own or another model transformation approach.</p>
      </sec>
      <sec id="sec-4-4">
        <title>Contributing to the benchmark set. We encourage the submission of</title>
        <p>additional benchmarks and scenarios by other researchers, ideally in a form that
follows the basic directory and le structure of the available benchmarks. Such
submissions are conveniently supported by GitHub's pull request feature.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        A number of benchmark sets has been introduced in the literature.
Benelallam et al. [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] propose a benchmark set focusing on scalability of queries and
transformations to large input models. A seminal benchmark paper for graph
transformation languages has been contributed by Varro et al. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Bergmann
et al. [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] propose a benchmark set for incremental transformations. None of
these benchmarks addresses the scalability of transformations speci cations.
      </p>
      <p>
        Izso et al. [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] propose a MDE benchmark framework targeting a large variety
of use cases, such as model validation, transformation, and code generation. The
main idea is to de ne benchmarks in a systematic way by assembling them from
reusable benchmark primitives, such as metrics evaluation. The authors also
provide some emerging results, some of them pointing in the direction of the
stance maintained in our paper. An integration of our benchmark set with this
framework is a feasible direction for future work.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this work, we address the scalability of model transformation speci cations,
focusing on the quality goals performance and maintainability. We provide a
publicly available set of benchmark scenarios from our recent work, encouraging
3 https://github.com/dstrueber/bigtrafo/blob/master/de.bigtrafo.benchmark/src/
de/bigtrafo/benchmark/ocl/OclBenchmark.java
other researchers to compare their transformation tools and contribute
additional benchmarks. In the future, we aim to explore the relationship between
large models and transformation speci cations further to investigate the
following research question: when do performance optimizations complement each
other and when does one optimization dominate the other ?</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Matragkas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Cuadrado</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. De Lara</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Rath</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Varro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Tisi</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Cabot</surname>
          </string-name>
          , \
          <article-title>A research roadmap towards achieving scalability in model driven engineering,"</article-title>
          <source>in BigMDE Workshop on Scalability in Model Driven Engineering. ACM</source>
          ,
          <year>2013</year>
          , p.
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Tisi</surname>
          </string-name>
          , \
          <article-title>Towards incremental execution of atl transformations,"</article-title>
          <source>in Proc. of Int. Conference on Model Transformations</source>
          . Springer,
          <year>2010</year>
          , pp.
          <volume>123</volume>
          {
          <fpage>137</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. L. Burguen~o,
          <string-name>
            <given-names>J.</given-names>
            <surname>Troya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          , \
          <article-title>On the concurrent execution of model transformations with linda,"</article-title>
          <source>in BigMDE Workshop on Scalability in Model Driven Engineering. ACM</source>
          ,
          <year>2013</year>
          , p.
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>V.</given-names>
            <surname>Acretoaie</surname>
          </string-name>
          , H. Storrle, and D. Struber, \
          <article-title>Transparent model transformation: Turning your favourite model editor into a transformation tool,"</article-title>
          <source>in Int. Conference on Model Transformations</source>
          . Springer,
          <year>2015</year>
          , pp.
          <volume>283</volume>
          {
          <fpage>298</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. D. Struber, J. Rubin,
          <string-name>
            <given-names>T.</given-names>
            <surname>Arendt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          , G. Taentzer, and J. Ploger, \
          <article-title>RuleMerger: Automatic Construction of Variability-Based Model Transformation Rules,"</article-title>
          <source>in Int. Conference on Fundamental Approaches to Software Engineering</source>
          . Springer,
          <year>2016</year>
          , pp.
          <volume>122</volume>
          {
          <fpage>140</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. D. Struber, J.
          <string-name>
            <surname>Rubin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Chechik</surname>
          </string-name>
          , and G. Taentzer, \
          <article-title>A Variability-Based Approach to Reusable and E cient Model Transformations,"</article-title>
          <source>in Int. Conference on Fundamental Approaches to Software Engineering</source>
          . Springer,
          <year>2015</year>
          , pp.
          <volume>283</volume>
          {
          <fpage>298</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>E.</given-names>
            <surname>Syriani</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Gray</surname>
          </string-name>
          , \
          <article-title>Challenges for addressing quality factors in model transformation,"</article-title>
          <source>in Int. Conference on Software Testing</source>
          ,
          <article-title>Veri cation and Validation</article-title>
          . IEEE,
          <year>2012</year>
          , pp.
          <volume>929</volume>
          {
          <fpage>937</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Perez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , \
          <article-title>A catalogue of refactorings for model-to-model transformations</article-title>
          .
          <source>" Journal of Object Technology</source>
          , vol.
          <volume>11</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>1</volume>
          {
          <issue>40</issue>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>C. M. Gerpheide</surname>
            ,
            <given-names>R. R.</given-names>
          </string-name>
          <article-title>Schi elers, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          , \
          <article-title>A bottom-up quality model for qvto,"</article-title>
          <source>in Int. Conference on the Quality of Information and Communications Technology. IEEE</source>
          ,
          <year>2014</year>
          , pp.
          <volume>85</volume>
          {
          <fpage>94</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. H. Storrle, \
          <article-title>On the Impact of Layout Quality to Understanding UML Diagrams: Size Matters,"</article-title>
          <source>in Int. Conference on Model Driven Engineering Languages and Systems</source>
          . Springer,
          <year>2014</year>
          , pp.
          <volume>518</volume>
          {
          <fpage>534</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>D.</given-names>
            <surname>Blouin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Plantec</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dissaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Singho</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Diguet</surname>
          </string-name>
          , \
          <article-title>Synchronization of models of rich languages with triple graph grammars: An experience report,"</article-title>
          <source>in Int. Conference on Model Transformation</source>
          . Springer,
          <year>2014</year>
          , pp.
          <volume>106</volume>
          {
          <fpage>121</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Kusel</surname>
          </string-name>
          , J. Schonbock, M. Wimmer, G. Kappel,
          <string-name>
            <given-names>W.</given-names>
            <surname>Retschitzegger</surname>
          </string-name>
          , and W. Schwinger, \
          <article-title>Reuse in model-to-model transformation languages: are we there yet?"</article-title>
          <source>Software &amp; Systems Modeling</source>
          , vol.
          <volume>14</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>537</volume>
          {
          <issue>572</issue>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. T. Kehrer,
          <string-name>
            <given-names>U.</given-names>
            <surname>Kelter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ohrndorf</surname>
          </string-name>
          , and T. Sollbach, \
          <article-title>Understanding model evolution through semantically lifting model di erences with silift,"</article-title>
          <source>in Int. Conference on Software Maintenance. IEEE</source>
          ,
          <year>2012</year>
          , pp.
          <volume>638</volume>
          {
          <fpage>641</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. T. Kehrer,
          <string-name>
            <given-names>U.</given-names>
            <surname>Kelter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Reuling</surname>
          </string-name>
          , \
          <article-title>Workspace updates of visual models,"</article-title>
          <source>in Int. Conference on Automated Software Engineering. ACM</source>
          ,
          <year>2014</year>
          , pp.
          <volume>827</volume>
          {
          <fpage>830</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>T.</given-names>
            <surname>Arendt</surname>
          </string-name>
          and G. Taentzer, \
          <article-title>A tool environment for quality assurance based on the eclipse modeling framework,"</article-title>
          <source>Automated Software Engineering</source>
          , vol.
          <volume>20</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>141</volume>
          {
          <issue>184</issue>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>D.</given-names>
            <surname>Reuling</surname>
          </string-name>
          , J. Burdek, S. Rotarmel, M. Lochau, and U. Kelter, \
          <article-title>Fault-based Product-line Testing: E ective Sample Generation Based on Feature-diagram Mutation,"</article-title>
          <source>in International Software Product Line Conference. ACM</source>
          ,
          <year>2015</year>
          , pp.
          <volume>131</volume>
          {
          <fpage>140</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. A.</given-names>
            <surname>Polack</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Rose</surname>
          </string-name>
          , \
          <article-title>Update transformations in the small with the epsilon wizard language,"</article-title>
          <source>Journal of Object Technology</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. T. Kehrer,
          <string-name>
            <given-names>U.</given-names>
            <surname>Kelter</surname>
          </string-name>
          , and G. Taentzer, \
          <article-title>A rule-based approach to the semantic lifting of model di erences in the context of model versioning,"</article-title>
          <source>in Int. Conference on Automated Software Engineering. IEEE</source>
          ,
          <year>2011</year>
          , pp.
          <volume>163</volume>
          {
          <fpage>172</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. T. Mens, \
          <article-title>On the use of graph transformations for model refactoring," in Generative and transformational techniques in software engineering</article-title>
          . Springer,
          <year>2006</year>
          , pp.
          <volume>219</volume>
          {
          <fpage>257</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>K. C. Kang</surname>
            ,
            <given-names>S. G.</given-names>
          </string-name>
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>W. E.</given-names>
          </string-name>
          <string-name>
            <surname>Novak</surname>
            , and
            <given-names>S. A.</given-names>
          </string-name>
          <string-name>
            <surname>Peterson</surname>
          </string-name>
          , \
          <article-title>Feature Oriented Domain Analysis (FODA),"</article-title>
          CMU,
          <source>Tech. Rep.</source>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. J. Burdek, T. Kehrer,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lochau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Reuling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Kelter</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Schurr, \
          <article-title>Reasoning about product-line evolution using complex feature model di erences,"</article-title>
          <source>Journal of Automated Software Engineering</source>
          , pp.
          <volume>1</volume>
          {
          <issue>47</issue>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>A.</given-names>
            <surname>Capozucca</surname>
          </string-name>
          , B. Cheng, N. Guel , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Istoan</surname>
          </string-name>
          , \
          <article-title>OO-SPL modelling of the focused case study,"</article-title>
          <source>in International Workshop on Comparing Modeling Approaches</source>
          ,
          <year>2011</year>
          . [Online]. Available: https://orbilu.uni.lu/bitstream/10993/12572/1/bCMSSPL-complete-submit.pdf
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. Object Management Group, \
          <article-title>Uml 2.4.1 superstructure speci cation,"</article-title>
          <source>OMG Document Number: formal/2011-08-06</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24. H.
          <string-name>
            <surname>Ehrig</surname>
          </string-name>
          , G. Engels, H.
          <article-title>-</article-title>
          <string-name>
            <surname>J. Kreowski</surname>
          </string-name>
          , and G. Rozenberg,
          <article-title>Handbook of Graph Grammars and Computing by Graph Transformation: Volume 2: Applications, Languages and Tools</article-title>
          . world Scienti c,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>T.</given-names>
            <surname>Arendt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Habel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Radke</surname>
          </string-name>
          , and G. Taentzer, \
          <article-title>From Core OCL Invariants to Nested Graph Constraints."</article-title>
          <source>in Int. Conference on Graph Transformation</source>
          . Springer,
          <year>2014</year>
          , pp.
          <volume>97</volume>
          {
          <fpage>112</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>A.</given-names>
            <surname>Benelallam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tisi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Rath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Izso</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          , \
          <article-title>Towards an open set of real-world benchmarks for model queries and transformations,"</article-title>
          <source>in BigMDE Workshop on Scalability in Model Driven Engineering</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27. G. Varro,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Schurr, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          , \
          <article-title>Benchmarking for graph transformation," in IEEE Symposium on Visual Languages and Human-Centric Computing</article-title>
          . IEEE,
          <year>2005</year>
          , pp.
          <volume>79</volume>
          {
          <fpage>88</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. G. Bergmann,
          <string-name>
            <given-names>A.</given-names>
            <surname>Horvath</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Rath</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          , \
          <article-title>A benchmark evaluation of incremental pattern matching in graph transformation,"</article-title>
          <source>in Int. Conference on Graph Transformation</source>
          . Springer,
          <year>2008</year>
          , pp.
          <volume>396</volume>
          {
          <fpage>410</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>B.</given-names>
            <surname>Izso</surname>
          </string-name>
          , G. Szarnyas,
          <string-name>
            <surname>I. Rath</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          , \
          <article-title>Mondo-sam: A framework to systematically assess mde scalability."</article-title>
          <source>in BigMDE Workshop on Scalability in Model Driven Engineering</source>
          ,
          <year>2014</year>
          , pp.
          <volume>40</volume>
          {
          <fpage>43</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>