<!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>DSL/Model Co-Evolution in Industrial EMF-Based MDSE Ecosystems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>J.G.M. Mengerink</string-name>
          <email>j.g.m.mengerink@tue.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>R.R.H. Schiffelers</string-name>
          <email>r.r.h.schiffelers@tue.nl</email>
          <email>r.r.h.schiffelers@tue.nl ramon.schiffelers@asml.com</email>
          <email>ramon.schiffelers@asml.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M.G.J. van den Brand</string-name>
          <email>m.g.j.v.d.brand@tue.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Serebrenik</string-name>
          <email>a.serebrenik@tue.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ASML &amp; Eindhoven Univerisity, of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Eindhoven University of</institution>
          ,
          <addr-line>Technology</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>7</lpage>
      <abstract>
        <p>Model Driven Engineering and Domain Specific Languages (DSLs) are being used in industry to increase productivity, and enable novel techniques like virtual prototyping. Using DSLs, engineers can model a systems in terms of their domain, rather than encoding it in general purpose concepts, like those o↵ered by UML. However, DSLs evolve over time, often in a non-backwards-compatible way with respect to their models. When this happens, models need to be coevolved to remain usable. Because the number of models in an industrial setting grows so large, manual co-evolution is becoming unfeasible calling for an automated approach. Many approaches for automated co-evolution of models with respect to their DSLs exist in literature, each operating in a highly specialized context. In this paper, we present a highlevel architecture that tries to capture the general process needed for automated co-evolution of models in response to DSL evolution, and assess which challenges are still open.</p>
      </abstract>
      <kwd-group>
        <kwd>Model driven engineering</kwd>
        <kwd>evolution</kwd>
        <kwd>domain specific language</kwd>
        <kwd>model</kwd>
        <kwd>maintenance</kwd>
        <kwd>co-evolution</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Model driven (system) engineering MD(S)E is being used
