<!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>Constructing Scalable Domain-Speci c Graphical Modelling Languages</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad Autonoma de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The adoption of Model-Driven Engineering (MDE) as software development paradigm, is recently growing. The creation of Domain Speci c Modelling Languages (DSMLs) is a frequent task, because it has several bene ts to describe a particular domain. However, the construction of graphical DSMLs is a technically challenging task, and the generated environments do not scale well for large models. In order to improve this situation, in this thesis, we propose borrowing modularity concepts from programming languages. In this manner, DSMLs will be enriched with fragmentation strategies, which will produce environments able to seamlessly partition models across folders and les. To facilitate the de nition of the graphical syntax, we propose a guided, heuristics-based approach, which is capable to pro t from the de ned fragmentation strategy.</p>
      </abstract>
      <kwd-group>
        <kwd>Domain-Speci c Modelling Languages</kwd>
        <kwd>Graphical Modelling Environments</kwd>
        <kwd>Scalable Modelling</kwd>
        <kwd>Meta-modelling</kwd>
        <kwd>Modularity</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The Model-Driven Engineering (MDE) paradigm, proposes software
development by the use of models of higher level of abstraction than code [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Hence,
models are used to automate many activities, like code generation, system
simulation or testing. One of the important concepts within MDE are Domain-Speci c
Modelling Languages (DSMLs), which focus on modelling using primitives of a
particular domain.
      </p>
      <p>
        Current applications become complex and MDE aims to reduce production
costs. However, while models have a higher level of abstraction than code, for
large systems, they may become large and unwieldy as well. There are di erent
tools that focus on MDE, being Eclipse Modelling Framework (EMF) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], a
widespread technology and with a set of compatible plug-ins to facilitate the
creation of DSMLs. The existing technology, including EMF, does not have
appropriate mechanisms for fragmenting models, which are generally monolithic,
making them heavier and di cult to process for tools and understanding for
people.
      </p>
      <p>With respect to models, there is an absence of a system that facilitates the
modularity, therefore, the composition, extension and re-utilization, becomes
di cult. Eclipse JDT for example, basically proposes the organization of Java
projects in packages, fragments and compilation units. I propose to organise a
model like a programming project, fragmenting it into folders and les. Once the
fragmentation is applied, there is a need to de ne scoping rules for references,
visibility rules for model elements and mechanisms for e cient check of OCL
constraints. The modularity in models would bring as a bene t, the creation
of libraries of abstractions, that provide standard solutions to already resolved
problems.</p>
      <p>A further di culty is the de nition of graphical editors for DSMLs. Graphical
Frameworks do not scale well and do not support scalability mechanisms, just
barely propose layers and hierarchical drill down, to describe the di erent levels
of the model. Thus, I propose a guided, heuristics-based approach, to help users
with the de nition of the graphical syntax and afterwards the generation of these
environments. Accordingly, the generated editor will be capable to pro t from
the de ned fragmentation strategy.</p>
      <p>The proposal is to establish modularity mechanisms for DSMLs, which
provide scalability for DSMLs. In addition, facilitate the generation of graphical
modelling environments that supports this modularity.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>This research attempts to provide scalability through modularity techniques to
build modelling environments for DSMLs. Thereby, we are going to focus on
works dealing with the need of process large models. In addition to this, we
will review the use of frameworks for the generation of graphical editors. Our
approach consists in generating structured model editors from meta-models and
speed up the generation of graphical environments through patterns and wizards.</p>
      <p>
        There are some works that use di erent techniques to process large models
and obtain some performance gains. Among them, the work of Scheidgen and
Zubow [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] which proposes a persistence framework that allows automatic and
transparent fragmentation to create, update, traverse and query models, based
on EMF framework. Another example is Morsa [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which makes use of a NoSQL
database to provide scalable access to large models. Finally, the most mature
technology is CDO [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], that is a repository of EMF models, which needs to
preprocess meta-models in order to persist their instances. The two works described
above, compared their technology with CDO, nding scalability issues from the
latter.
      </p>
      <p>
        On the other hand, some works decompose models into sub-models for
enhancing their comprehensibility. In [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] Struber et al. describe a tool which use
Information Retrieval Algorithms for model splitting and an engine to obtain
several sub-models. Other example is described by Kelsen et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], providing
a mathematical description of linear-time algorithm for construction the
decomposition of models, but there is no tool support.
      </p>
      <p>There are a collection of tools that propose MDE solutions for the
