<!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>Managing Model and Meta-Model Components with Export and Import Interfaces</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Stru¨ ber</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Jurack</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tim Scha¨fer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Schulz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gabriele Taentzer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Philipps-Universita ̈t Marburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>When developing software in distributed teams, the maintenance and comprehension of models require an adequate modularization concept. Existing approaches that support the modularization of models over distributed resources demand a compile-time or load-time integration step of uniting the involved modules to form one big model. In our earlier work, we have proposed composite models, a component-oriented modularization approach for models that facilitates fundamental engineering principles such as encapsulation, decoupling, and information hiding at the model level as well as the meta-model level. In this paper, we present an implementation of composite models. Our implementation comprises a tool set of wizards and editor extensions based on the Eclipse Modeling Framework. We demonstrate our tool set in the use-case scenario of developing a data-oriented applications in a model-driven manner.</p>
      </abstract>
      <kwd-group>
        <kwd>composite models</kwd>
        <kwd>model modularization</kwd>
        <kwd>distributed modeling</kwd>
        <kwd>EMF</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Model-Driven Engineering (MDE) is now a common practice in many software
domains. As requirements grow in size and complexity, so do the resulting models,
leading to a need for appropriate modularization facilities to support maintainability and
comprehension [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The notion of modular modeling is inspired by that of modular
programming as introduced in the seminal paper by David Parnas [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The key properties
of modular programming are: (i) the identification and separation of distinct concerns
that are distributed over a set of modules and (ii) the identification of interfaces
establishing encapsulation and restricting visibility between modules.
      </p>
      <p>
        In the MDE community, Eclipse Modeling Framework (EMF) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is a widely used
base technology. In EMF, a separation of concerns can be established by distributing
information over a set of related models. Consider the left part of Fig. 1 for a pair of
data models from operational systems for a tourism agency and an airline. The tourism
agency model contains a travel assigned to a flight from the airline model. The dashed
arrow denotes a remote reference: When the travel agency system loads the model, the
flight is represented as a proxy object. In the case of data accesses on the flight, the flight
model is loaded and added to the memory representation of travel model (right part).
All model contents, including critical data such as flight logs and pilots, become visible.
      </p>
      <p>
        This example highlights a security issue related to the remote reference mechanism.
Other affected concerns include performance, analyzability, and collaborative work:
During queries and transformations, considering a large model set in union may be
inefficient. Checking static properties of the individual models is prohibited unless certain
restrictions are imposed [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], since models are not self-contained units. A main issue
during collaboration is proneness to inconsistencies. As an example, consider a situation
where a developer deletes a model element from their model, unaware that this element
is referred to from another model. This deletion results in a broken model reference.
      </p>
      <p>
        A modularization technique addressing theses issues is provided by composite
models [
        <xref ref-type="bibr" rid="ref17 ref6">6,17</xref>
        ]. A composite model is a set of components where each component comprises
a model with a set of export and import interfaces. Export and import interfaces declare
subsets of model elements offered to and obtained from the environment. In Fig. 2, the
travel agency has an import interface; the airline component has an export interface.
Each model element in the import interface is mapped to a corresponding export
element (dotted lines). In comparison to Fig. 1, the travel agency component now maintains
the flight and its assigned airports as autonomous, but distinguished objects. We refer to
these objects as delegate objects. Similar to a proxy, a delegate object represents an
object stored somewhere else. But despite reflecting some of the remote object’s features,
a delegate object has an own identity. Consequently, as shown in our earlier work [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ],
components are self-contained units amenable to analysis and collaborative editing.
      </p>
      <p>In this paper, we introduce a basic tool set that makes composite modeling
available to model and meta-model developers. The tool set provides an implementation of
composite models that is generic (i.e., applicable to any EMF-based host language) and
transparent (i.e., allows reusing existing meta-models).</p>
      <p>A core tool set for composite models
aoAWnfsedmagietissvttaaes-rumtaipnnopgdooevrplteoseridvnuitsfe,eewwdateuotorfaesosdsueuirsnmctroFeioibagle.ssr3eeett. mMoedteal-s waWirtteohizebianxerttcdeeosrnmfda1eeceds cMoemtap-omnoednetsl are e2ditemeMddoeidttoaer-l
lTmahteeetdas-emdmoomdeteaali-nmcsoomidnpeloasneManreDts Etbuyrsnceeexdntaeirnnidtoo-. tMraondsfeolrqmuaetriioens,s are atpopliedcomMpoodcneoelnnftosrm to are e3dited
ing them with export and import in- 4
terfaces (step 1). The resulting com- Transformation tool Model editor
ponents can be subject to additional Fig. 3: Overview.
editing (step 2). Once their
development converges, the meta-model components are instantiated by model components
with export and import interfaces (step 3). These components can be queried and
transformed in the same manner as regular models in typical MDE scenarios (step 4).</p>
      <p>Consider the two application meta-models for travel agency and an airline operative
systems shown in Fig. 4. While sharing the classes Flight and Airport, the
specification differs in the level of detail: The airline meta-model specifies subclasses for the
charter and scheduled flight cases as well as additional attributes for the airport class.
In our approach, we address such mismatch situations by allowing the exporting and
importing of individual features as well as the flattening of generalizations.</p>
      <p>(1) Extend meta-models. We provide a set of wizards to introduce export and
import interfaces in a set of meta-models. Export and import interfaces specify model parts
provided to and obtained from the environment. Each element contained in an import
interface refers to an exported element in another component. Interfaces of meta-model
components specify potential export-import relations between model components.</p>
      <p>Our wizards, shown in Fig. 5, allow the specification of a set of classes and features
from the input model. A selection of classes and features to be exported or imported
is specified using check-boxes. In the case of import interfaces, corresponding classes
from an export interface have to be selected. This mapping from import to export classes
can be set using either drag and drop functionality or buttons.</p>
      <p>(2) Edit meta-model components. The meta-model components can be edited
using an extension of EMF’s meta-model editor, excerpts being shown in Fig. 6. The
assignment of classes, references, and attributes to interfaces is highlighted visually,</p>
    </sec>
    <sec id="sec-2">
      <title>TravelAgency</title>
      <p>nTarmaveel:AEgSetrnincyg airpo0rt..s* namAeir:pEoSrttring
0..* hotels 0..* travels flights 0..* 1 from 1 to</p>
      <p>Hotel Travel Flight
andamdrees:sE:SEtrSintrging s0t.a.1y start : EDateoutbroeutu1n1rdn fadlriegrpihvaatrNltu:uErmeDb:aeEterD:aEteInt
0..*
airports</p>
    </sec>
    <sec id="sec-3">
      <title>Airline</title>
      <p>Airport
name : EString
lroucnawtiaoynC:oEuSnttri:nEgInt 11 start flighFtNligoh:tEInt f0l.i.g*hts</p>
      <p>dest</p>
      <p>CharterFlight
departure : EDate
arrival : EDate</p>
      <p>Airline
name : EString
ScheduledFlight
weeklyDeparture : EDate
weeklyArrival : EDate
Fig. 4: TravelAgency and Airline meta-models.
using a view on top of the default editor. In addition, the editor provides dedicated
functionality for the manipulation of interfaces, e.g., the (re)assigning of elements or
the creation of new additional interfaces from a selection of elements.</p>
      <p>(3) Instantiate models. The meta-models can now be instantiated. Export and
import relations between models can be edited using an extension of the generic tree-based
model editor (not shown). To edit the interfaces between models visually, in the style
of Fig. 2, a customization of the involved editors is required. In our ongoing work, we
are developing a generic framework that allows to reduce this overhead for editor
customization. A key prerequisite for such a framework is the view management provided
by Sirius, a concept we harnessed to develop our meta-model editor extension.</p>
      <p>
        (4) Apply queries and transformations. Existing model query and transformation
tools do not provide dedicated support for interfaces. Therefore, queries and
transformations cannot consider the export-import relations between models. To support
support these tasks, we provide a dedicated model transformation tool on top of Henshin,
a graph-based model transformation language for EMF models. The tool comprises a
visual editor (not shown) for the specification of composite transformation rules [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] that
can be applied to a set of model components.
      </p>
      <sec id="sec-3-1">
        <title>Related work</title>
        <p>
          Several works have investigated information hiding at model level. A black-box model
modularization approach based on the fragmentation of a meta-model along some of its
associations, called fragmentation edges, is proposed in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The authors distinguish two
types of modularization artifacts: modules as self-contained units and fragments as
fragmentary units that contain fragmentation edges. Fragments and modules are brought to
life in an obligatory weaving phase. The approach by Heidenreich et al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] comprises a
component model and a composition language. The component model describes
components with explicit export and import interfaces. The language gives a syntax for
expressing interfaces and composition steps. The key distinction between these works
and ours is that they assume a composition or integration step, whereas in our approach
imported elements are self-contained objects that, supported by a delegation technique,
reflect the features of remote objects. Ama´lio et al. [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] provide a modularization
approach based on model fragments being related through proxy nodes, a mechanism
emulating the one provided by EMF. Certain global properties of a modularized model
can be checked locally, assuming that suitable constraints are met.
        </p>
        <p>
          Several works provide interfaces at the meta-model level to improve the
development of meta-models [
          <xref ref-type="bibr" rid="ref18 ref19">18,19</xref>
          ]. These works do not address the model level explicitly.
Conversely, another class of approaches is based on defining interfaces for one
particular domain-specific language, e.g., service specifications in the case of [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>
          Separation of concerns at model level has been addressed by a line of work on the
splitting of a large model into multiple parts. Garmendia et al. [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] propose a tool to
introduce a package structure in a large model based on annotations in the meta-model.
This tool has been used in a process aimed at the exploration of large models [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
Scheidgen et al. [
          <xref ref-type="bibr" rid="ref11 ref12">11,12</xref>
          ] provide a technique and tool for the fragmentation of large models
for faster persistence and loading. The technique is based on annotating fragmentation
points in the underlying meta-model. In our own work, we have applied standard
clustering techniques to optimize for high cohesion during splitting [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. We have used
information retrieval techniques to extract the user intention during splitting from text
documents, such as requirements specifications or the project documentation [
          <xref ref-type="bibr" rid="ref15 ref16">15,16</xref>
          ].
4
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Conclusion</title>
        <p>In this paper, we propose a tool set that facilitates the modularization of meta-models
and models. By allowing to augment a set of meta-models and models with export and
import interfaces, the tool set provides support for the separation of concerns and
information hiding principles at meta-model and model level. The distinguishing feature
of our approach is that it allows to maintain components as self-contained units: Model
elements imported from another model are managed as distinct model elements with
their own identity. This approach establishes a loose coupling between components,
facilitating developer independence during collaborative editing, local static analysis,
and efficient transformations. The tool set comprises dedicated wizards plus a set of
extensions of existing an visual meta-model editor, a generic tree-based model
editor, and a model transformation tool. We provide these tools online at http://www.
informatik.uni-marburg.de/˜swt/compoemf/.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Ama´lio, N.,
          <string-name>
            <surname>de Lara</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.:
          <article-title>Fragmenta: A theory of fragmentation for MDE</article-title>
          .
          <source>In: Int. Conf. on Model Driven Engineering, Languages and Systems</source>
          . pp.
          <fpage>106</fpage>
          -
          <lpage>115</lpage>
          . IEEE (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Arifulina</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mohr</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Engels</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Platenius</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schafer</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Market-specific service compositions: Specification and matching</article-title>
          .
          <source>In: Services (SERVICES)</source>
          ,
          <source>2015 IEEE World Congress on</source>
          . pp.
          <fpage>333</fpage>
          -
          <lpage>340</lpage>
          . IEEE (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Garmendia</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
          </string-name>
          , D.S., de Lara, J.:
          <article-title>Emf splitter: A structured approach to emf modularity</article-title>
          . Workshop on Extreme Modeling pp.
          <fpage>22</fpage>
          -
          <lpage>31</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Garmendia</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Lara</surname>
          </string-name>
          , J.:
          <article-title>Scalable model exploration through abstraction</article-title>
          and fragmentation strategies p.
          <volume>21</volume>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Heidenreich</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henriksson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johannes</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zschaler</surname>
            ,
            <given-names>S.: On</given-names>
          </string-name>
          <string-name>
            <surname>Language-Independent Model Modularisation</surname>
          </string-name>
          . T.
          <string-name>
            <surname>Aspect-Oriented Software</surname>
          </string-name>
          Development VI pp.
          <fpage>39</fpage>
          -
          <lpage>82</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Jurack</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>Towards Composite Model Transformations Using Distributed Graph Transformation Concepts</article-title>
          . In: Schu¨rr,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Selic</surname>
          </string-name>
          ,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (eds.)
          <source>Int. Conf. on Model Driven Engineering Languages and Systems</source>
          . pp.
          <fpage>226</fpage>
          -
          <lpage>240</lpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jurack</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>Transformation of typed composite graphs with inheritance and containment structures</article-title>
          .
          <source>Fundam. Inform</source>
          .
          <volume>118</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>97</fpage>
          -
          <lpage>134</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kelsen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          :
          <article-title>A Modular Model Composition Technique</article-title>
          .
          <source>In: Int. Conf. on Fundamental Approaches to Software Engineering</source>
          . pp.
          <fpage>173</fpage>
          -
          <lpage>187</lpage>
          . Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matragkas</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <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>
          ,
          <string-name>
            <surname>De Lara</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <source>Ra´th, I.</source>
          , Varro´,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Tisi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Cabot</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>A research roadmap towards achieving scalability in model driven engineering</article-title>
          . In: BigMDE Workshop on Scalability in Model Driven Engineering. p.
          <fpage>2</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Parnas</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          :
          <article-title>On the criteria to be used in decomposing systems into modules</article-title>
          .
          <source>Commun. ACM</source>
          <volume>15</volume>
          ,
          <fpage>1053</fpage>
          -
          <lpage>1058</lpage>
          (
          <year>December 1972</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Scheidgen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Reference representation techniques for large models</article-title>
          . In: BigMDE Workshop on Scalability in Model Driven Engineering. p.
          <fpage>5</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Scheidgen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zubow</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fischer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolbe</surname>
          </string-name>
          , T.H.:
          <article-title>Automated and transparent model fragmentation for persisting large models</article-title>
          .
          <source>In: Int. Conf. on Model Driven Engineering Languages and Systems</source>
          . pp.
          <fpage>102</fpage>
          -
          <lpage>118</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Steinberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Budinsky</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merks</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paternostro</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>EMF: Eclipse Modeling Framework</article-title>
          . Pearson
          <string-name>
            <surname>Education</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Stru¨ber,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Lukaszczyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>Tool support for model splitting using information retrieval and model crawling techniques</article-title>
          . In: BigMDE Workshop on Scalability in Model Driven Engineering. pp.
          <fpage>44</fpage>
          -
          <lpage>47</lpage>
          .
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Stru¨ber,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Rubin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Taentzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Chechik</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Splitting models using information retrieval and model crawling techniques</article-title>
          .
          <source>In: Int. Conf. on Fundamental Approaches to Software Engineering</source>
          , pp.
          <fpage>47</fpage>
          -
          <lpage>62</lpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Stru¨ber,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Selter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>Tool support for clustering large meta-models</article-title>
          . In: BigMDE Workshop on Scalability in Model Driven Engineering. p.
          <fpage>7</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Stru¨ber,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Taentzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Jurack</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          , Scha¨fer, T.:
          <article-title>Towards a distributed modeling process based on composite models</article-title>
          .
          <source>In: Int. Conf. of Fundamental</source>
          Approaches to Software Engineering, pp.
          <fpage>6</fpage>
          -
          <lpage>20</lpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. Weisemo¨ller, I., Schu¨rr, A.:
          <article-title>Formal definition of mof 2.0 metamodel components and composition</article-title>
          .
          <source>In: Model Driven Engineering Languages and Systems</source>
          , pp.
          <fpage>386</fpage>
          -
          <lpage>400</lpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. Zˇivkovic´,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Karagiannis</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Towards metamodelling-in-the-large: Interface-based composition for modular metamodel development</article-title>
          .
          <source>In: Enterprise, Business-Process and Information Systems Modeling</source>
          , pp.
          <fpage>413</fpage>
          -
          <lpage>428</lpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>