<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards a Novel Model Versioning Approach based on the Separation between Linguistic and Ontological Aspects</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Antonio Cicchetti</string-name>
          <email>antonio.cicchetti@mdh.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Federico Ciccozzi</string-name>
          <email>federico.ciccozzi@mdh.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Innovation, Design and Engineering Ma ̈lardalen University</institution>
          ,
          <addr-line>SE-721 23, Va ̈stera ̊s</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>With the increasing adoption of Model-Driven Engineering (MDE) the support of distributed development and hence model versioning has become a necessity. MDE research investigations targeting (meta-)model versioning, conflict management, and model co-evolution have progressively recognized the importance of tackling the problem at higher abstraction level and a number of solving techniques have been proposed. However, in general existing mechanisms hit the wall of semantics, i.e. when not only syntax is involved in the manipulations the chances for providing precision and automation are remarkably reduced. In this paper we illustrate a novel version management proposal that leverages on the separation between linguistic and ontological aspects involved in a (meta)modelling activity. In particular, we revisit the main versioning tasks in terms of the mentioned separation. The aim is to maximize the amount of versioning problems that can be automatically addressed while leaving the ones intertwined with domain-specific semantics to be solved separately, possibly by means of semi-automatic techniques and additional precision.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Model-Driven Engineering (MDE) promises to reduce software development
complexity by shifting the focus from coding to modelling. Models become first-class citizens
and they represent abstractions of real-phenomena tailored to a specific purpose. In
this respect they are an appropriate composition of concepts, whose well-formedness is
specified by means of a metamodel. Moreover, model transformations are exploited to
manipulate models to perform analysis and generate code. Given the relevance gained
by models, they are expected to be affected by the same evolutionary pressure source
code experienced in the past. Therefore, if MDE approaches are not able to provide
evolution support at least comparable with the one existing for text-based software
development, MDE adoption would be remarkably hindered.</p>
      <p>In the latest years the need for appropriate support of model evolution has been
largely recognized and addressed by a number of research works, including
differencing, storing versions, managing merges and possible conflicts, supporting metamodel
evolution and corresponding model migrations. In particular, model differencing
covered both language-specific and agnostic cases, model changes have been tackled both
in a state-based and operation-based manner, mechanisms have been introduced to
detect divergences between concurrent manipulations of the same model and provide
possible reconciliation strategies. Moreover, techniques have been developed to detect
metamodel changes, classify them in terms of effects on existing model instances, and
provide corresponding migration countermeasures ranging from manual to automatic.</p>
      <p>Given the high abstraction level of modelling activities, mixing syntax and
semantics is unavoidable; unfortunately, when semantics comes into play, versioning
problems become more complex to manage and very often they cannot be dealt with
automatically. In other words, automation support has typically to be reduced and user
intervention is required to keep the desired degree of precision.</p>
      <p>
        In this paper we propose to enhance automation opportunities by defining a novel
