<!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>MONDO: Scalable Modelling and Model Management on the Cloud</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dimitrios S. Kolovos</string-name>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Louis M. Rose</string-name>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard F. Paige</string-name>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Esther Guerra</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jesus Sanchez Cuadrado</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan De Lara</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Istvan Rath</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Varro</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gerson Sunye</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Massimo Tisi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>dimitris.kolovos</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>louis.rose</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>richard.paigeg@york.ac.uk</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Esther.Guerra</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jesus.Sanchez.Cuadrado</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan.deLarag@uam.es</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>varrog@mit.bme.hu</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>gerson.sunye</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>massimo.tisig@inria.fr</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>AtlanMod</institution>
          ,
          <addr-line>Inria, Mines Nantes, LINA</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Budapest University of Technology and Economics</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Nantes, Budapest University of Technology and Economics</institution>
          ,
          <addr-line>IKERLAN, SOFTEAM, Soft-Maint, UNINOVA</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Project start date/duration: Nov 1</institution>
          ,
          <addr-line>2013, 30 months</addr-line>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Universidad Autonoma de Madrid</institution>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>University of York</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Achieving scalability in modelling and MDE involves being able to construct large models and domain-speci c languages in a systematic manner, enabling teams of modellers to construct and re ne large models in collaboration, advancing the state of the art in model querying and transformations tools so that they can cope with large models (of the scale of millions of model elements), and providing an infrastructure for e cient storage, indexing and retrieval of large models. This paper outlines how MONDO, a collaborative EC-funded project, contributes to tackling some of these scalability-related challenges.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>{ being able to construct large models and domain speci c languages in a
systematic manner;
{ enabling large teams of modellers to construct and re ne large models in a
collaborative manner;
{ advancing the state of the art in model querying and transformations tools
so that they can cope with large models (with millions of model elements);
{ providing an infrastructure for e cient storage, indexing and retrieval of
such models.</p>
      <p>The rest of the paper (Sections 3-6) provides an overview of the state of
the art in these four key areas, identi es the main challenges that need to be
overcome, and outlines the realised and envisioned contributions of MONDO.
Section 7 concludes the paper.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Scalable Domain Speci c Languages</title>
      <p>
        In current MDE practice, we still nd that domain speci c modelling languages
(DSMLs) are often constructed in an ad-hoc way. Moreover, graphical DSMLs
scale poorly for large models. There are several works aimed at de ning
compositional mechanisms for languages and models. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] provides composition
techniques for languages lacking such built-in mechanisms. Other works extend
metamodels [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] with export and import interfaces, but are only
described theoretically.
      </p>
      <p>
        With respect to visualizing large models, some researchers have brought
techniques from the eld of information visualization, like semantic zooming [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Some language editors DiaGen enable the de nition of abstractions [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], but
they have to be manually programmed for each di erent language. Reusable
model abstractions are reported in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], but with no support for visualizations.
      </p>
      <p>
        Finally, little work has addressed processes for developing and testing
metamodels [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] a language to write automated tests for conceptual schemas
is proposed, while [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] proposes the incremental development of meta-models
by increasingly re ned test models. Other works have explored the induction of
meta-models from example models [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]. However, none of these works consider
issues related to scalability of models or meta-models.
3.1
      </p>
      <sec id="sec-2-1">
        <title>Research Directions</title>
        <p>
          Scalable Language Design MONDO addresses both the engineering of large
DSMLs, and DSMLs expecting large models. For the rst issue, we make
available reusable patterns, accounting for the several aspects in the de nition of
a DSML, including abstract, concrete syntax, semantics, and the services of
the modelling environment like model fragmentation, ltering and conformance
checking. The use of patterns for all these aspects facilitate and speed up DSML
de nition. We have created a tool, called DSL-tao (http://jdelara.github.io/
DSL-tao/), which permits describing DSMLs and their environments using this
philosophy. Second, we propose fragmenting models following modular principles
adopted by many programming languages [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Therefore a model is organized
as a Project, and then be fragmented into Packages (which are mapped to folders
in the le system), which may hold Units (mapped in les). This fragmentation
strategy is speci ed at the meta-model level, by instantiating a pattern.
Scalable Visualization Another means to tackle scalability is to support
useful abstractions, providing a simpli ed view of a model, or introducing
hierarchical elements, organizing models at di erent levels of abstraction. In our
approach, these abstractions are speci ed as patterns. Another common issue
is that no concrete syntax (only generic tree-based editors) is de ned for some
meta-models, which becomes problematic as models grow. To address such
scenarios, we have created a tool called SAMPLER (http://rioukay.github.io/sampler/),
which allows the scalable visual exploration and navigation of EMF models.
Processes and Methodologies Currently, DSMLs are often developed in an
informal, ad-hoc way. However, DSMLs should be engineered using sound principles
and methods, gathering requirements from all stakeholders. We are currently
developing methodologies [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] including validation and veri cation mechanisms [
          <xref ref-type="bibr" rid="ref13 ref14">13,
14</xref>
          ] (based on DSLs to specify di erent kinds of tests) for engineering DSMLs,
which are being integrated with the previous tools.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Scalable Queries and Transformations</title>
      <p>
        Some work exists that applies either incrementality, laziness or distribution to
MDE. Incremental computation has been used for transforming large
evolving models, either with live [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] (i.e., transformation during the update) or
o ine [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] (i.e., transformation after the update) incrementality. Incremental
graph transformation approaches [17{19] focus especially on techniques for
incremental pattern-matching. Lazy computation can improve scalability when only
a small part of large models is accessed. A model transformation tool with an
lazy/on-demand generation strategy has been proposed in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The Stratego [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
system allows user-de ned execution strategies for transformation rules, that
may be in principle used for on-demand transformation. VIATRA lazily
evaluates the matches of connected rules to avoid unnecessary computation [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Lazy
loading [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] allows to handle models that do not t into the available memory.
Distributed computation is convenient for complex and parallelizable
transformations. In graph transformation, recent work [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] focuses on parallelizing the
recursive matching phase, particularly expensive for graph transformations. In
model transformation, Lintra [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] allows to specify distributed transformations
by explicit distribution primitives.
4.1
      </p>
      <sec id="sec-3-1">
        <title>Research Directions</title>
        <p>
          Benchmarks for Scalable Query and Transformation We de ned a set of shared
benchmarks for query and transformations on very large models, gathering
realworld MDE case studies. We have made these cases available to the community
for evaluation via a public MDE benchmark repository [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].
        </p>
        <p>
          Reactive Model Query and Transformation We propose a shift of paradigm
for programming MDE applications towards reactive programming [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], where
a network of transformations de nes persistent data- ows among models. A
reactive transformation engine takes care of activating only the strictly needed
computation in response to updates or requests of model elements, by a
combination of incremental and lazy computation. A reactive engine also opens the
way to scenarios based on in nite intermediate models generated on demand, or
streaming models propagating from inputs to outputs.
        </p>
        <p>
          Distributed Model Query and Transformation in the Cloud We propose
engines that implicitly (i.e., without explicit distribution primitives) distribute the
execution of model queries and transformations on top of well-known distributed
programming models for the Cloud (e.g., MapReduce). We show how the
execution semantics of model queries and transformations can be aligned with parallel
computation models [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ].
        </p>
        <p>
          Prototypes for several components are already available: IncQuery-D, a
scalable engine for distributed incremental model queries [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]; MONDO-SAM,
a benchmarking framework [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]; VIATRA-CEP, a streaming transformation
engine [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ].
5
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Scalable Collaborative Modelling</title>
      <p>
        Model repositories such as CDO [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] and MORSA [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] are storage systems
for modeling artefacts that are mostly focused on concurrent access over a
client-server infrastructure. They provide extension mechanisms and core APIs
that auxiliary, function-speci c tools may use to support con ict management,
branching, model comparison etc.
      </p>
      <p>
        Online collaborative modelling systems such as CoolModes [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ] rely on a short
transaction approach, whereby a single, shared instance of the model is edited
by multiple users concurrently. These systems lack con ict management, or only
provide very light weight mechanisms (such as voluntary locking).
      </p>
      <p>
        Model versioning systems such as EMFStore [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] are more closely aligned
with o ine version control systems such as SVN. They follow the long
transaction approach whereby contributors are assumed to commit larger portions
of work with respect to a certain (past) version as the reference. Hence, since
con icts are common, their detection, resolution and merging are features of
top importance. To that end, such sytems are frequently augmented with o ine
model comparison, di erencing and merging tools such as EMF Compare [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ] or
EMF Di /Merge [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ] are also often used.
      </p>
      <p>The key weaknesses of the collaborative modelling state of the art can be
summarized as follows: (i) immature integration of online and o ine collaboration
patterns; (ii) mostly ad-hoc architectures that prohibit or make the
implementation of domain-speci c collaboration/version management di cult; (iii) very
simplistic locking and con ict management solutions that severely hinder
developer productivity; (iv) the lack of a exible and scalable back-end platform that
caters to both Eclipse-based and other (commercial) tools.
5.1</p>
      <sec id="sec-4-1">
        <title>Research Directions</title>
        <p>We are working on a multi-device collaborative modelling framework which on
the front-end is fully compatible with existing and future Eclipse-based
technologies (EMF and its auxiliaries and the Team API); on the back-end, and
integrates into the scalable model persistence framework. It supports both o ine
and online collaboration in a multi-user and multi-device environment,
providing a model access layer (transaction management, queries, views and
manipulation) featuring basic collaboration primitives (push, pull, commit, merge), and
an adaptation layer for the integration of access control and security services.
It is built on an extensible architecture that allows the integration of
domainspeci c, customized plugins for con ict management (detection, resolution and
merging).</p>
        <p>
          As novel and innovative features, it includes query-driven dynamic locking
that uses complex graph queries [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ] for the speci cation of locking partitions
for views and manipulative transactions. Such queries operate in a
collaborationaware manner that includes support for real-time updates and locked queries
(where updates are propagated only from a pre-de ned subset of collaboration
partners). Additionally, the framework features automated con ict resolution
based on design-space exploration techniques [
          <xref ref-type="bibr" rid="ref39">39</xref>
          ] that are able to ensure domain
consistency and well-formedness by automatically applying model manipulation
policies to nd valid and con ict-free model states. Prototypes for both the
collaboration framework and the model merger based on design space exploration
are already available under http://github.com/FTSRG/mondo-collab-framework
and http://github.com/FTSRG/mondo-collab-mergespaceexploration.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Scalable Model Persistence</title>
      <p>An essential component of scalable MDE is infrastructure that facilitates
persistence and retrieval or large models in an e cient manner.</p>
      <p>E cient Model Storage The current standard model storage format is the XML
Metadata Interchange. As XMI is an XML-based format, in order to access
any model elements using current state-of-the-art modelling frameworks such as
EMF, the complete model le needs to be parsed and loaded in memory rst.
This implies that the larger the model le, the more time and memory is needed
in order to load the model. Also, XMI inherits the verbosity of XML which means
that XMI-encoded model les are much larger in size than needed in order to
store the information they do.</p>
      <p>To address these issues, we envision a new e cient model representation
format that will reduce the size of model les, enable modelling and model
management tools to lazily load the contents of a model into memory, and access
speci c model elements without needing to read the entire model le rst. We
anticipate that such a format will provide a substantial improvement both in
terms of both the size of model les, and in terms of the memory and time
required to load these models.</p>
      <p>
        Model Indexing With a faster and more e cient model persistence format that
provides a reduction of the scale of 10 in terms of size, an XMI-based model of the
order of hundreds of MBs, would now be of the order of tens of MBs. In a typical
collaborative development environment where artefacts are stored in a central
repository (e.g. CVS, SVN, Git etc.), even les of the order of tens of MBs are
challenging to manage as for every change they need to be transferred back and
forth between the local copy and the remote repository. Storing a large model as
a single le can also be sub-optimal as it can cause frequent con icts when using
an optimistic locking VCS or lock-outs when using a pessimistic locking VCS.
Two solutions have been proposed for addressing this problem [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ]: 1) Storing
large models in dedicated model repositories that enable model-element level
(instead of le-level) version control operations (check in, check out, lock etc.),
and 2) Splitting large models over many cross-referenced physical les (model
fragments).
      </p>
      <p>
        The rst approach requires both a leap in terms of the modelling tools used
to edit models, as the majority of modelling tools work with le-based models,
and a transition from robust and established repositories which work well with
a wide range of development tools, to newly developed model-speci c
repositories. The particularly limited adoption of model-speci c repositories such as
CDO, and ModelCVS [
        <xref ref-type="bibr" rid="ref41">41</xref>
        ] so far has demonstrated that industrial users can be
reluctant to make such a drastic transition in practice. As such, and in order
to provide industrially-relevant results, we will mainly focus on the second
approach. The main advantage of the second approach is that it works well with
(a)
(b)
A
X
      </p>
      <p>Developer
Workspace
needs to
check out
and load</p>
      <p>VCS Server
needs to
check out
and load
W A</p>
      <p>X
Y B</p>
      <p>Z C</p>
      <p>A
X</p>
      <p>Developer
needs to Workspace
query
monitors
indexes
Model Indexing</p>
      <p>Server</p>
      <p>VCS Server</p>
      <p>W A</p>
      <p>X
Y B</p>
      <p>Z C
existing modelling tools, and with existing types of remote repositories (such
as CVS, SVN, Git, FTP, shared network folders etc). However, using this
approach with current state-of-the-art technologies makes it impossible to compute
queries of global nature without going through all the model fragments from the
remote repository every time. For example, consider the scenario on the left side
(a) of Figure 1, where the VCS repository contains 3 model fragments (A, B
and C) from which the developer has checked out only fragment A. Now, if the
developer needs to know which other fragments in the repository reference its X
element, they need to check out, load and examine every other fragment in the
repository (B and C in this case). Obviously, as the number of model fragments
in the repository grows, this approach becomes increasingly ine cient.</p>
      <p>
        To address this limitation, we are working on a model indexing framework
(Hawk [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ] - https://github.com/kb634/mondo-hawk) that can monitor the
contents of remote version control repositories, and index the models they
contain in a scalable database that will enable e cient computation of global
queries. Hawk can support monitoring di erent types of remote repositories
(SVN, Git etc.) and indexing of heterogeneous models (i.e. XMI, proprietary)
using a driver-based architecture.
7
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Next Steps</title>
      <p>In this paper we have provided an outline of the main scalability challenges
in MDE, and MONDO's technical vision for addressing them. MONDO has
already contributed novel techniques and several prototype implementations in
all four identi ed key-areas. During the last year of the project, we plan to
increasingly focus on integrating these prototypes in the context of a uni ed
technical o ering in preparation for the evaluation phase of the project, where
the research contributions of MONDO will be assessed in the context of four
industrial case studies.</p>
      <p>The rst case study (provided by UNINOVA1) comes from the construction
industry and involves collaborative development and automated management of
large computer-aided design (CAD) models. The second case study (provided by
Soft-Maint2) involves exploration and automated transformation of large
models which have been reverse-engineered from existing codebases. The third case
study (provided by IKERLAN3) involves multi-device collaborative development
of models from the o shore wind power industry, and the fourth case study
involves managing large collections of UML models stored in a proprietary format
supported by Softeam's4 Modelio5 tool.
1 http://www.uninova.pt/
2 http://www.sodifrance.fr/
3 http://www.ikerlan.es/
4 http://www.softeam.fr/
5 https://www.modeliosoft.com/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Florian</given-names>
            <surname>Heidenreich</surname>
          </string-name>
          , Jakob Henriksson, Jendrik Johannes, and Ste en Zschaler.
          <article-title>On language-independent model modularisation</article-title>
          .
          <source>T. Aspect-Oriented Software Development VI</source>
          ,
          <volume>6</volume>
          :
          <fpage>39</fpage>
          {
          <fpage>82</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Ingo</given-names>
            <surname>Weisemo</surname>
          </string-name>
          <article-title>ller and Andy Schurr</article-title>
          .
          <source>Formal de nition of MOF 2</source>
          .
          <article-title>0 metamodel components and composition</article-title>
          .
          <source>In Model Driven Engineering Languages and Systems</source>
          , 11th International Conference, volume
          <volume>5301</volume>
          of Lecture Notes in Computer Science, pages
          <volume>386</volume>
          {
          <fpage>400</fpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Stefan</given-names>
            <surname>Jurack</surname>
          </string-name>
          and
          <string-name>
            <given-names>Gabriele</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>A component concept for typed graphs with inheritance and containment structures</article-title>
          .
          <source>In Graph Transformations - 5th International Conference, ICGT</source>
          <year>2010</year>
          , volume
          <volume>6372</volume>
          of Lecture Notes in Computer Science, pages
          <volume>187</volume>
          {
          <fpage>202</fpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Mathias</given-names>
            <surname>Frisch</surname>
          </string-name>
          , Raimund Dachselt, and
          <article-title>Tobias Bruckmann. Towards seamless semantic zooming techniques for UML diagrams</article-title>
          .
          <source>In SOFTVIS</source>
          , pages
          <volume>207</volume>
          {
          <fpage>208</fpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Oliver</given-names>
            <surname>Ko</surname>
          </string-name>
          <article-title>th and Mark Minas. Structure, abstraction, and direct manipulation in diagram editors</article-title>
          .
          <source>In Diagrams</source>
          , volume
          <volume>2317</volume>
          <source>of LNCS</source>
          , pages
          <volume>290</volume>
          {
          <fpage>304</fpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Juan de Lara, Esther Guerra, and Jesus Sanchez Cuadrado.
          <article-title>Abstracting modelling languages: A reutilization approach</article-title>
          .
          <source>In Proc. CAiSE</source>
          <year>2012</year>
          , volume
          <volume>7328</volume>
          of Lecture Notes in Computer Science, pages
          <volume>127</volume>
          {
          <fpage>143</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Antonio Cicchetti, Davide Di Ruscio, Dimitris Kolovos, and
          <string-name>
            <given-names>Alfonso</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>A test-driven approach for metamodel development</article-title>
          .
          <source>In Emerging Technologies for the Evolution and Maintenance of Software Models</source>
          , pages
          <volume>319</volume>
          {
          <fpage>342</fpage>
          . IGI Global,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Albert</given-names>
            <surname>Tort</surname>
          </string-name>
          and
          <string-name>
            <given-names>Antoni</given-names>
            <surname>Olive</surname>
          </string-name>
          .
          <article-title>An approach to testing conceptual schemas</article-title>
          .
          <source>Data Knowl. Eng.</source>
          ,
          <volume>69</volume>
          (
          <issue>6</issue>
          ):
          <volume>598</volume>
          {
          <fpage>618</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Hyun</surname>
            <given-names>Cho</given-names>
          </string-name>
          , Yu Sun, Je Gray,
          <string-name>
            <given-names>and Jules</given-names>
            <surname>White</surname>
          </string-name>
          .
          <article-title>Key challenges for modeling language creation by demonstration</article-title>
          .
          <source>In ICSE'11 Workshop on Flexible Modeling Tools</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Jesus Sanchez</surname>
            <given-names>Cuadrado</given-names>
          </string-name>
          , Juan de Lara, and
          <string-name>
            <given-names>Esther</given-names>
            <surname>Guerra</surname>
          </string-name>
          .
          <article-title>Bottom-up metamodelling: An interactive approach</article-title>
          .
          <source>In Model Driven Engineering Languages and Systems - 15th International Conference, MODELS</source>
          <year>2012</year>
          , Innsbruck, Austria,
          <source>September 30-October 5</source>
          ,
          <year>2012</year>
          . Proceedings, volume
          <volume>7590</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>3</fpage>
          <lpage>{</lpage>
          19. Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Antonio Garmendia, Esther Guerra, Dimitrios S. Kolovos, and Juan de Lara.
          <article-title>EMF splitter: A structured approach to EMF modularity</article-title>
          .
          <source>In XM@MoDELS</source>
          , volume
          <volume>1239</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <volume>22</volume>
          {
          <fpage>31</fpage>
          . CEUR-WS.org,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Jesus Juan</surname>
          </string-name>
          Lopez-Fernandez, Jesus Sanchez Cuadrado, Esther Guerra, and Juan de Lara.
          <article-title>Example-driven meta-model development</article-title>
          .
          <source>SoSyM</source>
          , in press,
          <year>2014</year>
          , see also http://www.miso.es/tools/metaBUP.html.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Jesus</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <string-name>
            <surname>Lopez-Fernandez</surname>
            ,
            <given-names>Esther</given-names>
          </string-name>
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , and Juan de Lara.
          <article-title>Assessing the quality of meta-models</article-title>
          .
          <source>In MoDeVVa@MODELS</source>
          , volume
          <volume>1235</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>3</fpage>
          <lpage>{</lpage>
          12. CEUR-WS.org,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Jesus</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <string-name>
            <surname>Lopez-Fernandez</surname>
            ,
            <given-names>Esther</given-names>
          </string-name>
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , and Juan de Lara.
          <article-title>Meta-model validation and veri cation with metabest</article-title>
          .
          <source>In ACM/IEEE ASE</source>
          , pages
          <volume>831</volume>
          {
          <fpage>834</fpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>Frederic</given-names>
            <surname>Jouault</surname>
          </string-name>
          and
          <string-name>
            <given-names>Massimo</given-names>
            <surname>Tisi</surname>
          </string-name>
          .
          <article-title>Towards incremental execution of ATL transformations</article-title>
          .
          <source>In Theory and Practice of Model Transformations</source>
          , pages
          <volume>123</volume>
          {
          <fpage>137</fpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Yingfei</surname>
            <given-names>Xiong</given-names>
          </string-name>
          , Dongxi Liu, Zhenjiang Hu,
          <string-name>
            <given-names>Haiyan</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Masato</given-names>
            <surname>Takeichi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Hong</given-names>
            <surname>Mei</surname>
          </string-name>
          .
          <article-title>Towards automatic model synchronization from model transformations</article-title>
          .
          <source>Proc. of ASE'07, page 164</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. G. Bergmann,
          <string-name>
            <surname>I. Rath</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          .
          <article-title>Parallelization of graph transformation based on incremental pattern matching</article-title>
          .
          <source>Electronic Communications of EASST</source>
          ,
          <volume>18</volume>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Gabor</surname>
            <given-names>Bergmann</given-names>
          </string-name>
          , Istvan Rath, Gergely Varro, and Daniel Varro.
          <article-title>Changedriven model transformations</article-title>
          .
          <source>Software and Systems Modeling</source>
          , pages
          <volume>1</volume>
          {
          <fpage>31</fpage>
          ,
          <year>2011</year>
          .
          <volume>10</volume>
          .1007/s10270-011-0197-9.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>Holger</given-names>
            <surname>Giese</surname>
          </string-name>
          and
          <string-name>
            <given-names>Robert</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>From model transformation to incremental bidirectional model synchronization</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <volume>21</volume>
          {
          <fpage>43</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Massimo</surname>
            <given-names>Tisi</given-names>
          </string-name>
          , Salvador Mart nez, Frederic Jouault, and
          <string-name>
            <given-names>Jordi</given-names>
            <surname>Cabot</surname>
          </string-name>
          .
          <article-title>Lazy execution of model-to-model transformations</article-title>
          .
          <source>In Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>32</fpage>
          {
          <fpage>46</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>Eelco</given-names>
            <surname>Visser</surname>
          </string-name>
          .
          <article-title>Program transformation with Stratego/XT: Rules, strategies, tools, and systems in Stratego/XT 0.9</article-title>
          . In Domain-Speci
          <source>c Program Generation</source>
          , volume
          <volume>3016</volume>
          <source>of LNCS</source>
          , pages
          <volume>216</volume>
          {
          <fpage>238</fpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Gabriele</surname>
            <given-names>Taentzer</given-names>
          </string-name>
          , Karsten Ehrig, Esther Guerra, J. de Lara, L. Lengyel, Tihamer Levendovszky,
          <string-name>
            <given-names>Ulrike</given-names>
            <surname>Prange</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Varro-Gyapay</surname>
          </string-name>
          .
          <article-title>Model transformation by graph transformation: A comparative study</article-title>
          .
          <source>In Proc. Workshop</source>
          Model Transformation in Practice,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Jouault</surname>
          </string-name>
          , Frederic and Bezivin, Jean and Barbero, Mikael.
          <article-title>Towards an advanced model-driven engineering toolbox</article-title>
          .
          <source>Innovations in Systems and Software Engineering</source>
          ,
          <volume>5</volume>
          :5{
          <fpage>12</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Gergely</surname>
            <given-names>Mezei</given-names>
          </string-name>
          , Tihamer Levendovszky, Tamas Meszaros, and
          <string-name>
            <given-names>Istvan</given-names>
            <surname>Madari</surname>
          </string-name>
          .
          <article-title>Towards Truly Parallel Model Transformations: A Distributed Pattern Matching Approach</article-title>
          .
          <source>In IEEE EUROCON</source>
          <year>2009</year>
          , pages
          <fpage>403</fpage>
          {
          <fpage>410</fpage>
          . IEEE,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. Loli Burguen~o, Javier Troya, Manuel Wimmer, and Antonio Vallecillo.
          <article-title>On the Concurrent Execution of Model Transformations with Linda</article-title>
          .
          <source>In Proceeding of the First Workshop on Scalability in MDE, BigMDE '13</source>
          , pages
          <issue>3:1</issue>
          {3:
          <fpage>10</fpage>
          , New York, NY, USA,
          <year>2013</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Amine</surname>
            <given-names>Benelallam</given-names>
          </string-name>
          , Massimo Tisi, Istvan Rath, Benedeck Izso, and
          <string-name>
            <surname>Dimitrios</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Kolovos</surname>
          </string-name>
          .
          <article-title>Towards an Open Set of Real-World Benchmarks for Model Queries and Transformations</article-title>
          . In CEUR Workshop Proceedings, editor, BigMDE, York, UK,
          <string-name>
            <surname>United</surname>
            <given-names>Kingdom</given-names>
          </string-name>
          ,
          <year>July 2014</year>
          . University of York.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>D.</given-names>
            <surname>Harel</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>On the development of reactive systems</article-title>
          , pages
          <volume>477</volume>
          {
          <fpage>498</fpage>
          . Springer-Verlag New York, Inc., New York, NY, USA,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Massimo</surname>
            <given-names>Tisi</given-names>
          </string-name>
          , Frdric Jouault, Jrme Delatour, Zied Saidi, and
          <article-title>Hassene Choura. fuml as an assembly language for model transformation</article-title>
          . In Benot Combemale, DavidJ. Pearce, Olivier Barais, and JurgenJ. Vinju, editors,
          <source>Software Language Engineering</source>
          , volume
          <volume>8706</volume>
          of Lecture Notes in Computer Science, pages
          <volume>171</volume>
          {
          <fpage>190</fpage>
          . Springer International Publishing,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Gabor</surname>
            <given-names>Szarnyas</given-names>
          </string-name>
          , Benedek Izso, Istvan Rath, Denes Harmath, Gabor Bergmann, and Daniel Varro.
          <article-title>Incquery-d: A distributed incremental model query framework in the cloud</article-title>
          .
          <source>In ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems, MODELS</source>
          <year>2014</year>
          , Valencia, Spain,
          <year>2014</year>
          . Springer, Springer. Acceptance rate:
          <volume>26</volume>
          %.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Benedek</surname>
            <given-names>Izso</given-names>
          </string-name>
          , Gabor Szarnyas, Istvan Rath, and Daniel Varro.
          <article-title>Mondo-sam: A framework to systematically assess mde scalability</article-title>
          .
          <source>In BigMDE 2014 2nd Workshop on Scalable Model Driven Engineering, page 40. ACM</source>
          , ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Istvan</surname>
            <given-names>David</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Istvan</given-names>
            <surname>Rath</surname>
          </string-name>
          , and Daniel Varro.
          <article-title>Streaming model transformations by complex event processing</article-title>
          .
          <source>In Juergen Dingel and Wolfram Schulte</source>
          , editors,
          <source>ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems, MODELS</source>
          <year>2014</year>
          , Valencia, Spain,
          <year>2014</year>
          . Springer, Springer. Acceptance rate:
          <volume>26</volume>
          %.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Eclipse</surname>
          </string-name>
          .
          <article-title>The connected data objects model repository (CDO) project</article-title>
          ,
          <year>2012</year>
          . http: //eclipse.org/cdo.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33. Javier Espinazo Pagan, Jesus Sanchez Cuadrado, and
          <article-title>Jesus Garc a Molina. Morsa: A scalable approach for persisting and accessing large models</article-title>
          .
          <source>In Jon Whittle</source>
          , Tony Clark, and Thomas Kuhne, editors,
          <source>Model Driven Engineering Languages and Systems</source>
          , volume
          <volume>6981</volume>
          of Lecture Notes in Computer Science, pages
          <volume>77</volume>
          {
          <fpage>92</fpage>
          . Springer Berlin / Heidelberg,
          <year>2011</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -24485-8
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <given-names>Niels</given-names>
            <surname>Pinkwart</surname>
          </string-name>
          .
          <article-title>A Plug-In Architecture for Graph Based Collaborative Modeling Systems</article-title>
          . In V. Aleven et al, editor,
          <source>Supplementary Proceedings of the 11th Conference on Arti cial Intelligence in Education</source>
          ,
          <source>Sydney (Australia)</source>
          , pages
          <fpage>89</fpage>
          {
          <fpage>94</fpage>
          ,
          <string-name>
            <surname>Sydney</surname>
          </string-name>
          , Australia,
          <year>2003</year>
          . SIT.
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <given-names>Maximilian</given-names>
            <surname>Koegel</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jonas</given-names>
            <surname>Helming</surname>
          </string-name>
          .
          <article-title>Emfstore: a model repository for emf models</article-title>
          .
          <source>In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, ICSE '10</source>
          , pages
          <fpage>307</fpage>
          {
          <fpage>308</fpage>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>C. Brun</surname>
          </string-name>
          et al.
          <source>EMF compare 2.0</source>
          ,
          <year>2012</year>
          . http://www.eclipse.org/emf/compare/.
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <given-names>O.</given-names>
            <surname>Constant</surname>
          </string-name>
          . EMF Di /Merge,
          <year>2012</year>
          . http://eclipse.org/diffmerge/.
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>Zoltan</surname>
            <given-names>Ujhelyi</given-names>
          </string-name>
          , Gabor Bergmann, Abel Hegedus, Akos Horvath, Benedek Izso, Istvan Rath, Zoltan Szatmari, and Daniel Varro.
          <article-title>Emf-incquery: An integrated development environment for live model queries</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>98</volume>
          , 02/
          <year>2015</year>
          2015.
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39. Abel Hegedus, Akos Horvath, and
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Varro</surname>
          </string-name>
          .
          <article-title>A model-driven framework for guided design space exploration</article-title>
          .
          <source>Automated Software Engineering</source>
          , pages
          <volume>1</volume>
          {
          <fpage>38</fpage>
          ,
          <issue>08</issue>
          /
          <year>2014</year>
          2014.
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          40. Dimitris Kolovos and Richard Paige and
          <string-name>
            <given-names>Fiona</given-names>
            <surname>Polack</surname>
          </string-name>
          .
          <article-title>The Grand Challenge of Scalability for Model Driven Engineering</article-title>
          . In Chaudron, Michel, editor,
          <source>Models in Software Engineering</source>
          , volume
          <volume>5421</volume>
          of Lecture Notes in Computer Science, pages
          <volume>48</volume>
          {
          <fpage>53</fpage>
          . Springer Berlin / Heidelberg,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          41. G. Kramler, G. Kappel,
          <string-name>
            <given-names>T.</given-names>
            <surname>Reiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kapsammer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Retschitzegger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Schwinger</surname>
          </string-name>
          .
          <article-title>Towards a semantic infrastructure supporting model-based tool integration</article-title>
          .
          <source>In Proceedings of the 2006 international workshop on Global integrated model management</source>
          ,
          <source>GaMMa '06</source>
          , pages
          <fpage>43</fpage>
          {
          <fpage>46</fpage>
          , New York, NY, USA,
          <year>2006</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          42.
          <string-name>
            <given-names>Konstantinos</given-names>
            <surname>Barmpis</surname>
          </string-name>
          and
          <string-name>
            <given-names>Dimitrios S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          .
          <article-title>Towards scalable querying of large-scale models</article-title>
          .
          <source>In Jordi Cabot and Julia Rubin</source>
          , editors,
          <source>Modelling Foundations and Applications</source>
          , volume
          <volume>8569</volume>
          of Lecture Notes in Computer Science, pages
          <volume>35</volume>
          {
          <fpage>50</fpage>
          . Springer International Publishing,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>