<!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>Modeling Language Evolution for Model Family Support</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sanaa Alwidian</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Electrical Engineering and Computer Science University of Ottawa Ottawa</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>- In Model-Driven Engineering, models can evolve over time or vary along dimensions such as products. Such evolution results in a set of related models called model family. A model family can be captured with a “150% model” that merges the family members, while enabling the extraction of the individual models. In this context however, a 150% model may no longer conform to the original metamodel of the family members. This paper presents my Ph.D. research agenda on inferring the metamodel of a model family from the structure of the metamodel of its members. In particular, I aim to define a technique that minimally relaxes the original metamodel constraints related to multiplicities of attributes and association ends. Although a simpler problem is to infer minimal constraint relaxations from the current family members, the more interesting problem is to predict where such relaxations are needed in the metamodel, so that existing tools and analysis techniques can be adapted once and minimally for a given modeling language. This work is applicable to the regulatory domain, for example, as regulations evolve and have variations that need to be captured and analyzed using slightly different goal models. Such work would also indirectly help the community gain a better understanding of the nature of metamodels.</p>
      </abstract>
      <kwd-group>
        <kwd>Conformance</kwd>
        <kwd>constraint relaxation</kwd>
        <kwd>evolution</kwd>
        <kwd>metamodel</kwd>
        <kwd>Model-Driven Engineering</kwd>
        <kwd>model family</kwd>
        <kwd>variability</kwd>
        <kwd>150% model</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION AND PROBLEM FORMULATION</title>
      <p>
        In Model Driven Engineering (MDE), models and/or their