development of graphical editors compatible with EMF. There are some Eclipse plug-ins
to construct diagram editors, such as: GMF 1 , Eugenia2, Graphiti3 and Sirius 4.
Graphiti provides a Java API for coding, the other frameworks are model-based.
Sirius, is the graphical modelling framework that is currently becoming popular
in the MDE community. However, we need some expert knowledge to use these
frameworks, sometimes they require the con guration of complex environment
speci cations. Besides that, the constructed editors do not scale well, because it
is based on build monolithic models. Our approach is to generate the scalable
environment with the required settings.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Proposed solution</title>
      <p>
        We are going to base our tool in DSLtao, which provides an environment to
design DSMLs through patterns. DSLtao proposes a catalogue of patterns
divided into domain, design, concrete syntax, dynamic semantics and
infrastructure patterns [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. These patterns may include services which can contribute to
the functionality of the generated environment. For this thesis, we are going to
provide a number of patterns and services, to create scalable environments for
graphical DSMLs.
      </p>
      <p>We plan to create the environment for DSMLs according to the scheme in
Fig. 1. Our tool will take as input a meta-model, with instances of patterns,
such as: Modularity, Filter, Scoping, Visibility and its corresponding graphical
representation. The interaction of the DSML designer with the tool, would be
through wizards, that facilitate the creation of diagram editors, proposing
efcient and exible schemes that may be adapted to di erent problems. After
applying the patterns to the DSML meta-model, the modelling environment will
be automatically generated.</p>
      <p>
        In terms of fragmentation, the modularity mechanism that we currently
support [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] fragments models across composition relationships between classes. To
make the approach more exible, we are also planning to provide some
fragmentation strategy which does not depend only on composition relationships. We
are planning to apply graph theory based cluster algorithms to models, and also
some heuristics to detect that the models need to be split due to their large size
1 https://wiki.eclipse.org/Graphical_Modeling_Framework
2 http://eclipse.org/epsilon/doc/eugenia/
3 http://eclipse.org/graphiti/
4 https://www.eclipse.org/sirius/
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. With this approach, we can provide fragmentation strategies which do not
depend on composition and therefore a non-hierarchical fragmentation can be
carried out.
      </p>
      <p>
        Using this modular organization, we plan to add scoping mechanism, to allow
objects being visible or not, between model elements that belong to di erent
locations in the le system or satisfy certain query. We intend to use Epsilon
Object Language (EOL) 5 and Hawk [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], to query the fragmented models and
obtain the elements e ciently.
      </p>
      <p>
        In the case of graphical syntax, we propose a wizard to de ne the concrete
syntax. Here, we are going to develop a dedicated wizard to apply the graphical
pattern over the elements of the DSMLs meta-model. This wizard will contain
some heuristics, that generate a graphical representation model, from which the
environment is synthesized, using di erent graphical editor frameworks. Using
this model, we can improve the cognitive e ectiveness, using Moody's principles
for the evaluation of graphical notations [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Finally, we are going to do some research in Model Transformations (MTs).
Taking advantage that the model is fragmented, it could be possible to put
forward a formal description which explains how we can take advantage of the
splitted model and improve the performance of MTs, perhaps in connection with
distributed models for transformation execution [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Preliminary Work</title>
      <p>
        We have developed EMF Splitter 6, which works both as an independent Eclipse
plug-in, and as a plug-in of DSLtao. EMF Splitter supports both, the de nition
of a modular structure for EMF models [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and the de nition of their graphical
syntax relying on Sirius [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We made some initial research by de ning
modularity mechanisms for meta-models developed by us and third parties, and by
generating graphical environments in the context of the MONDO EU project 7.
      </p>
      <p>
        First of all, we de ne a modular structure based on how Eclipse JDT
organized projects. This Modularity Pattern has three main concepts Project,
Package and Unit, from which we generate an Eclipse plug-in that enables the editing
of models according to this structure [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The model content can be organized
in folders and les, being possible the composition of the parts to build a
monolithic one. The generated plug-in also provides the decomposition of the model,
according to the selected fragmentation strategy.
      </p>
      <p>
        Additionally, we explored how to combine fragmentation strategies with
visualization mechanisms. The feasibility of this combination is con rmed based
on an evaluation over a synthetic models, and the model sets of the GraBaTs'09
contest. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], we applied fragmentation strategies to large models to obtain
more manageable chunks. The exploration is done by applying di erent
abstraction strategies to visualize big models in the forms of graphs.
      </p>
      <sec id="sec-4-1">
        <title>5 http://www.eclipse.org/epsilon/doc/eol/ 6 http://antoniogarmendia.github.io/EMF-Splitter 7 http://www.mondo-project.org/</title>
        <p>
          The construction of modelling environments to create and edit models, is
usually an ad-hoc, technically di cult process. In [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], we proposed the
generation of modelling environment using a wizard to de ne the concrete syntax and
to automate the process. We have a platform independent
GraphicalRepresentation meta-model and then this representation is transformed into a
technologyspeci c editor. Currently we support Sirius, but in the future we plan to support
other graphical frameworks. In addition to this, we have decided to support
manual modi cation of the generated editor, trying to avoid overriding the manual
changes.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Expected Contribution</title>
      <p>We will provide developers with advanced tools, to facilitate the work with large
models, facilitating distributed development, through division of models in more
manageable chunks.</p>
      <p>We are also implementing a pattern based approach for the automatic
generation of graphical DSMLs. We are currently working on new features and
developing further services like layers and abstractions. In the future, we hope
to contribute to the generation of advanced graphical and textual environments.
In addition, the approach could be used to the modernization of existing editors.
In this moment, the generation of editors is very costly for developers. For that
reason, the creation of the wizard to de ne the concrete syntax aims to reduce
this e ort.</p>
      <p>In this research we will generate the plug-ins that produce the environment
using the de ned patterns. These patterns may be applied in combination, then
the developer can reuse the functionality implemented. Our goal is to generate
scalable modelling environments.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Plan for Evaluation and Validation</title>
      <p>
        We plan some experiments to test the performance of the generated tools and
also validate the construction process. We already made some test with the
GraBaTs'09 models, in which we evaluate the performance of model fragmentation.
In the future, we plan to choose other case studies like the Knowledge
Discovery Metamodel (KDM) 8 models, which provides a representation related to
the existing software assets. The companies use these technology to understand
the functionality and the data of their legacy systems [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. With our approach,
these models will not be monolithic. Instead, our framework will be able to
decompose them, into folders and les, to facilitate their edition, navigation and
comprehension.
      </p>
      <p>One of the main purpose of this approach is to make easier the tasks to
developers. For that reason, it is necessary to test the tool with users have some
experience in the creation of environments for DSMLs. We will evaluate the</p>
      <sec id="sec-6-1">
        <title>8 https://www.eclipse.org/gmt/modisco/infrastructure/KDM/</title>
        <p>6</p>
        <p>Fig. 2: Gantt Diagram-Research Schedule.
process performing a case study and additionally a test to assess the quality
of our tool. For instance, the wizard for de ning the concrete syntax has been
partially assessed in the MONDO project.
7</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Current Status</title>
      <p>At this moment, we are developing EMF Splitter that enables developers to build
models in a structured way. We are in an early stage of development, but already
we made some experiments with large models and how to visually explore them.
We also provide a wizard for a semi-automatic generation of graphical editors.
Currently, we only support Sirius.</p>
      <p>We aim to continue working on this tool, to provide more advanced features
in the generation of modelling environments using patterns. The tasks are
summarized in Figure 2, with an approximation of the estimated time. We plan to
nish the thesis by the end of 2018.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>K.</given-names>
            <surname>Barmpis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shah</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          .
          <article-title>Towards Incremental Updates in LargeScale Model Indexes</article-title>
          , pages
          <volume>137</volume>
          {
          <fpage>153</fpage>
          . Springer International Publishing, Cham,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Benelallam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gomez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tisi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          .
          <article-title>Distributed model-to-model transformation with ATL on mapreduce</article-title>
          .
          <source>In Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering</source>
          , SLE 2015, Pittsburgh, PA, USA, October
          <volume>25</volume>
          -
          <issue>27</issue>
          ,
          <year>2015</year>
          , pages
          <fpage>37</fpage>
          {
          <fpage>48</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>H.</given-names>
            <surname>Bruneliere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Madiot</surname>
          </string-name>
          .
          <article-title>Modisco: A generic and extensible framework for model driven reverse engineering</article-title>
          .
          <source>In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE '10</source>
          , pages
          <fpage>173</fpage>
          {
          <fpage>174</fpage>
          , New York, NY, USA,
          <year>2010</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Connected</given-names>
            <surname>Data</surname>
          </string-name>
          <article-title>Objects (CDO)</article-title>
          . http://www.eclipse.org/cdo/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.</given-names>
            <surname>Espinazo-Pagan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Cuadrado</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. G.</given-names>
            <surname>Molina. Morsa</surname>
          </string-name>
          :
          <article-title>A scalable approach for persisting and accessing large models</article-title>
          .
          <source>In Model Driven Engineering Languages and Systems</source>
          , 14th International Conference, MODELS 2011, Wellington, New Zealand,
          <source>October 16-21</source>
          ,
          <year>2011</year>
          . Proceedings, pages
          <volume>77</volume>
          {
          <fpage>92</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Garmendia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          , and J. de Lara.
          <article-title>EMF splitter: A structured approach to EMF modularity</article-title>
          .
          <source>In Proceedings of the 3rd Workshop on Extreme Modeling co-located with ACM/IEEE 17th International Conference on Model Driven Engineering Languages &amp; Systems, XM@MoDELS</source>
          <year>2014</year>
          , Valencia, Spain,
          <year>September 29</year>
          ,
          <year>2014</year>
          ., pages
          <volume>22</volume>
          {
          <fpage>31</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A.</given-names>
            <surname>Garmendia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jimenez-Pastor</surname>
          </string-name>
          , and J. de Lara.
          <article-title>Scalable model exploration through abstraction and fragmentation strategies</article-title>
          .
          <source>In Proceedings of the 3rd Workshop on Scalable Model Driven Engineering part of the Software Technologies: Applications and Foundations (STAF</source>
          <year>2015</year>
          )
          <article-title>federation of conferences, L'Aquila</article-title>
          , Italy, July
          <volume>23</volume>
          ,
          <year>2015</year>
          ., pages
          <volume>21</volume>
          {
          <fpage>31</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Garmendia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pescador</surname>
          </string-name>
          , E. Guerra, and J. de Lara.
          <article-title>Towards the generation of graphical modelling environments aided by patterns</article-title>
          .
          <source>In SLATE</source>
          , volume
          <volume>563</volume>
          <source>of CCIS</source>
          , pages
          <volume>160</volume>
          {
          <fpage>168</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>D.</given-names>
            <surname>Granada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Vara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Bollati</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Marcos</surname>
          </string-name>
          .
          <article-title>Enabling the Development of Cognitive E ective Visual DSLs</article-title>
          . Springer International Publishing, Cham,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>P.</given-names>
            <surname>Kelsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Ma</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Glodt</surname>
          </string-name>
          .
          <article-title>Models within models: Taming model complexity using the sub-model lattice</article-title>
          . In Fundamental Approaches to Software Engineering - 14th International Conference, FASE 2011,
          <article-title>Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2011</article-title>
          , Saarbrucken, Germany, March 26-April 3,
          <year>2011</year>
          . Proceedings, pages
          <volume>171</volume>
          {
          <fpage>185</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pescador</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garmendia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Cuadrado</surname>
          </string-name>
          , and J. de Lara.
          <article-title>Patternbased development of domain-speci c modelling languages</article-title>
          .
          <source>In MoDELS</source>
          , pages
          <volume>166</volume>
          {
          <fpage>175</fpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Scheidgen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Zubow</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Fischer</surname>
            , and
            <given-names>T. H.</given-names>
          </string-name>
          <string-name>
            <surname>Kolbe</surname>
          </string-name>
          . Automated and
          <article-title>transparent model fragmentation for persisting large models</article-title>
          .
          <source>In Proceedings of the 15th International Conference on Model Driven Engineering Languages and Systems, MODELS'12</source>
          , pages
          <fpage>102</fpage>
          {
          <fpage>118</fpage>
          , Berlin, Heidelberg,
          <year>2012</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. T. Stahl, M. Volter, J.
          <string-name>
            <surname>Bettin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Haase</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Helsen</surname>
          </string-name>
          .
          <article-title>Model-driven software development - technology</article-title>
          , engineering, management. Pitman,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>D.</given-names>
            <surname>Steinberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Budinsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paternostro</surname>
          </string-name>
          , and
          <string-name>
            <surname>E. Merks.</surname>
          </string-name>
          <article-title>EMF: Eclipse Modeling Framework, 2nd Edition</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2008</year>
          . See also http:// www.eclipse.org/modeling/emf/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. D. Struber, J. Rubin,
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Splitting models using information retrieval and model crawling techniques</article-title>
          . In Fundamental Approaches to Software Engineering - 17th International Conference, FASE 2014,
          <article-title>Held as Part of the European Joint Conferences on Theory and Practice of Software</article-title>
          ,
          <source>ETAPS</source>
          <year>2014</year>
          , Grenoble, France, April 5-
          <issue>13</issue>
          ,
          <year>2014</year>
          , Proceedings, pages
          <volume>47</volume>
          {
          <fpage>62</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>R.</given-names>
            <surname>Xu</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. C. W.</given-names>
            <surname>II</surname>
          </string-name>
          .
          <article-title>Survey of clustering algorithms</article-title>
          .
          <source>IEEE Trans. Neural Networks</source>
          ,
          <volume>16</volume>
          (
          <issue>3</issue>
          ):
          <volume>645</volume>
          {
          <fpage>678</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>