both in industry [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ], and open source [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for developing
software and systems. Systems design using MDE allows for
analysis and feedback early in the design process. A main
driver for doing so is designing domain specific languages
(DSLs), e.g., using the Eclipse Modeling Framework (EMF)
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In EMF, DSLs consist of meta-models [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] eventually
augmented by OCL constraints [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. DSLs allow one to model
systems in terms of their domain, rather then using general
purpose concepts o↵ered by, e.g., UML or SysML [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        We have observed that in an industrial setting, DSLs
often occur in an ecosystem (cf. [
        <xref ref-type="bibr" rid="ref10 ref8 ref9">8, 9, 10</xref>
        ]), i.e., collection
of DSLs with dependencies between them introduced,e.g.,
by language reuse or model-to-model transformations.
Additionally, infrastructural artifacts such as parsers, textual
editors, and graphical editors also reside in this ecosystem.
      </p>
      <p>
        Similarly to traditional software systems and languages [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ],
DSLs evolve over time [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ]. This leads to challenges
with respect to backwards compatibility: artifacts (models,
parsers etc.) from the old version of the DSL may no longer
be valid in the new version of the DSL. To this extent, these
artifacts have to co-evolve to reflect the changes in the DSL.
This is known as the co-evolution problem.
      </p>
      <p>
        Manual co-evolution of these artifacts is tedious,
errorprone, and costly. To mitigate this, we wish to automate the
co-evolution of artifacts in DSL ecosystems to the highest
extent possible. In the literature, various approaches have
been presented towards automating this co-evolution, each
with their own strong and weak points [
        <xref ref-type="bibr" rid="ref14 ref15 ref16 ref17">14, 15, 16, 17</xref>
        ]. For
our industrial case we aim at completeness and formality,
rather than approximation of the various artifacts.
      </p>
      <p>In this paper, we present a high-level architecture that
captures the various steps and components required for
coevolution of models. Subsequently, we examine the
state-ofthe-art in co-evolution research to ascertain to what extent
the state-of-the-art is able to e↵ectuate the proposed
architecture. Lastly, we summarize the open challenges towards
implementing the architecture, and are thus future work for
automating DSL/model co-evolution.</p>
      <p>In the remainder of this paper we discuss DSL
ecosystems (Section 2),and present our architecture and its
components (Section 3), position existing work with respect to
the architecture and determine which components are not
yet supported (Section 4). Next we discuss the
theoretical limitations of the automation (Section 5) and sketch the
directions for future work (Section 6).
2.</p>
    </sec>
    <sec id="sec-2">
      <title>ECOSYSTEMS</title>
      <p>
        In model-driven engineering, the meta-model is the
central artifact that dictates the concepts and structure of other
artifacts. Several related DSLs and their corresponding
artifacts constitute an MDSE ecosystem. When evolving a DSL
in an MDSE ecosystem, artifacts such as models [
        <xref ref-type="bibr" rid="ref14 ref15 ref18 ref19">14, 15,
18, 19</xref>
        ], model-to-model transformations [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ], text and
graphical editors [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] may have to be co-evolved. Di Ruscio,
Iovino and Pierantonio define three categories of co-evolving
0
0 503 1446
2658
artifacts [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]: DSL1/Model co-evolution, DSL/Transformation
co-evolution, and DSL/Editor co-evolution.
      </p>
      <p>
        The driving cases behind our research are several MDSE
ecosystems at ASML, provider of lithography equipment for
the semiconductor industry. The largest ecosystem we
consider is CARM [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] consisting of 22 EMF-based DSLs, 95
QVT model transformations, and 5500 unit-test models
supporting development of these transformations [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>In the CARM ecosystem, models make up the majority
of artifacts. Thus, in this work we focus on DSL/model
coevolution. The model co-evolution e↵ort required by a DSL
evolution can be expected to become bigger when carried
out in the context of an MDSE ecosystem as opposed to a
single DSL and its models. The reasons are threefold: reuse
of concepts from other DSLs, model transformations and
implicit relations between DSLs.</p>
      <p>Indeed, meta-models may reuse concepts from other
metamodels. However, let meta-model X reuse a concept A from
meta-model Y . If A in Y evolves, models of meta-model X
reusing A (from Y ) might need to co-evolve. Hence,
evolution of a single DSL, can cause co-evolution of models in
other DSLs.</p>
      <p>
        Similar ripple e↵ ects [
        <xref ref-type="bibr" rid="ref25 ref26">25, 26</xref>
        ] might be caused by model
1We consider a DSL to consist of a meta-model enriched
with OCL constraints. The original work of Di Ruscio,
Iovino and Pierantonio considered meta-models only.
transformations. Assume a transformation T transforms a
concept A in meta-model X to a concept B in Y . If A is
evolved to include additional information, one might have to
co-evolve T to incorporate this new information.
Additionally, Y might not be expressive enough to encode the new
information, and B itself has to be co-evolved too.
      </p>
      <p>
        Lastly, not all relations between artifacts in MDSE
ecosystems are modeled (or specified) explicitly. There can also be
implicit relations, such as the classic software co-change as
described by Zimmerman et al. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Similar relations exist
for MDSE and similar solutions can be presented [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ].
      </p>
      <p>To illustrate the ripple e↵ect issue in CARM consider
DSLs PGWB and Basics. PGWB reuses concepts from Basics.
Evolution of PGWB and Basics is shown in Figures 1 and
2, respectively. Around revision 4100 we see an increase in
the number of classes, enumeration literals and references
in Basics language. The corresponding change in PGWB is
barely visible. However, Figure 3 shows that there is a large
number of PGWB models that are being co-evolved around
revision 4100, in response to the evolution in Basics.</p>
      <p>This example illustrates that presence of inter-DSL
dependencies in an MDSE ecosystem causes a ripple e↵ect and
increases costs of manual maintenance. Hence, an automatic
approach is required to facilitate co-evolution of artifacts in
MDSE ecosystems.
3.</p>
    </sec>
    <sec id="sec-3">
      <title>A HIGH-LEVEL ARCHITECTURE FOR</title>
    </sec>
    <sec id="sec-4">
      <title>CO-EVOLVING MODELS</title>
      <p>As described in Section 2, several types of artifacts must
co-evolve in response to DSL evolution. In this section we
present a high-level architecture for co-evolving models in
response to DSL evolution. However, a similar architecture
may be used for other artifacts. We focus on models (rather
than model transformations or editors) since models make
up the majority of CARM artifacts. Moreover, we focus on
co-evolving a single (arbitrary) model in response to the
evolution of a single DSL. In the case where there are multiple
DSLs, we can treat them as a single DSL by resolving all
inclusions and dependencies. When more models are involved,
the proposed process can simply be repeated for each model
individually, as we have no assumptions on the model, other
than that it is a valid model for the first version of the DSL.</p>
      <p>Figure 4 presents a high-level architecture for model
coevolution. The process starts when a DSL (1) evolves (2) to
(9)
a new version (3). Consequently, models (4) conforming (5)
to that DSL (1) should co-evolve (6) into models (7)
conforming (8) to the new version of the DSL (3). Since manual
co-evolution of models is too costly, we aim to (partially)
automate the co-evolution by providing a specification (13) of
how models should co-evolve (6) in a dedicated formalism
(14). To ease the creation of a co-evolution specification
(13), we wish to use a DSL evolution specification (10) to
derive (11) a partial co-evolution specification (13).</p>
      <p>We stress that one can neither expect the automation nor
the co-evolution specification to be complete. Theoretical
limitations of the approach are discussed in Section 5.</p>
      <p>
        To support the architecture in Figure 4, one has to
implement components listed in Table 1. First of all, a formalism
is required to model DSL evolution. This formalism can
be further decomposed into two components: C1, a way to
model meta-model evolution (12), and C2, a way to model
OCL-constraint evolution (12). Furthermore, once the
formalism has been chosen a separate component C3 should
focus on obtaining an evolution specification (9,10), e.g., by
inspecting previous changes [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
      </p>
      <p>In order to co-evolve models in response to DSL evolution,
one needs C4, a mechanism deciding whether model (4,7) is
well-formed (5,8) for a given DSL (1,3), as well as C5 a way
to describe model co-evolution (13,14).</p>
      <p>Once C4 and C5 are available, one needs to determine
whether all models would be correctly co-evolved by the
co-evolution specification, with respect to the evolution of
DSLs. As most DSLs only formally define syntax, and not
semantics, this is not a question that can be answered. Hence,
we merely require presence of a component, C6, capable
of determining whether every (syntactically) valid artifact
for DSL version 1 can be co-evolved with respect to a
coevolution specification to a (syntactically) valid artifact for
DSL version 2. Finally, co-evolution specification depends
on the evolution specification, i.e., we need the component,
C7, presenting a way to do we derive (11) a co-evolution
specification (13) from an evolution specification (10).
4.</p>
    </sec>
    <sec id="sec-5">
      <title>EXISTING WORK</title>
      <p>
        In the literature, several approaches exist that implement
(part) of the architecture presented in Figure 4. As
mentioned above, although approaches exist for co-evolving
transformations [
        <xref ref-type="bibr" rid="ref20 ref21 ref29">21, 29, 20</xref>
        ] and editors [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], we focus on DSL/model
co-evolution, as models constitute the vast majority of
artifacts in the ASML ecosystems. In the remainder of this
section, we discuss previous approaches to DSL/model
coevolution and map them onto our architecture. In this way
we assess the state-of-the-art and identify directions for
further research. Our discussion of the previous work is
indebted to earlier surveys [
        <xref ref-type="bibr" rid="ref13 ref30">30, 13</xref>
        ].
      </p>
      <p>
        The approaches we survey (primarily) target EMF-based
DSLs. Additional ways to construct DSLs exist [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], with
the corresponding ways of dealing with co-evolution.
      </p>
      <sec id="sec-5-1">
        <title>Specifying Evolution: (10,12).</title>
        <p>
          To allow for the specification of meta-model evolution
(10), a formalism is required to capture the evolutionary
steps of a meta-model from its original to its evolved
version. To this extent we have computed a complete library of
atomic evolutionary steps based on the meta-meta-model [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ].
Using this library, every sequence of evolutionary steps can
be described allowing the implementation of C1.
        </p>
        <p>
          Alternatively, a generic model-to-model transformation
language such as QVT [
          <xref ref-type="bibr" rid="ref33 ref34">33, 34</xref>
          ], or a meta-model
independent di↵erence DSL such as EMFCompare [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ] can be used.
        </p>
        <p>However, to the best of our knowledge, for OCL (C2) a
dedicated formalism is still needed.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Obtaining an Evolution Specification: (9,10).</title>
        <p>There are several ways of obtaining an evolution
specification, which can be divided into two categories: automatic
evolution specification approximation and manual evolution
specification specification.</p>
        <p>
          Automatic evolution specification approximation is also
known as di↵erencing. Such approaches such as
EMFMigrate [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] and EMFCompare [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ] compare the original and
evolved meta-model to extract a specification of the
difference. A known shortcoming of these approaches is the
inability to choose between several evolution specifications
that can lead from the original meta-model to the evolved
one. For instance, when renaming a class, an identical result
may be achieved by deleting the old class and creating a new
class. Rose et al. [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] argue that no di↵erencing approach
can always choose the correct evolution specification.
        </p>
        <p>
          Manual Evolution Specification Specification can be achieved
by means of a predefined collection of operators, or by
recording changes. Operator-based methods [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] specify
evolution by means of operators, that each encode a
(frequentlyoccurring) pattern of co-evolution. The applicability of this
approach relies heavily on the available operators. The
stateof-the-art operator-based tool is Edapt2 [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ], which we have
evaluated [
          <xref ref-type="bibr" rid="ref37">37</xref>
          ], and improved [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ]. Change recording
approaches record the actions performed on the meta-model
by the user in order to obtain an evolution specification.
This mitigates the problem presented by the di↵erencing
approach, but only is the user works in the correct way. That
is, if a user deletes and adds a class, did they indeed intend
a delete and add, or did they really intend a rename?
        </p>
        <p>Summarizing, various approaches can be found in the
literature to implement C3.</p>
      </sec>
      <sec id="sec-5-3">
        <title>DSL/Model Conformance: (5,8).</title>
        <p>When a DSL evolves, we can wonder which models are
valid before the evolution, and which models are valid after
the evolution.</p>
        <p>
          Schoenboeck et al. have formalized conformance into a
number of OCL constraints [
          <xref ref-type="bibr" rid="ref39">39</xref>
          ]. However, this work does
not cover all constraints used by modern meta-modeling
frameworks such as EMF [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Gonza´lez et al. have created
a transformation from EMF (including OCL constraints) to
a constraint solving language CSP [
          <xref ref-type="bibr" rid="ref40">40</xref>
          ]. This CSP
specification then precisely describes all valid model instances.
Lastly, Anastasakis et al. have created a similar
transformation that formalizes a UML diagram [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ] into Alloy [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ].
        </p>
        <p>Summarizing, the existing formalisms allow one to
describe the set of all valid models for a given meta-model,
implementing component C4.</p>
      </sec>
      <sec id="sec-5-4">
        <title>Specify Co-Evolution: (13,14).</title>
        <p>
          For the specification of co-evolution, several mature
languages/tools exist, the most generic being QVT [
          <xref ref-type="bibr" rid="ref33 ref34">33, 34</xref>
          ].
Specifically for the co-evolution of models, a tool called Flock
[
          <xref ref-type="bibr" rid="ref43">43</xref>
          ] exists. We thus consider C5 to be adequately addressed
by these existing tools.
        </p>
      </sec>
      <sec id="sec-5-5">
        <title>Valid Co-Evolution Specification: (4,6,7,13).</title>
        <p>Intuitively, a co-evolution specification takes a model in
the original language as input and yields a semantically
equivalent model in the evolved language as output.
However, DSLs defined by a meta-model and OCL constraints
merely define syntax of the models. Hence, addressing
validity either calls for analysis of semantics specified elsewhere,
or for redefinition of validity in terms of syntax.</p>
        <p>Unfortunately semantics are often not formally specified,
but embedded in code generators and interpreters. Hence,
we relax the notion of validity and require the co-evolution
specification to be total, i.e., every valid model for the
original DSL is mapped to a valid model in the evolved DSL.</p>
        <p>Summarizing, we observe that to the best of our
knowledge, no implementation for C6 is available.</p>
      </sec>
      <sec id="sec-5-6">
        <title>Deriving a Co-Evolution Specification: (10,11,13).</title>
        <p>
          Many of the existing solutions for DSL/model co-evolution,
derive a co-evolution specification from the corresponding
evolution specification [
          <xref ref-type="bibr" rid="ref29 ref36">36, 29</xref>
          ].
        </p>
        <p>
          Additionally, Kappel et al. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] have defined a method
called “Model Transformation By-Example”. The method
2Previously known as COPE
        </p>
        <p>DSL Developer</p>
        <p>M2</p>
        <p>M2
DSL User
starts with the user implementing a co-evolution for a
couple of models. From these sample co-evolution
specifications, they derive a generic co-evolution specification that
should be applicable to all models, dropping the need for an
evolution specification all together.</p>
        <p>However, regardless of the technique chosen, derived
coevolution specification should be total. Otherwise, a
coevolution specification derived might turn out to be useless.
Since no implementation of C6 is available to the best of
our knowledge, we consider implementation of component
C7 to be an open question. Additionally, with respect to
this derivation, there are other limitations to consider, which
we will discuss in Section 5.</p>
      </sec>
      <sec id="sec-5-7">
        <title>Conclusion.</title>
        <p>Having summarized the state-of-the-art for DSL/model
co-evolution, we conclude that the following questions should
be answered, before the DSL/model co-evolution
architecture can be completely implemented:</p>
        <sec id="sec-5-7-1">
          <title>1. C2: How do we specify OCL evolution?</title>
        </sec>
        <sec id="sec-5-7-2">
          <title>2. C6: Is a given co-evolution specification total?</title>
          <p>3. C7: How do we derive a total co-evolution
specification from an evolution specification?
5.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>THEORETICAL LIMITATIONS TO AU</title>
    </sec>
    <sec id="sec-7">
      <title>TOMATION</title>
      <p>In the previous sections, we have defined a number of
components that have to be implemented in order to automate
the co-evolution of models with respect to DSL evolution.</p>
      <p>
        Herrmannsdo¨rfer et al. have already argued that, in
general, no co-evolution specification can fully automate model
co-evolution [
        <xref ref-type="bibr" rid="ref44">44</xref>
        ]. In the same work, the authors present a
solution based on user interaction. However, there are
additional limitations not related to user interaction, but related
to the information available.
      </p>
      <p>Deriving co-evolution specifications from evolution
specifications is hindered by presence of OCL constraints in DSLs.
The OCL constraints are not known by the developer of
(co-)evolution tooling, as they reside at the level of actual
meta-models. We structure the information available to
developer of co-evolution tooling by explain the three di↵erent
levels of information (illustrated in Figure 5).</p>
      <p>
        At level 1 reside the Language Workbench Developers.
They have knowledge of a specific meta-meta-model (e.g.,
Ecore [
        <xref ref-type="bibr" rid="ref45">45</xref>
        ]), but have no knowledge of specific meta-models
(e.g., as the workbench they develop may be used outside
their own company). The challenge they face is that any
tools, or techniques developed must be generic and
applicable to any meta-model conforming to the meta-meta-model.
      </p>
      <p>This means that a researcher wanting to create a complete
and reusable piece of evolution tooling must account for
every possible meta-model, and every combination of possible
OCL constraints on that meta-model. With respect to
coevolutions for these evolutions, every valid instance of that
DSL (i.e., any possible meta-model with any valid
combination of OCL constraints) should be accounted for. We deem
that creating reusable pieces of tooling at this level is,
therefore, unfeasible. What remains is to assist the developers at
the next level in creating good co-evolution specifications.</p>
      <p>
        At level 2 reside the DSL Developers. DSL developers
have knowledge of their own specific meta-model including
the OCL constraints present. Additionally the DSL
developer has access to the evolution specification of that
metamodel and its OCL constraints. However, the DSL developer
may still have no knowledge of which instances (models) of
their DSL actually exist (e.g., because the models are made
at external companies), and must thus (in their work)
account for all possible models. However, tooling exists to
give a formal definition of what a valid model is (e.g.,
using EMFtoCSP [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ]). In this sense, we could help the DSL
developers gain insight into the models that could exist
      </p>
      <p>At the lowest level, level 3, reside the DSL users. These
users actually create models. At this level there is knowledge
of all levels (models, meta-models and meta-meta-models)
and the evolution of meta-models. However, creating tooling
here is not feasible, as it would have to be re-created for
every individual version of every individual DSL.</p>
      <p>As, at level 1 there is not enough information to create
static reusable pieces of (co-evolution) knowledge. One can
never give a fixed mapping from an evolution specification
to a co-evolution specification that works for every
metamodel, because for every such mapping there is a possible
OCL constraint that can contradict the mapping.</p>
      <p>A solution would be to create a function that, given a DSL
(meta-model + OCL) and an evolution specification, yields
a co-evolution specification. Such a function would have to
account for every possible meta-model, and every possible
combination of OCL constraints on that meta-model. At
present, we do not see how to approach this problem.</p>
      <p>We thus believe that creation of the evolution-to-co-evolution
mapping should be carried out at level 2 (DSL developer),
as the DSL developers do have knowledge of which OCL
constraints should be accounted for. The next obvious goal
should thus be to support the DSL developer in creating a
valid mapping (e.g., by creating counter examples of models
that are not validly co-evolved for a given mapping).</p>
    </sec>
    <sec id="sec-8">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>In this paper, we have presented a high-level architecture
for implementing a tool that automates model co-evolution
with respect to DSL evolution to the highest degree possible.
Based on this architecture, we have presented a number of
questions that have to be answered before the architecture
can be fully implemented.</p>
      <p>Furthermore, we have looked at the state of the art in
DSL/model co-evolution to assess to what extent the posed
questions have already been answered. We concluded that
specification of both meta-model evolution, and model
coevolution are supported by existing formalisms, but the
specification of OCL evolution is not. Furthermore, we observe
that there is no formal check whether a given co-evolution
specification is valid, and that this question has to be
answered before co-evolution specifications can be derived from
evolution specifications.</p>
      <p>As future work, we consider formal modeling of co-evolution
specifications and checking whether their validity.
Additionally, we are considering specification of OCL evolution as
future work.
7.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Herrmannsdo</surname>
          </string-name>
          <article-title>¨rfer</article-title>
          , S. Benz, and E. Juergens, “
          <article-title>Automatability of coupled evolution of metamodels and models in practice,” in MoDELS, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2008</year>
          , vol.
          <volume>5301</volume>
          , pp.
          <fpage>645</fpage>
          -
          <lpage>659</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R. R. H.</given-names>
            <surname>Schi</surname>
          </string-name>
          ↵elers, W. Alberts, and
          <string-name>
            <given-names>J. P. M.</given-names>
            <surname>Voeten</surname>
          </string-name>
          , “
          <article-title>Model-based specification, analysis and synthesis of servo controllers for lithoscanners</article-title>
          ,
          <source>” in 6th International Workshop on Multi-Paradigm Modeling. ACM</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Herrmannsdo</surname>
          </string-name>
          ¨rfer,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ratiu</surname>
          </string-name>
          , and G. Wachsmuth, “
          <article-title>Language evolution in practice: The history of GMF,” ser</article-title>
          .
          <source>LNCS</source>
          , vol.
          <volume>5969</volume>
          . Springer,
          <year>2009</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Steinberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Budinsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paternostro</surname>
          </string-name>
          , and E. Merks,
          <source>EMF: Eclipse Modeling Framework 2.0</source>
          , 2nd ed.
          <source>Addison-Wesley</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ku</surname>
          </string-name>
          <article-title>¨hne, “Matters of (meta-</article-title>
          ) modeling,”
          <source>Software &amp; Systems Modeling</source>
          , vol.
          <volume>5</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>369</fpage>
          -
          <lpage>385</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Warmer</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleppe</surname>
          </string-name>
          ,
          <article-title>The Object Constraint Language: Getting Your Models Ready for MDA, 2nd ed</article-title>
          .
          <source>Addison-Wesley</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7] “OMG SysML,” http://www.omgsysml.org/, accessed:
          <fpage>2016</fpage>
          -07-05.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lungu</surname>
          </string-name>
          , “
          <article-title>Towards reverse engineering software ecosystems</article-title>
          ,” in ICSM,
          <year>2008</year>
          , pp.
          <fpage>428</fpage>
          -
          <lpage>431</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Mens</surname>
          </string-name>
          , “Challenges in software ecosystems research,” in ECSA Workshops, I. Crnkovic, Ed. ACM,
          <year>2015</year>
          , pp.
          <volume>40</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>40</lpage>
          :
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Mens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Claes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Grosjean</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          , “
          <article-title>Studying evolving software ecosystems based on ecological models,” in Evolving Software Systems</article-title>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Cleve, Eds. Springer,
          <year>2014</year>
          , pp.
          <fpage>297</fpage>
          -
          <lpage>326</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Businge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          , and
          <string-name>
            <surname>M. G. J. van den Brand,</surname>
          </string-name>
          “
          <article-title>An empirical study of the evolution of eclipse third-party plug-ins,” in IWPSE-EVOL, A</article-title>
          .
          <string-name>
            <surname>Capiluppi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Cleve</surname>
          </string-name>
          , and N. Moha, Eds. ACM,
          <year>2010</year>
          , pp.
          <fpage>63</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>J.-M. Favre</surname>
          </string-name>
          , “
          <article-title>Languages evolve too! changing the software time scale</article-title>
          ,
          <source>” in Principles of Software Evolution</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Herrmannsdo</surname>
          </string-name>
          <article-title>¨rfer and</article-title>
          G. Wachsmuth, “
          <article-title>Coupled evolution of software metamodels and models</article-title>
          ,”
          <source>in Evolving Software Systems</source>
          . Springer,
          <year>2014</year>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>63</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wachsmuth</surname>
          </string-name>
          , “
          <article-title>Metamodel adaptation and model co-adaptation,” in ECOOP, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2007</year>
          , vol.
          <volume>4609</volume>
          , pp.
          <fpage>600</fpage>
          -
          <lpage>624</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , “
          <article-title>Automating co-evolution in model-driven engineering</article-title>
          ,” in IEEE Enterprise Distributed Object Computing Conference,
          <year>2008</year>
          , pp.
          <fpage>222</fpage>
          -
          <lpage>231</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>G.</given-names>
            <surname>Kappel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Langer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Retschitzegger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Schwinger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          , “
          <article-title>Model transformation by-example: A survey of the first wave,” in Conceptual Modelling and Its Theoretical Foundations, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2012</year>
          , vol.
          <volume>7260</volume>
          , pp.
          <fpage>197</fpage>
          -
          <lpage>215</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Etien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mendez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. A. C.</given-names>
            <surname>Polack</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          , “
          <article-title>Comparing Model-Metamodel and</article-title>
          <string-name>
            <surname>Transformation-Metamodel</surname>
          </string-name>
          Co-evolution,”
          <source>in Model and Evolution Workshop</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>B.</given-names>
            <surname>Gruschko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Paige</surname>
          </string-name>
          , “
          <article-title>Towards synchronizing models with evolving metamodels</article-title>
          ,” in Workshop on Model-Driven
          <source>Software Evolution</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Narayanan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Levendovszky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Balasubramanian</surname>
          </string-name>
          , and G. Karsai, “
          <article-title>Automatic domain model migration to manage metamodel evolution,” in MoDELS, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2009</year>
          , vol.
          <volume>5795</volume>
          , pp.
          <fpage>706</fpage>
          -
          <lpage>711</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Garc</surname>
          </string-name>
          ´ıa,
          <string-name>
            <given-names>O.</given-names>
            <surname>Diaz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Azanza</surname>
          </string-name>
          , “
          <article-title>Model transformation co-evolution: A semi-automatic approach,” in SLE, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2013</year>
          , vol.
          <volume>7745</volume>
          , pp.
          <fpage>144</fpage>
          -
          <lpage>163</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Levendovszky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Balasubramanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Narayanan</surname>
          </string-name>
          , and G. Karsai, “
          <article-title>A novel approach to semi-automated evolution of dsml model transformation,” in SLE, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2010</year>
          , vol.
          <volume>5969</volume>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>D.</given-names>
            <surname>Di</surname>
          </string-name>
          <string-name>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>La</surname>
          </string-name>
          <article-title>¨mmel, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , “
          <string-name>
            <surname>Automated</surname>
          </string-name>
          co
          <article-title>-evolution of GMF editor models,” in SLE, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2011</year>
          , vol.
          <volume>6563</volume>
          , pp.
          <fpage>143</fpage>
          -
          <lpage>162</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>D.</given-names>
            <surname>Di Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , “
          <article-title>Evolutionary togetherness: How to manage coupled evolution in metamodeling ecosystems,” in Graph Transformations, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2012</year>
          , vol.
          <volume>7562</volume>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>J.G.M. Mengerink</surname>
            ,
            <given-names>R.R.H.</given-names>
          </string-name>
          <string-name>
            <surname>Schi</surname>
          </string-name>
          <article-title>↵ elers, A</article-title>
          . Serebrenik, and
          <string-name>
            <surname>M.G.J. van den Brand</surname>
          </string-name>
          , “
          <article-title>Evolution specification evaluation in industrial mdse ecosystems</article-title>
          ,” Eindhoven University of Technology,
          <source>Tech. Rep. CSR-15-04</source>
          ,
          <year>2015</year>
          . [Online]. Available: https: //pure.tue.nl/ws/files/3757969/390954927658277.pdf
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Haney</surname>
          </string-name>
          , “
          <article-title>Module connection analysis: A tool for scheduling software debugging activities</article-title>
          ,”
          <source>in Proceedings of the December 5-7</source>
          ,
          <year>1972</year>
          , Fall Joint Computer Conference,
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <article-title>ser</article-title>
          .
          <source>AFIPS '72 (Fall, part I)</source>
          . ACM,
          <year>1972</year>
          , pp.
          <fpage>173</fpage>
          -
          <lpage>179</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Yau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Collofello</surname>
          </string-name>
          , and T. MacGregor, “
          <article-title>Ripple e↵ect analysis of software maintenance,” in Computer Software</article-title>
          and Applications Conference,
          <year>1978</year>
          . COMPSAC '
          <volume>78</volume>
          . The IEEE Computer Society's Second International,
          <year>1978</year>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>65</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>T.</given-names>
            <surname>Zimmermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dallmeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Halachev</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeller</surname>
          </string-name>
          , “
          <article-title>erose: guiding programmers in eclipse,” in Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications</article-title>
          . ACM,
          <year>2005</year>
          , pp.
          <fpage>186</fpage>
          -
          <lpage>187</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>R.</given-names>
            <surname>Jongeling</surname>
          </string-name>
          , “
          <article-title>Change Impact Analysis in Model Driven Software Engineering Ecosystems,” Master's thesis</article-title>
          , Eindhoven University of Technology,
          <source>the Netherlands</source>
          ,
          <year>2016</year>
          . [Online]. Available: http://alexandria.tue.nl/extra1/afstversl/wsk-i/
          <year>Jongeling 2016</year>
          .pdf
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , “
          <article-title>Bridging state-based di↵erencing and co-evolution,”</article-title>
          <source>in Workshop on Models and Evolution. ACM</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>15</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F. A. C.</given-names>
            <surname>Polack</surname>
          </string-name>
          , “
          <article-title>An analysis of approaches to model migration,”</article-title>
          <source>in MoDSE-MCCM Workshop</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>6</fpage>
          -
          <lpage>15</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>S.</given-names>
            <surname>Erdweg</surname>
          </string-name>
          , T. van der Storm, M. Vo¨lter, M. Boersma,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bosman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. R.</given-names>
            <surname>Cook</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gerritsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hulshout</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kelly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Loh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. D. P.</given-names>
            <surname>Konat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Molina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Palatnik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Pohjonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Solmi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Vergu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Visser</surname>
          </string-name>
          , K. van der Vlist,
          <string-name>
            <given-names>G. H.</given-names>
            <surname>Wachsmuth</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. van der Woning</surname>
          </string-name>
          ,
          <source>The State of the Art in Language Workbenches</source>
          . Springer,
          <year>2013</year>
          , pp.
          <fpage>197</fpage>
          -
          <lpage>217</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>J. G. M. Mengerink</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>R. R. H.</given-names>
          </string-name>
          <string-name>
            <surname>Schi</surname>
          </string-name>
          <article-title>↵elers, and</article-title>
          <string-name>
            <surname>M. G. J. van den Brand</surname>
          </string-name>
          , “
          <article-title>A complete operator library for DSL evolution specification</article-title>
          ,” in ICSME,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <surname>“</surname>
            <given-names>QVT</given-names>
          </string-name>
          ,” http://www.omg.org/spec/QVT/, accessed:
          <fpage>2015</fpage>
          -04-07.
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34] “QVTo,” http://www.eclipse.org/mmt/?project=qvto, accessed:
          <fpage>2015</fpage>
          -04-07.
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35] “EMF Compare,” https://www.eclipse.org/emf/compare/, accessed:
          <fpage>2015</fpage>
          -04-07.
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36] “Edapt,” https://www.eclipse.org/edapt/, accessed:
          <fpage>2015</fpage>
          -04-07.
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Vissers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. G. M.</given-names>
            <surname>Mengerink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R. H.</given-names>
            <surname>Schi</surname>
          </string-name>
          <article-title>↵elers, A</article-title>
          . Serebrenik, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reniers</surname>
          </string-name>
          , “
          <article-title>Maintenance of specification models in industry using Edapt,” in</article-title>
          <string-name>
            <surname>FDL</surname>
          </string-name>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <surname>J. G. M. Mengerink</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>R. R. H.</given-names>
          </string-name>
          <string-name>
            <surname>Schi</surname>
          </string-name>
          <article-title>↵elers, and</article-title>
          <string-name>
            <surname>M. G. J. van den Brand</surname>
          </string-name>
          , “Udapt:
          <article-title>Edapt extensions for industrial application,” in IT.SLE, ser</article-title>
          .
          <source>CEUR-WS</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>E.</given-names>
            <surname>Burger</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Toshovski</surname>
          </string-name>
          , “
          <article-title>Di↵ erence-based Conformance Checking for Ecore Metamodels</article-title>
          ,”
          <source>in Proceedings of Modellierung</source>
          <year>2014</year>
          ,
          <article-title>ser</article-title>
          .
          <source>GI-LNI</source>
          , vol.
          <volume>225</volume>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>A</article-title>
          . Gonza´lez, F. Bu¨ttner, R. Clariso´, and
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , “
          <article-title>Emftocsp: A tool for the lightweight verification of emf models,” in Formal Methods in Software Engineering: Rigorous and Agile Approaches, ser</article-title>
          .
          <source>FormSERA '12. IEEE</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>44</fpage>
          -
          <lpage>50</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <surname>“</surname>
            <given-names>UML</given-names>
          </string-name>
          ,” http://www.uml.org/, accessed:
          <fpage>2016</fpage>
          -06-28.
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jackson</surname>
          </string-name>
          ,
          <article-title>Software Abstractions: logic, language, and analysis</article-title>
          . MIT press,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <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>
          , and
          <string-name>
            <given-names>F. A.</given-names>
            <surname>Polack</surname>
          </string-name>
          , “
          <article-title>Model migration with Epsilon Flock,” in Theory and Practice of Model Transformations, ser</article-title>
          .
          <source>LNCS</source>
          . Springer,
          <year>2010</year>
          , vol.
          <volume>6142</volume>
          , pp.
          <fpage>184</fpage>
          -
          <lpage>198</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>M.</given-names>
            <surname>Herrmannsdo</surname>
          </string-name>
          <article-title>¨rfer and D. Ratiu, “Limitations of automating model migration in response to metamodel adaptation,” in MSE, Workshops and Symposia at MODELS, ser</article-title>
          .
          <source>LNCS</source>
          , vol.
          <volume>6002</volume>
          . Springer,
          <year>2009</year>
          , pp.
          <fpage>205</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45] “Ecore,” lhttp://www.eclipse.org/modeling/emf/, accessed:
          <fpage>2016</fpage>
          -7-20.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>