metamodels evolve continuously and therefore need to be
managed to ensure conformance. The metamodel evolution and
model co-evolution problem [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a well-addressed aspect
of evolution in MDE. In such approaches, a metamodel
evolves from MM to MM’, and then a model co-evolution
from M to M’ is carried out afterward (see Fig. 1). However, to
the best of our knowledge, there is a lack of approaches that
attempt to evolve metamodels in response to model evolution.
We initially refer to this context as the model-triggered
metamodel evolution problem (Fig. 2), characterized as
follows: If a model M (that conforms to a the original
metamodel MM) evolves or varies, resulting in a new model
M’ that is no longer conform to MM, how should we extend
MM (ideally with the least amount of changes) into MM’, in
order for M’ to be conform to MM’?
      </p>
      <sec id="sec-1-1">
        <title>A. Problem Specification.</title>
        <p>
          A model family assembles a set of related models that vary
along some dimension such as time or product in
product/software lines. In a negative variability model (an
approach that starts with a complete model of all variations and
selectively remove deselected artefacts [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]), a model that
captures the union of all members of a model family is often
called “150% model” [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ],[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. A 150% model not only captures
all the family members (for example, to enable analysis on all
members at once), but also enables the extraction of individual
members. In the context of a model family, we observed that
even if each of the family members conforms to the same
metamodel, the 150% model that captures this family may not
conform to that metamodel. Another interesting observation is
that the evolution/variation of models in a family does not
require additions, deletions, or modifications of concepts to the
original metamodel. Hence, in order to support model families
(with large number of models), we only need to relax the
metamodel internal constraints that are related to multiplicities
of attributes and association ends and/or external
wellformedness constraints. The general problem illustrated in Fig.
2 can therefore be simplified and characterized in this context
(see Fig. 3): If models M0..Mn (that conform to a metamodel
MM) are aggregated, resulting in a new model M150 that is no
longer conforming to the original metamodel MM, how should
we extend MM (ideally with the least amount of changes) into
MM150, in order for M150 as well as M0..Mn to conform to
MM150?
        </p>
        <p>M
s
m
r
o
f
n
o
c
MM</p>
        <p>2
Co-evolution</p>
        <p>1
Evolution</p>
        <p>M’
s
m
r
o
f
n
o
c</p>
        <p>M
s
m
r
o
f
n
o
c</p>
        <p>MM</p>
        <p>
          This work is inspired by issues faced with regulation
modeling, in collaboration with Transport Canada, where there
are regulations for different types of parties (e.g., airports and
airlines of different sizes) requiring slightly different goal
models [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]-[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. If we try to capture all model variants with one
goal model (e.g., using the Goal-oriented Requirement
Language – GRL [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]) to minimize maintenance problems, we
would face conformance issues because the language does not
permit to capture the family with one model. For example,
GRL limits the number of links between a pair of goals to 1,
whereas the family model may need many. This is an issue
along the product dimension, which is not limited to GRL but
also common to most modeling languages. Similar problems
occur along the time dimension when a model evolves. If a
product has many versions over time, and if we want to
analyze all versions (e.g., before releasing a patch that would
affect them all), a 150% model would allow reasoning about all
members at once, instead of reasoning about each member
individually. The concern here is not in constructing the 150%
model itself. Rather, the challenge emerges when 150% models
violate conformance with the original metamodel, MM. In this
case, we need to relax MM into MM150 to ensure that this
150% model is representable. A minimal relaxation is desirable
in this context to minimize potential modifications to existing
tools and analysis approaches.
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>C. Scope of the Work.</title>
        <p>This work focuses on inferring the metamodel of a model
family from the structure of the metamodel of its members
through a minimal set of constraint relaxations. We are not
dealing with the more general problem of inferring a
metamodel from a collection of models that conform to
different metamodels; our member models all use the same
language. Also, we are not dealing with dynamic metamodel
co-evolution upon changes; generating a new metamodel each
time there is a new member added to the family is not practical,
as this would imply developing new tools (for producing,
analyzing, and transforming 150% models) each time. We are
also not looking at language-specific solutions, e.g., through
using metadata or user links in GRL. The ongoing challenge of
this research is hence to predict the locations where metamodel
relaxations are needed, without relaxing too much. Our
longterm goal is hence to develop tools for the relaxed language
only once. This research questions hence are:</p>
        <p>RQ1: How can we minimally relax a metamodel to
support a model family (through a 150% model) in a
way that enables the generation of all (and only)
individual members?
RQ2: How can we predict where relaxation is needed
(i.e., relaxation points) in the original metamodel, for all
potential 150% models of a specific language?
RQ3: To what extent can the current tools and analysis
techniques be adapted to model families (with
minimum adaptation effort) to reason on all members of
a 150% model?</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>II. RELATED WORK</title>
      <p>
        Several approaches manage evolution of MDE models and
metamodels in two directions: metamodel evolution and model
co-evolution [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ],[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] (Fig. 1) and operation
coevolution [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]-[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. In both directions, the goal is to update
models and/or operations so that they conform to their evolved
metamodel. In addition, metamodels can be extended with
profiles such as in the UML.2x profile mechanism [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] to
further restrict the metamodel’s constructs and enforce the
well-formedness of models of the domain-specific language.
Furthermore, approaches for (meta)model
decoration/annotation, such as the one from Kolovos et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]
have been used in an extension context. Model versioning
approaches [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ]-[
        <xref ref-type="bibr" rid="ref21">20</xref>
        ] have also been proposed to handle model
evolution and track it through versioning, where differences
between versions of the same model are detected. Run-time
oriented approaches, such as EMF Facets [
        <xref ref-type="bibr" rid="ref22">21</xref>
        ], allow
metamodel extension by adding classes, attributes or
containment references. Aprajita et al. [
        <xref ref-type="bibr" rid="ref23">22</xref>
        ], [
        <xref ref-type="bibr" rid="ref24">23</xref>
        ] explicitly
extended the metamodel of GRL to document explicit changes
of model elements to specific versions of a metamodel. In [
        <xref ref-type="bibr" rid="ref25">24</xref>
        ],
I have proposed the theoretical foundation of this work. The
paper discussed the problem of metamodel relaxation to
support evolution of models in the context of model families,
and proposed a solution of predicting the locations of
relaxations in a metamodel through tracking versions of
members in a model family.
      </p>
      <p>
        As the resulting artifact of this PhD thesis will be an
evolved (e.g., relaxed) meta-model to accommodate model
families, the above approaches are considered as related work.
However, there are three major conceptual differences between
my proposed work and existing approaches. The first
difference is the driving factor of evolution. While existing
approaches deal with models and/or operations co-evolution
triggered by metamodel evolution, our work targets the
evolution/relaxation of metamodels triggered by model
evolution or variation, in the context of model families. The
second difference is that unlike the existing approaches that
conduct transformation/migration of models each time a
metamodel changes, our approach aims to infer a single
relaxed metamodel that accommodates all potential 150%
models of a language, so as to develop tools for this relaxed
metamodel only once. Finally, some of the related approaches
either add new concepts to the original metamodel [
        <xref ref-type="bibr" rid="ref22">21</xref>
        ], or
modify the language’s validity constraints by further
constraining their restrictions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], while our approach relaxes
some constraints instead. The approach of [
        <xref ref-type="bibr" rid="ref23">22</xref>
        ], [
        <xref ref-type="bibr" rid="ref24">23</xref>
        ] is
currently specific to one language and supports limited kinds of
changes to versions.
      </p>
    </sec>
    <sec id="sec-3">
      <title>III. PROPOSED SOLUTION</title>
      <p>
        I propose a Metamodel Relaxation approach, MeRe, to
support the representation of model families by means of
minimally relaxing particular constraints related to
multiplicities and/or association ends. MeRe works in four
main phases to enable metamodel relaxation: first, the union of
all model elements in all valid members of a model family is
captured by one single model, M150, as in [
        <xref ref-type="bibr" rid="ref26">25</xref>
        ]. Second,
changes among the different versions of models are detected
through the use of M150, whose elements can now be extended
with a delta (∆) annotation. The ∆ denotes a change of
elements and/or links from M1 to M2 (for example, a GRL
decomposition link in M1 becomes a contribution link in M2).
This delta could be inferred by calculating the difference
between M1 and M2, Diff (M1, M2), using, for example, the
approach proposed by Rivera et al. [
        <xref ref-type="bibr" rid="ref27">26</xref>
        ]. The purpose of this
phase is to detect and extract pairs of elements that have
changed, denoted as Ei and Ei∆. Third, conformance between
the original metamodel MM and the M150 model is verified.
This is done by checking if the co-existence of change pairs
(obtained in phase 2) in the same model could cause a violation
of association/attribute multiplicities or other external (OCL)
constraints of MM. For instance, two different links between
the same pair of GRL goals will cause a violation. If
nonconformance is detected, the fourth phase takes place, where
the modeler decides on the relaxation points. At this level, it is
still challenging to predict the exact locations of metamodel
multiplicities that need to be relaxed, independently of the
models in a family. Note that we do not have to follow a naïve
brute-force approach and relax all multiplicity constraints and
external constraints in the metamodel. Instead, we need to
identify a technique to predict automatically where relaxation
is needed in the metamodel, based on its structure or,
empirically, on patterns of usages of the language.
      </p>
    </sec>
    <sec id="sec-4">
      <title>IV. PLAN FOR EVALUATION AND VALIDATION</title>
      <p>
        I am planning to validate and evaluate my PhD work
following some of the methods described in [
        <xref ref-type="bibr" rid="ref28">27</xref>
        ],[
        <xref ref-type="bibr" rid="ref29">28</xref>
        ]. In
particular, I will demonstrate the applicability of MeRe
empirically, based on a large collection of models. As a first
step, I will consider several models of products and several of
their versions, and construct M150 for each family. In addition,
I will consider the use of one model repository [
        <xref ref-type="bibr" rid="ref30">29</xref>
        ] to generate
a set of virtual model versions or families, and also construct
M150 for them. For each of these M150, if it violates MM, I
will relax MM to MM150, with the minimum amount of
changes such that MM150 would be small enough to only
accommodate the members of a particular M150. To predict
where relaxation is needed in MM (and to decide when to stop
relaxing MM) for all potential M150 (RQ2), I will capture all
M150 (from first step) in one single M150 called BigM150,
and infer a relaxed metamodel called BigMM150. Then I will
conduct a comparison based on differences between
BigMM150 and each of the MM150 that I got before. The
purpose of this step is to identify and predict relaxation points
in BigMM150. Prediction quality will be measured with
common metrics (e.g., precision and recall). These steps will
be done for at least 3 languages (GRL, UML, and another one
to be decided), so the results are not language dependent. I am
then planning to conduct case studies from domains with
highly evolving models, such as regulation modeling (section
1) to examine the applicability of the proposed approach in
practice.
      </p>
    </sec>
    <sec id="sec-5">
      <title>V. EXPECTED CONTRIBUTIONS</title>
      <p>By addressing RQ1-RQ3, this research will provide these
scientific contributions:
• Characterization of the requirements for minimally
relaxing modeling languages to support all potential
150% models of a language (RQ1).
•
•
•</p>
      <p>Prediction heuristics for the locations where metamodel
relaxations are needed, so that existing tools and
analysis techniques be adapted once for families (RQ2).
Examples of tools and analysis techniques evolved to
support MM150, for two languages. This will enable
reasoning about all family members at once (RQ3).</p>
    </sec>
    <sec id="sec-6">
      <title>Proof-of-concept tool support for MeRe.</title>
    </sec>
    <sec id="sec-7">
      <title>VI. CURRENT STATUS</title>
      <p>As of July 2017, I did a literature review of the
model/metamodel evolution problem over the last 10 years and
derived a characterization of the model-triggered metamodel
evolution problem in the context of model families. A paper
accepted in the ME’2017 workshop covers the theoretical
foundations of this work. I am working towards formalizing
models and metamodels based on ontologies to infer patterns
of relaxation needed in the metamodel. A publication on this
topic is the next step. The evaluation and validation of MeRe is
currently in progress, with a paper planned for submission in
the fall 2017. I intend to carry out integration of MeRe with a
modeling tool as a prototype. I aim for a journal paper in 2018
that summarizes my findings and combines them with results
of a case study. I aim for the publication of the PhD thesis by
the end of 2018.</p>
    </sec>
    <sec id="sec-8">
      <title>VII. CONCLUSION</title>
      <p>This paper presents my research motivation, problem
statement, proposed solution, evaluation plan and the current
progress on the MeRe approach. The ongoing challenge of this
research is to predict metamodel relaxations points such that
existing tools and analysis techniques would be adapted once
for all potential model families.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sprinkle</surname>
          </string-name>
          and G. Karsai, “
          <article-title>A domain-specific visual language for domain model evolution</article-title>
          ,
          <source>” Journal of Visual Languages and Computing</source>
          ,
          <volume>15</volume>
          (
          <issue>3-4</issue>
          ), pp.
          <fpage>291</fpage>
          -
          <lpage>307</lpage>
          ,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</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 coevolution in model-driven engineering</article-title>
          ,
          <source>” in 12th International Enterprise Distributed Object Computing Conference (EDOC)</source>
          , pp.
          <fpage>222</fpage>
          -
          <lpage>231</lpage>
          . IEEE Computer Society,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Polzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Merschen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Botterweck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pleuss</surname>
          </string-name>
          , J. Thomas,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hedenetz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Kowalewski</surname>
          </string-name>
          , “
          <article-title>Managing complexity and variability of a model-based embedded software product line</article-title>
          ,
          <source>” Innovations in Systems and Software Engineering</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>35</fpage>
          -
          <lpage>49</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Palmieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Collet</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Amyot</surname>
          </string-name>
          , “
          <article-title>Handling regulatory goal model families as software product lines</article-title>
          ,” in Advanced Information Systems Engineering-27th International Conference, LNCS, vol.
          <volume>9097</volume>
          , pp.
          <fpage>181</fpage>
          -
          <lpage>196</lpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Shamsaei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Amyot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pourshahid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Mussbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tawhid</surname>
          </string-name>
          , E. Braun, and
          <string-name>
            <given-names>N.</given-names>
            <surname>Cartwright</surname>
          </string-name>
          , “
          <article-title>An approach to specify and analyze goal model families,” in 7th System Analysis</article-title>
          and
          <string-name>
            <surname>Modelling (SAM) Workshop</surname>
          </string-name>
          , LNCS, vol.
          <volume>7744</volume>
          , pp.
          <fpage>347</fpage>
          -
          <lpage>52</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Tawhid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Alhaj</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Mussbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Braun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Cartwright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shamsaei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Amyot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.A.</given-names>
            <surname>Behnam</surname>
          </string-name>
          , and G. Richards, “
          <article-title>Towards Outcome-Based Regulatory Compliance in Aviation Security,” in 20th IEEE Int</article-title>
          .
          <source>Requirements Engineering Conference (RE'12)</source>
          , pp.
          <fpage>267</fpage>
          -
          <lpage>272</lpage>
          . IEEE CS,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Amyot</surname>
          </string-name>
          and G. Mussbacher, “
          <article-title>User Requirements Notation: The first ten years, the next ten years</article-title>
          ,
          <source>” Journal of Software</source>
          ,
          <volume>6</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>747</fpage>
          -
          <lpage>768</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Davide</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>Meta-model differences for supporting model co-evolution,”</article-title>
          <source>in Proceedings of the 2nd Workshop on Model-Driven Software Evolution (MODSE)</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . Université de Nantes,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Gruschko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Goldschmidt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Koziolek</surname>
          </string-name>
          , “
          <article-title>A process model and classification scheme for semi-automatic meta-model evolution</article-title>
          ,” in 1st
          <string-name>
            <surname>Workshop</surname>
            <given-names>MDD</given-names>
          </string-name>
          ,
          <article-title>SOA und IT-Management (MSI), GI</article-title>
          , GiTO-Verlag, pp.
          <fpage>35</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <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. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          , “
          <article-title>Towards synchronizing models with evolving metamodels</article-title>
          ,” in International Workshop on Model-Driven
          <source>Software Evolution, paper 3</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Davide</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ludovico, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , “
          <article-title>A methodological approach for the coupled evolution of metamodels and ATL transformations,” in ICMT 2013: Theory and Practice of Model Transformations, LNCS</article-title>
          , vol.
          <volume>7909</volume>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>75</lpage>
          . Springer, Berlin, Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Méndez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Etien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Muller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Casallas</surname>
          </string-name>
          , “
          <article-title>Transformation migration after metamodel evolution,”</article-title>
          <source>in Proc. Model and Evolution Workshop</source>
          (ME'10), &lt;
          <fpage>inria</fpage>
          -
          <lpage>00524145</lpage>
          &gt;,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B.</given-names>
            <surname>Gruschko</surname>
          </string-name>
          , “
          <article-title>Towards structured revisions of metamodels and semiautomatic model migration,” Position Paper for the Eclipse Modeling Symposium</article-title>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>J. M. Sprinkle</surname>
          </string-name>
          ,
          <article-title>Metamodel driven model migration</article-title>
          . dissertation, Vanderbilt University, Nashville, USA,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>OMG</surname>
          </string-name>
          ,
          <string-name>
            <surname>Unified Modeling</surname>
          </string-name>
          <article-title>Language (UML), Version 2</article-title>
          .5, formal/2015- 03-01,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <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. D.</given-names>
            <surname>Matragkas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. A. C.</given-names>
            <surname>Polack</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K. J.</given-names>
            <surname>Fernandes</surname>
          </string-name>
          , “
          <article-title>Constructing and navigating non-invasive model decorations,” in ICMT 2010, LNCS</article-title>
          , vol.
          <volume>6142</volume>
          , pp.
          <fpage>138</fpage>
          -
          <lpage>152</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Springer</surname>
          </string-name>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alanen</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Porres</surname>
          </string-name>
          , “
          <article-title>Version control of software models,” in Advances in UML and XML-Based Software Evolution</article-title>
          ,
          <string-name>
            <surname>Chapter</surname>
            <given-names>III</given-names>
          </string-name>
          , pp.
          <fpage>47</fpage>
          -
          <lpage>70</lpage>
          . Idea Group Publishing,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>H.</given-names>
            <surname>Oliveira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Murta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Werner</surname>
          </string-name>
          , “
          <article-title>Odyssey-VCS: a flexible version control system for UML model elements,”</article-title>
          <source>in Proc. 12th Int. Workshop on Software Configuration Management</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          . ACM,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>K.</given-names>
            <surname>Altmanninger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Kappel</surname>
          </string-name>
          , et al.,
          <source>“AMOR - towards adaptable model versioning,” in 1st International Workshop on Model Co-Evolution and Consistency Management (MCCM'08)</source>
          , Workshop at MODELS'
          <volume>08</volume>
          , Toulouse, France,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.</given-names>
            <surname>Koegel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Helming</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Seyboth</surname>
          </string-name>
          , “
          <article-title>Operation-based conflict detection and resolution</article-title>
          ,”
          <source>in CVSM'09: Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models</source>
          , pp.
          <fpage>43</fpage>
          -
          <lpage>48</lpage>
          . IEEE Computer Society,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>EMF</given-names>
            <surname>Facet</surname>
          </string-name>
          , http://eclipse.org/facet [online; accessed:
          <source>April</source>
          <year>2017</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Aprajita</surname>
            and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Mussbacher</surname>
          </string-name>
          , “TimedGRL:
          <article-title>Specifying goal models over time,” in 6th Int</article-title>
          .
          <string-name>
            <surname>Model-Driven Requirements</surname>
          </string-name>
          Engineering Workshop (MoDRE), pp.
          <fpage>125</fpage>
          -
          <lpage>134</lpage>
          . IEEE CS,
          <year>2016</year>
          . doi:
          <volume>10</volume>
          .1109/REW.
          <year>2016</year>
          .
          <volume>035</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Aprajita</surname>
            ,
            <given-names>S. Luthra.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Mussbacher “Specifying Evolving Requirements Models with TimedURN”</article-title>
          . 9th Workshop on Modelling in Software Engineering (MiSE
          <year>2017</year>
          ), Buenos Aires, Argentina, pp.
          <fpage>26</fpage>
          -
          <lpage>32</lpage>
          , May
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S.</given-names>
            <surname>Alwidian</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Amyot “Relaxing Metamodels for Model Family Support”</article-title>
          .
          <source>11th Workshop on Models and Evolution (ME</source>
          <year>2017</year>
          ), Austin, USA, Sept.
          <year>2017</year>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Antkiewicz</surname>
          </string-name>
          , “
          <article-title>Mapping features to models: a template approach based on superimposed variants,” in GPCE 2005, LNCS</article-title>
          , vol.
          <volume>3676</volume>
          , pp.
          <fpage>422</fpage>
          -
          <lpage>437</lpage>
          . Springer Berlin Heidelberg,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>J.E.</given-names>
            <surname>Rivera</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          , “
          <article-title>Representing and operating with model differences</article-title>
          ,” in International Conference on Objects, Components, Models and Patterns, LNBIP, vol.
          <volume>11</volume>
          , pp.
          <fpage>141</fpage>
          -
          <lpage>160</lpage>
          . Springer Berlin Heidelberg,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>B.</given-names>
            <surname>Kitchenham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Linkman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Law</surname>
          </string-name>
          , “
          <article-title>Desmet: a methodology for evaluating software engineering methods and tools”</article-title>
          .
          <source>Computing &amp; Control Engineering Journal</source>
          ,
          <volume>8</volume>
          (
          <issue>3</issue>
          ):
          <fpage>120</fpage>
          -
          <lpage>126</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>P.</given-names>
            <surname>Runeson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Höst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rainer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Regnell</surname>
          </string-name>
          ,
          <source>Case Study Research in Software Engineering - Guidelines and Examples</source>
          . Wiley,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>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>Collaborative Repositories in Model-Driven Engineering”</article-title>
          , IEEE Software,
          <volume>32</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>28</fpage>
          -
          <lpage>34</lpage>
          , May
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>