methodology for all activities involved in model versioning. The main idea is to exploit
the separation between linguistic and ontological aspects of a model [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and address
them separately. In particular, linguistic aspects are those related to the structural
correctness of a model, while ontological aspects pertain to the specific domain taken into
account (please, see Section 2 for a more precise definition of these aspects). In this
way the evolution of the linguistic part, that is expected to be mainly syntactic and
hence easier to manage, can be supported by automated mechanisms, whereas the
ontological part can be provided with more precise domain-specific versioning support and
possibly offer semi-automatic management. Based on the separation mentioned so far,
this work revisits the current techniques developed for model version management and
outlines a research agenda to cover all the aspects of model versioning.
      </p>
      <p>The structure of the paper is as follows. Section 2 depicts the motivations underneath
the proposed methodology as well as the related works in the area. In Section 3 we
propose a research agenda to cover the different aspects of model versioning with our
novel methodology and we conclude the paper with an outlook in Section 4.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background and Related Work</title>
      <p>
        In MDE, models are commonly defined as abstractions of real phenomena, by means of
a given modelling purpose in mind, pursuing a simplification of the reality [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In this
respect, (meta-)modelling activities carry along not only the syntax by which concepts
are expressed (either textual, graphical, or a combination of both), but also the
underlying semantics of the application domain taken into account. In general these two aspects
are not clearly distinguishable, since part of the semantics can be intertwined with the
adopted syntax and structural constraints.
      </p>
      <p>
        Ku¨hne proposed an alternative separation between those two aspects by introducing
linguistic and ontological matters of (meta-)modelling [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In particular, the
linguistic can be referred to constraints and rules that define the structural correctness of a
model. For instance, a class must have a unique name within a model, or a relationship
shall have a source and a target model element. On the contrary, ontological aspects are
those pertaining to the domain taken into account, and exploit structural compositions
to prescribe domain-specific well-formedness. In other words, they create a new logical
abstraction level by specializing (groups of) concepts at lower levels of abstraction.
Notably, the class person must have a name, a surname, and an age greater than 0 to be
a valid ontological instance of the type person. It is worth noting that while linguistic
aspects are invariants of the modelling activity, the ontological part is strictly coupled
with the domain taken into account, and hence the purpose the modelling activity is
devoted to. More importantly, ontologies implicitly define a set of semantic relationships
which would need to be explicitly specified otherwise, as proposed in existing works
on semantic model versioning [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Therefore, the semantics can be considered as direct
consequence of adopting a given ontology for the domain taken into account. The idea
of separating linguistic and ontological matters to reduce the complexity of modelling
management, and/or to enhance reuse chances, is not new. In general these techniques
have been referred to as deep or multilevel metamodelling [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ], to stress the fact that
it could be useful to consider more than two (fixed) metamodelling layers. Based on the
partition of linguistic and ontological aspects, it has been possible to support generic
modelling language and transformation specifications [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ], and to lower the
complexity of language evolution [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Notably, even if by exploiting different terminologies, all
the mentioned works leverage on the distinction between linguistic and ontological
aspects to define generic operations that are later on applied to the metamodel taken into
account. In particular, linguistic manipulations can be replicated directly, while
ontological ones have to be bound to the concepts pertaining to the considered applicative
domain. This allows to create operators over models, define constraints, model
transformations, and manage the need for language evolution. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] this methodological
approach is the foundation for a framework supporting generic model management
operators, which have been implemented within the Epsilon family of (meta-)modelling
languages [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. A similar solution is developed by means of the Melanie tool [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]; also
in this case the modelling environment uses a multilevel modelling approach.
Moreover, the ATLAS Transformation Language has been extended to encompass predicates
distinguishing between the various modelling levels.
      </p>
      <p>Despite the growing research interest and effort in this area, so far there has been
little effort in the definition of evolution management support based on the separation
between linguistic and ontological aspects. In this respect, with this paper we propose
to revisit the main model versioning features in terms of such a separation to improve
their efficacy. In order to better grasp the potentials of this idea, in Fig. 1 a sample
evolutionary scenario is depicted. Metamodel MMa defines a language for the definition of
living creatures with focus on flying animals. As it can be noticed in its original form
the metaclass FlyingAnimal is specialised by the sub-types Eagle and Pigeon, both
containing a layEggs operation. Let us now suppose that MMa is exposed, and
concurrently evolves, in two different views, resulting in two versions of MMa, namely MMa V 1
and MMa V 2. Both view-specific metamodels undergo modifications. In case of MMa V 1,
the metaclass FlyingAnimal is renamed to Bird and the operation layEggs is moved
from the sub-types to the super-type. In MMa V 2, the new sub-type Bat is added together
with its operation giveBirth as specialisation of FlyingAnimal. These
modifications result in an ontological conflict from the perspective of MMa, since a bat is both
a living creature and a flying animal giving birth to live young but NOT a bird laying
eggs.
3</p>
    </sec>
    <sec id="sec-3">
      <title>A Research Agenda</title>
      <p>In the latest years a considerable research work has been devoted to all the activities
involved in evolution management, notably model differencing, conflict management,
as well as metamodel evolution and model co-evolution. Providing a survey on all those
investigations goes far beyond the scope of this work, however in the next sections we
outline some common principles and problems characterizing the current available
solutions. In general current approaches for model versioning that can be found in the
literature have to fight intrinsic semantics issues entailed by the modelling level of
abstraction.</p>
      <p>This paper aims at providing the guidelines for a novel version management
methodology that takes into consideration the separation between linguistic and ontological
aspects involved in modelling activities. Our belief is that, by means of such a separation,
domain-specific issues can be better managed thus improving degree of automation and
accuracy of current version management. In this respect, the next sections also
illustrate a research agenda to revisit current versioning solutions based on the separation
between linguistic and ontological aspects, discussing foreseeable benefits and needs.</p>
      <p>
        At this point, it is worth noting that this proposal is not excluding the current
available techniques, whereas it provides additional means to better exploit those solutions.
By embracing the MDE principles, versioning artefacts are models conforming to
corresponding metamodels and are manipulated by means of model transformations [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In
this respect, this work relies on a model-based representation of differences as the ones
proposed in [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ]. In particular, we exploit the difference representation proposal
in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] because of its generative approach that allows to adapt the already existing
solutions to our separation in a smooth way.
      </p>
      <p>The general approach we pursue is composed by two main constituents, a generic
mechanism tackling the structural part and its evolution, and a domain-specific
specialization that is bound to the ontology taken into account. As a consequence, general
evolution patterns are described in linguistic terms, while ontological information is
exploited to refine their management.
3.1</p>
      <sec id="sec-3-1">
        <title>Model Differencing</title>
        <p>
          Model differencing has been firstly addressed by means of language-specific solutions
and then generalized to language-agnostic cases. Typically, difference detection,
representation, and visualisation are performed at model level of abstraction for being able
to grasp user’s intentions [
          <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
          ]. State-based techniques deduce modification
operations based on the old and new state of a model [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The element matching can result
very complex and hard to make arbitrarily precise, since it is reduced to the graph
homomorphism problem [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. A way to reduce such an inherent intricacy is to adopt
operation-based approaches which keep track of the operations performed by the users
to modify the model [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. The drawback of such approaches is that the differences
detection is tightly coupled to the tool, since anything happening outside the tool cannot
be tracked in terms of evolution information.
        </p>
        <p>Regardless being state- or operation-based, differencing approaches rely on
structural similarities to determine evolution operations, thus requiring user intervention
whenever the semantics involved in the changes is misinterpreted or cannot be grasped
at all. Notably, if we consider the example shown in Fig. 1, a differencing engine would
detect a rename of the FlyingAnimal class towards Bird since their subgraphs are
matching from a structural perspective. However, this information does not provide any
additional detail about the domain-specific consequences of such a modification.</p>
        <p>
          In our vision, we propose to exploit ontological information as part of the
differencing detection and result. By adopting a model-based mechanism like the one proposed
in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], each metaclass of the structural part involved in the modelling activity can be
extended with corresponding evolution means as shown in part Figure 2.A. In this way,
we are able to express the generic concepts for model evolution without coupling this
information with domain-specific details. In relation to the scenario depicted in Fig. 1, the
structural differencing would detect the addition of a class named Bat together with its
operation giveBirth (see Figure 2.B). Analogously, the renaming of FlyingAnimal
to Bird would be detected as shown in the upper part of Figure 2.C. On the contrary, the
moving of the layEggs operation would be represented as a simple deletion in Pigeon
and Eagle classes and as an addition in the Bird class (central and bottom parts of
Figure 2.C). It is worth noting that, in this difference detection step no semantics matters
are involved and the evolution is observed from a pure linguistic point of view.
        </p>
        <p>Domain-specific (or ontological) information instead is bound later on to provide
additional support to the detection mechanism. Notably, by taking into account the
information coming from a selected ontology (like the one depicted in Figure 3) in the
situation mentioned above, it would be possible to obtain a customized difference
algorithm in which layEggs is correctly detected as moved from the two Pigeon and
Eagle subclasses to Bird. Consequently, differences would not only consider
modifications from a structural point of view, but also the information related to the ontological
evolution. Those details can be useful for detection and visualization purposes: the
ontological relationships among elements could help in distinguishing between a rename
and a delete/add evolution and to show changes from a domain-specific perspective,
respectively. Moreover, they become very relevant when dealing with version merging
and/or co-evolution management, as discussed in the remainder of the paper.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Conflict Management</title>
        <p>
          Conflict management followed the same development differencing techniques did, that
is detection and resolution have been addressed firstly at atomic operation level [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ],
then by considering refactoring modifications [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], and eventually by supporting
arbitrary semantics divergences [
          <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
          ]. Also in this case, and possibly even more
important than for differencing, when domain aspects get involved in the management of
concurrent modifications the precision of structure-based solutions degrades
remarkably and user intervention is unavoidable.
        </p>
        <p>
          By referring to the example illustrated in Fig. 1, a linguistic merging operation
would not reveal any problem, since the involved subgraphs structures are perfectly
compatible. However, by taking into account also ontological information it is
possible to discover deeper issues. In particular, Bat becomes a specialization of Bird and
layEggs() is inherited in the Bat class, thus arising an ontological conflict. It is very
important to notice that, while the latter conflict could be solved by structural
constraints (e.g., only one operation per class is admitted), the former has to be explicitly
defined by the user. Even more important, in both cases the ontological aspects disclose
the possibility to grasp the rationale behind the problems: Bat is not a Bird since,
being a mammal, it does not layEggs() (see the ontology definition in Figure 3).
Additionally, ontology information provides an hint on how to solve the problem: in fact,
by preserving the FlyingAnimal class as parent of both Bird and Bat the conflict
would be reconciled (as depicted in Fig. 4). From a conflict management perspective,
the separation between linguistic and ontological aspects discloses very interesting
research directions. Generic conflict detection and resolution strategies can be provided
as based on linguistic aspects, and later on specialized taking into account ontological
information. In this respect, while linguistic conflicts have to be solved since they affect
the well-formedness of the merge result itself, ontological divergences can be
tolerated. Therefore the separation proposed in this paper could be very useful, especially
in the early stages of development, to allow collaborative development without
forcing the users in taking domain-specific design decisions when their side effects are not
completely clear [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
In MDE, metamodels are subject to the same evolutionary pressure models do.
Metamodel evolutions trigger model co-evolutions, i.e. model instances have to be migrated
to the newer version of the metamodel in order to recover their conformance [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. In this
scenario a correct interpretation of metamodel manipulations is of critical importance
to adopt appropriate migration countermeasures. Moreover, model co-evolution may
require user information to resolve particular migration cases [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. As a consequence,
a number of approaches have been introduced, supporting from (semi-)automated to
manual model co-evolution approaches [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].
        </p>
        <p>
          In the case of metamodel evolution domain-specific issues can heavily affect the
migration process, especially when the whole metamodel ecosystem is involved in the
evolution [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. Therefore, recent investigations have been devoted to relax the
metamodelmodel conformance relationship, even by separating linguistic and ontological aspects
involved in the language definition [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Our idea is based on the same principle of this
latter work, but instead of relaxing the conformance relationship we propose to
separate linguistic and ontological aspects and address their co-evolution separately.
Analogously to the model merging problem, also in this case structural co-evolution has to be
performed in order to re-establish the linguistic well-formedness. Whereas, ontological
issues can be solved in a separate way and by means of domain-specific solutions.
        </p>
        <p>It is not expectable that the separation between linguistic and ontological aspects
will guarantee full automation of co-evolution operations. However, by knowing the
metamodel evolution in ontological terms can help in managing it in a better way. In
particular, detecting layEggs() as a moving operation rather than a delete/add
manipulation would avoid loss of information in the migration stage. Moreover, by noticing
that Bat can not specialise Bird for the before-mentioned reasons defined in the
ontology, a migration operation would add a new metaclass Bird instead or renaming
FlyingAnimal (see Figure 4). In turn, Bat would be kept as it is after the
migration being still a valid instance of FlyingAnimal. Interestingly, since Bat is still a
FlyingAnimal a tool co-evolution countermeasure could also decide to re-use the
same icon, or ask for a new one specific for bats. In the same way, it could be
possible to notice that using the Bird icon would be erroneous from a domain semantics
perspective.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Outlook</title>
      <p>This paper proposed the guidelines for a novel model versioning methodology based
on the separation between linguistic and ontological aspects of (meta-)modelling. The
idea is not ignoring what already existing and developed in the latest years for model
evolution investigations; rather, it aims at enriching current solutions by adding
ontological details to the manipulation information. In this respect, we remark once again
that current semantics aware versioning solutions do not aim at the clear separation
between structural and ontological aspects, which typically get intertwined in the
metamodel definition. Moreover, we consider the ontological part as domain information to
be plugged-in in the generic version management mechanism. Such approach allows
to build-up generic differencing, merging, and co-evolution techniques, taking into
account ontological information as a refinement step.</p>
      <p>
        Up to now, it has been possible to conduct small experiments by means of already
available techniques (notably [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and the Melanie tool [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]) and the results are
encouraging. However, the methodology has to be validated against real-life systems to
prove its efficacy. Moreover, it is not possible to exclude future needs for addressing
ontological-specific evolutions, both for the detection, representation, and management,
beyond the general additions, deletions, and changes.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Ku¨hne, T.:
          <article-title>Matters of (meta-)modeling</article-title>
          .
          <source>SoSym</source>
          <volume>5</volume>
          (
          <year>2006</year>
          )
          <fpage>369</fpage>
          -
          <lpage>385</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bezivin</surname>
          </string-name>
          , J.:
          <source>On the Unification Power of Models. SoSym 4</source>
          (
          <year>2005</year>
          )
          <fpage>171</fpage>
          -
          <lpage>188</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kappel</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kapsammer</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kargl</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kramler</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Retschitzegger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwinger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Lifting metamodels to ontologies: A step to the semantic integration of modeling languages</article-title>
          .
          <source>In: Procs. of MoDELS</source>
          , Genova (Italy).
          <source>LNCS</source>
          , Springer (
          <year>2006</year>
          )
          <fpage>528</fpage>
          -
          <lpage>542</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. de Lara, J.,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.:
          <article-title>Deep Meta-modelling with MetaDepth</article-title>
          .
          <source>In: Proc. of TOOLS</source>
          , Ma´laga (Spain).
          <source>LNCS</source>
          (
          <year>2010</year>
          )
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gutheil</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A Flexible Infrastructure for Multilevel Language Engineering</article-title>
          .
          <source>IEEE TSE 35</source>
          (
          <year>2009</year>
          )
          <fpage>742</fpage>
          -
          <lpage>755</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. de Lara, J.,
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuadrado</surname>
            ,
            <given-names>J.S.</given-names>
          </string-name>
          :
          <article-title>Abstracting Modelling Languages: A Reutilization Approach</article-title>
          .
          <source>In: Proc. of CAiSE</source>
          , Gdansk (Poland).
          <source>LNCS</source>
          , Springer (
          <year>2012</year>
          )
          <fpage>127</fpage>
          -
          <lpage>143</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Cuadrado</surname>
            ,
            <given-names>J.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>de Lara</surname>
          </string-name>
          , J.:
          <article-title>Generic Model Transformations: Write Once, Reuse Everywhere</article-title>
          . In: Procs. ICMT,
          <string-name>
            <surname>Zurich</surname>
          </string-name>
          (Switzerland),
          <year>2011</year>
          . LNCS, Springer (
          <year>2011</year>
          )
          <fpage>62</fpage>
          -
          <lpage>77</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Go´mez,
          <string-name>
            <surname>P.</surname>
          </string-name>
          , Sa´nchez,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Florez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Villalobos</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>Co-creation of models and metamodels for enterprise architecture projects</article-title>
          .
          <source>In: Procs. of XM, ACM</source>
          (
          <year>2012</year>
          )
          <fpage>21</fpage>
          -
          <lpage>26</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>de Lara</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Etien</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          :
          <article-title>Genericity for model management operations</article-title>
          .
          <source>SoSym</source>
          <volume>12</volume>
          (
          <year>2013</year>
          )
          <fpage>201</fpage>
          -
          <lpage>219</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. : Epsilon. http://www.eclipse.org/epsilon/ (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. :
          <article-title>Melanie - multi-level modeling and ontology engineering environment</article-title>
          . http://code.google.com/a/eclipselabs.org/p/melanie/ (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Cicchetti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di Ruscio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierantonio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A Metamodel Independent Approach to Difference Representation</article-title>
          .
          <source>JOT 6</source>
          (
          <year>2007</year>
          )
          <fpage>165</fpage>
          -
          <lpage>185</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rivera</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vallecillo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Representing and Operating with Model Differences</article-title>
          . In: Procs.
          <source>TOOLS EUROPE</source>
          . (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polack</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Model comparison: a foundation for model composition and model transformation testing</article-title>
          .
          <source>In: Procs. GaMMa</source>
          , Shanghai (China). (
          <year>2006</year>
          )
          <fpage>13</fpage>
          -
          <lpage>20</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Brun</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierantonio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Model Differences in the Eclipse Modeling Framework. UPGRADE, The European Journal for the Informatics Professional (</article-title>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Conradi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Westfechtel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Version Models for Software Configuration Management</article-title>
          .
          <source>ACM Computing Surveys</source>
          <volume>30</volume>
          (
          <year>1998</year>
          )
          <fpage>232</fpage>
          -
          <lpage>282</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di Ruscio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierantonio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Different models for model matching: An analysis of approaches to support model differencing</article-title>
          .
          <source>In: Proc. 2nd CVSM'09, ICSE09 Workshop</source>
          , Vancouver, Canada (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Mens</surname>
          </string-name>
          , T.:
          <article-title>A State-of-the-Art Survey on Software Merging</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>28</volume>
          (
          <year>2002</year>
          )
          <fpage>449</fpage>
          -
          <lpage>462</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Alanen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Porres</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Difference and Union of Models</article-title>
          . In:
          <article-title>UML 2003 - The Unified Modeling Language</article-title>
          . Volume
          <volume>2863</volume>
          of LNCS., Springer-Verlag (
          <year>2003</year>
          )
          <fpage>2</fpage>
          -
          <lpage>17</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Mens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taentzer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Runge</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Detecting Structural Refactoring Conflicts Using Critical Pair Analysis</article-title>
          .
          <source>Electr. Notes Theor. Comput. Sci</source>
          <volume>127</volume>
          (
          <year>2005</year>
          )
          <fpage>113</fpage>
          -
          <lpage>128</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Altmanninger</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A survey on model versioning approaches</article-title>
          .
          <source>International Journal of Web Information Systems (IJWIS) 5</source>
          (
          <year>2009</year>
          )
          <fpage>271</fpage>
          -
          <lpage>304</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Cicchetti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di Ruscio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierantonio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Managing Model Conflicts in Distributed Development</article-title>
          . In: Procs. MoDELS. (
          <year>2008</year>
          )
          <fpage>311</fpage>
          -
          <lpage>325</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Wieland</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Langer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wimmer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kappel</surname>
          </string-name>
          , G.:
          <article-title>Turning conflicts into collaboration</article-title>
          .
          <source>Computer Supported Cooperative Work</source>
          <volume>22</volume>
          (
          <year>2013</year>
          )
          <fpage>181</fpage>
          -
          <lpage>240</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Sendall</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozaczynski</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Model Transformation: The Heart and Soul of Model-Driven Software Development</article-title>
          .
          <source>IEEE Software</source>
          <volume>20</volume>
          (
          <year>2003</year>
          )
          <fpage>42</fpage>
          -
          <lpage>45</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Gruschko</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige.</surname>
          </string-name>
          , R.:
          <article-title>Towards Synchronizing Models with Evolving Metamodels</article-title>
          . In:
          <article-title>Procs of the Work</article-title>
          . MODSE. (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herrmannsdoerfer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          , Garce´s,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.F.</given-names>
            ,
            <surname>Polack</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.A.C.</surname>
          </string-name>
          :
          <article-title>A Comparison of Model Migration Tools</article-title>
          . In: Procs.
          <source>MoDELS. LNCS</source>
          , Springer (
          <year>2010</year>
          )
          <fpage>61</fpage>
          -
          <lpage>75</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Iovino</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierantonio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malavolta</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>On the impact significance of metamodel evolution in mde</article-title>
          .
          <source>Journal of Object Technology</source>
          <volume>11</volume>
          (
          <year>2012</year>
          ) 3:
          <fpage>1</fpage>
          -
          <lpage>33</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>