<!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>A Tool for Clustering Metamodel RRelatioenalDpBSchoemasit oMSPrrojieMcteS2Prosject MySQL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>A. Overview</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Francesco Basciani, Davide Di Ruscio</institution>
          ,
          <addr-line>Juri Di Rocco</addr-line>
          ,
          <country>Alfonso Pierantonio Ludovico Iovino</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>- Over the last years, several model repositories have been proposed in response to the need of the MDE community for advanced systems supporting the reuse of modeling artifacts. Modelers can interact with MDE repositories with different intents ranging from merely repository browsing, to searching specific artifacts satisfying precise requirements. The organization and browsing facilities provided by current repositories is limited since they do not produce structured overviews of the contained artifacts, and the categorization mechanisms (if any) are based on manual activities. When dealing with large numbers of modeling artifacts, such limitations increase the effort related to both managing and reusing artifacts stored in model repositories. By focusing on metamodels management, in this paper we propose a clustering tool for automatically organizing stored metamodels and provide users with repository overviews as, for instance, the application domains covered by the available metamodels. The approach has been implemented and integrated in the MDEForge repository1.</p>
      </abstract>
      <kwd-group>
        <kwd>Building tools</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. MOTIVATION AND GOALS</title>
      <p>
        The increasing adoption of Model-Driven Engineering
(MDE) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] in business organizations led to the need of
gathering artifacts in model repositories [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Several model
repositories (see [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] just to mention
a few) have been introduced in the past decade. Among
them metamodel zoos (as for instance the Ecore Zoo2) hold
metamodels, which are typically categorized to improve search
and/or browse operations. However, locating relevant
information in a vast repository is intrinsically difficult, because it
requires domain experts to manually annotate all metamodels
in the repository with accurate metadata [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]: an activity that
is time consuming and prone to errors and omissions. In fact,
acquiring knowledge about a software artifact is a challenging
task: it is estimated that up to 60% of software maintenance
is spent on comprehension [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In order to mitigate the
difficulties related to the manual categorization of metamodels,
we propose a clustering tool for metamodel repositories: an
unsupervised procedure, which automatically organizes
metamodels into clusters. Mutually similar artifacts are grouped
together depending on a proximity measure, whose definition
can be given according to specific search and browsing
requirements. The tool is based on agglomerative hierarchical
clustering [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and explores well-known proximity measures
as well as metamodel-specific ones, each providing different
browsing characteristics.
      </p>
      <p>1This research was supported by the EU through the Model- Based Social
Learning for Public Administrations (Learn Pad) FP7 project (619583).
2ATLAS Ecore Zoo: http://www.emn.fr/z-info/atlanmod/index.php/Zoos
Project
management</p>
      <p>MSProject
MSProject2
Gantt</p>
      <p>Maven
Ant</p>
      <p>MySQL
RelationalDBSchema</p>
      <p>Database
Fig. 1. Example of classified metamodels</p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND</title>
      <p>
        Even though several MDE approaches have been conceived
over the last years to support a wide range of model
management activities, model repositories are not yet as well
developed and widespread as source-code repositories [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Most of the potential benefits of the existing online
repositories remain unexploited especially when hundreds or
even thousands of modeling artifacts have to be managed. In
particular, by focusing on the provided functionalities for
organizing, browsing, and searching metamodels, all the available
repositories are affected by the following issues:
I1. they do not provide the means to automatically produce
structured overviews of the contained metamodels, which are
typically shown as merely lists of stored elements, and that
are consequently difficult to browse. Organizations like the
one shown in Fig. 1 would permit to have an overview of
the metamodels stored in the considered repository, e.g., with
respect to the covered application domains;
I2. none of the available repositories provide mechanisms to
automatically categorize the stored artifacts, thereby making
the interaction with the repositories complex. Even users that
want to contribute with additional artifacts have to manually
annotate and classify them during the creation phase.
      </p>
      <p>In the next sections we propose a tool able to address these
challenges by focusing on the management of metamodels
stored in publicly available repositories.</p>
      <p>III. PROPOSED METAMODEL CLUSTERING APPROACH
In order to deal with the issues discussed in Section II in
this section we propose an unsupervised metamodel clustering
mechanism that permits to automatically organize unstructured
metamodel repositories and provide the users with overviews
of the available metamodels.</p>
      <p>Two different user roles are involved in the proposed
clustering approach namely the Repository Maintainer and the
Repository User discussed in the following.</p>
      <p>Repository Maintainer: the application of the whole
metamodel clustering approach is performed by the maintainer
of the repository who can have access to the functionalities
described below.</p>
      <p>Apply Metamodel Clustering: it represents the key
functionality of the proposed clustering approach. It consists of
calculating the proximity matrix representing the similarities
of all the metamodels available in the repository, and then
applying the clustering algorithm.</p>
      <p>Manage Singleton Clusters: when a new metamodel is being
added to the repository, it may happen that according to
the used proximity measure it does not fit in any of the
existing clusters and consequently it induces the creation
of a singleton cluster, i.e., a cluster consisting of only one
element. The repository maintainer can periodically consider
all the available singleton clusters and verify if they have been
created, e.g., because of the used proximity measure has to be
refined.</p>
      <p>Refine the Proximity Measure: the proximity measure plays a
key role in the whole clustering approach, and consequently its
definition is an iterative process, aiming at increasing the
accuracy of the automatically obtained metamodel clusters. The
refinement process relies on the availability of reference data,
which are typically obtained by manual activities. Such data
must be approximated by the automated clustering procedure
as discussed in the next section.</p>
      <p>Repository User: similarly to what happens in the case of
open source software, the availability of public model
repositories can give place to multitudes of users and developers that
are willing to share their modeling artifacts. In this respect,
by focusing on the metamodel clustering aspects, the proposed
approach provides the users with the functionalities discussed
below.</p>
      <p>Add New Metamodel: In contrast to existing metamodel
archives, users that add new metamodels in the repository can
omit the specification of corresponding metadata. Even in such
cases, the provided approach is able to automatically classify
the new metamodels. In fact the appropriate clusters are
identified by considering the content of the metamodels without
the need for additional user input. However, as previously
mentioned, it might happen that newly added metamodels do
not fit in any of the existing clusters. Then, the repository
maintainer takes care of such situations by means of the
functionality Manage Singleton Clusters previously discussed.
Visualize Metamodel Clusters: the approach produces
overviews of the automatically produced metamodel
clusters. Thus in addition to the list of available metamodels,
the system is able to generate graphical representations of
the available metamodels clusters and give also the means to
navigate them and retrieve detailed information about their
content if requested by the user.</p>
      <p>WEB
Access
Proximity
Calculator
Transformation
chain</p>
      <p>Clustering
Creator
…</p>
      <p>Clustering
Visualizer
Metrics</p>
      <p>Calculator
Transformation</p>
      <p>Model</p>
      <p>Metamodel</p>
      <p>Extensions</p>
      <p>Core</p>
      <p>Users
Repository
B. Supporting tool</p>
      <p>
        The proposed clustering method has been implemented as
extensions of the MDEForge platform [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In particular, as
shown in Fig. 2, MDEForge consists of core services that
are provided to enable the management of modeling artifacts,
namely transformations, models, and metamodels. Atop of
such core services, extensions can be developed to add new
functionalities. Both core service and extensions are available
through Web access and programmatic interfaces (API) that
enable their adoption as software as a service. For instance,
in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] we propose a service to automatically compose model
transformations according to user requirements. We have also
developed extensions to calculate several metrics on stored
artifacts, and to support the understanding of metamodel and
transformation characteristics [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In the remainder of the
section, we give details about the extensions that are shown in
dashed boxes in Fig. 2 and that we have developed to support
the proposed metamodel clustering approach. Concerning the
other services of MDEForge the reader can refer to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
Proximity Calculator: it plays a key role in the proposed
clustering approach since it is responsible of calculating the
mutual similarities between all the metamodels and thus create
a corresponding proximity matrix. Identifying the appropriate
similarity measure is a difficult task that might depend on
the available data set, on the considered application domain,
on the goal of the analysis being performed, etc. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
Consequently, from an architectural point of view, the
proximity calculator has been designed in terms of an interface
consisting of a method calculateSimilarity(Metamodel
mm1, Metamodel mm1), and then different concrete
implementations can be provided. So far we have developed
different similarity measures already available in the system
even though we plan to experiment and provide additional
ones. In particular, several similarity measures have been
proposed in literature [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Among those typically applied to text
documents we have considered the cosine similarity [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and
the Dice’s coefficient [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] with the aim of relating the similarity
of two metamodels on the terms used therein and consequently
on the corresponding application domains. Moreover, we
have developed two additional similarity functions specifically
conceived for modeling artifacts. Both of them rely on the
matching models calculated by means of EMFCompare3: i)
Match-based similarity: it is defined as the total number of
matched elements identified by EMFCompare divided by the
total number of elements contained in the analysed couple
      </p>
    </sec>
    <sec id="sec-3">
      <title>3http://www.eclipse.org/emf/compare/</title>
      <p>of metamodels; ii) Containment-based similarity: the previous
index does not perform well when one of the input metamodels
is contained in the other one. As an example we can consider
the full specification of UML and the UML Class Diagrams.
In such cases the match-based similarity value would be very
low since the total number of matched elements would be
much lesser than the total number of elements contained in
the two metamodels. In order to deal with such cases, the
containment-based similarity is defined as the total number of
matched elements divided by the lesser of the total elements
in the two input metamodels.</p>
      <p>Clustering Creator: by using the proximity calculator
previously discussed, it creates clusters of metamodels by applying
the agglomerative hierarchical clustering algorithm. As to the
cluster proximity calculation, which is performed during each
iteration of the algorithm, it is possible to specify the distance
to be used, i.e., single link, complete link, and group average.
Cluster Visualizer: it creates graphical and tabular
representations of the calculated metamodel clusters. The user can
explore the available metamodels by specifying the similarity
measure to be applied, and the threshold value used to filter
the identified metamodels pairs and show only those that have
a similarity value greater than the given threshold. The left
hand side of Fig. 3 shows the cluster visualizer at work. In
particular, the shown connected graphs represent the identified
clusters and the thickness of the edges is proportional to the
proximity value of each connected metamodels represented as
nodes in the graph. For each cluster, the system permits to
retrieve additional information as shown in the upper
righthand side of Fig. 3. In particular, given a cluster all the
contained metamodels are listed together with additional
information like the most representative metamodel, i.e., the one
most connected with the other ones in the cluster. Additionally,
metamodels can be downloaded or even viewed by means of
an integrated tree-based editor.</p>
      <p>IV. APPLICATION OF THE PROPOSED METAMODEL</p>
      <p>CLUSTERING APPROACH</p>
      <p>In this section we discuss the application of the clustering
approach on a concrete data set consisting of 295 metamodels
retrieved from the Ecore Zoo. We have applied the clustering
technique by using the four similarity functions mentioned
in the previous section and by specifying different thresholds.
Due to space constraints in this section we focus on the
matchbased similarity measure. For the same reason, the process
that we have followed to validate the developed clustering
technique is also omitted. It is worth noting that the data
reported in Table I can be reproduced by interacting with
the cluster visualizer component discussed in the previous
section, which permits to select the similarity measure to be
used and the desired similarity threshold. Then the graphical
representation of the retrieved clusters is updated accordingly.</p>
      <p>Figure 4 shows the number of clusters that are identified
with respect to the chosen similarity threshold. A too low
threshold correponds to consider the repository population
almost undistinguished, whilst a too high threshold returns too
many clusters with too few elements.</p>
    </sec>
    <sec id="sec-4">
      <title>V. RELATED WORK</title>
      <p>
        Clustering techniques have been used in several applications
including software and data comprehension. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] the authors
presents a methodology for handling the problem of database
migration. The approach uses semantic clustering to facilitate
the translation of extended entity relationship schema into
a schema of complex objects. They start from an Extended
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
      </p>
      <p>TABLE I</p>
      <p>
        MATCH-BASED SIMILARITY
Entity Relationships (EER) schema to create a set of clustered
schemata such that each clustered schema corresponds to a
level of abstraction and grouping of the initial schema. By
iteratively shrinking portions of EER diagram into complex
entities, the approach creates a schema of complex entities,
hiding the details about the components. The user can select
a level of clustering to show components at some degree of
detail exaclty like we do in our approach. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] authors
use clustering techniques and Model-Driven Reverse
Engineering principles for software comprehension. In particular,
the authors start by extracting data from source code for
the input data matrix construction. In the code extraction,
they consider the paragraph as the smallest atomic unit and
their cluster analysis is based on the hypothesis that record
fields existing in the same paragraphs can be grouped. For
the data matrix the chosen distance of similarity for the
cluster identification is the Euclidean distance. The paper
in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] presents a tool for the decomposition of a
metamodel into clusters of model elements. The authors claim that
large-scale diagrams, representing models and metamodels,
are often difficult to understand for the lack of appropriate
modularization structures that allow examining a model in
sub-parts. This work provides a meaningful way to split a
monolithic model into sub-models for the comprehension and
maintenance. The work in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] presents a technique, which
is based on metamodeling, Petri nets, and facets for the
analysis and clustering of requirements diagrams. Intuitively, the
approach is able to obtain the domain description in terms of
the relations and dependencies of modeled services. Then the
analysis and the clustering of requirements are automatically
calculated accordingly.
      </p>
    </sec>
    <sec id="sec-5">
      <title>VI. ADDITIONAL INFORMATION</title>
      <p>
        – MDEForge website and source code: http://www.mdeforge.org
– Related publications: [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Basciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Di</given-names>
            <surname>Salle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A. Pierantonio.</surname>
          </string-name>
          <article-title>MDEForge: an Extensible Web-Based Modeling Platform</article-title>
          .
          <source>In Procs of CloudMDE@MoDELS</source>
          <year>2014</year>
          , Valencia, Spain,
          <year>September 30</year>
          ,
          <year>2014</year>
          ., pages
          <fpage>66</fpage>
          -
          <lpage>75</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Basciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <source>Automated Chaining of Model Transformations with Incompatible Metamodels. In Procs. of MODELS</source>
          <year>2014</year>
          , pages
          <fpage>602</fpage>
          -
          <lpage>618</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Berkhin</surname>
          </string-name>
          .
          <article-title>A survey of clustering data mining techniques</article-title>
          . In J. Kogan,
          <string-name>
            <given-names>C.</given-names>
            <surname>Nicholas</surname>
          </string-name>
          , and M. Teboulle, editors,
          <source>Grouping Multidimensional Data</source>
          , pages
          <fpage>25</fpage>
          -
          <lpage>71</lpage>
          . Springer Berlin Heidelberg,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bislimovska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bozzon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Fraternali</surname>
          </string-name>
          .
          <article-title>Textual and Content-Based Search in Repositories of Web Application Models</article-title>
          .
          <source>ACM Transactions on the Web</source>
          ,
          <volume>8</volume>
          (
          <issue>2</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>47</lpage>
          , Mar.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bourque</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Dupuis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Moore</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. L.</given-names>
            <surname>Tripp</surname>
          </string-name>
          .
          <article-title>The Guide to the Software Engineering Body of Knowledge</article-title>
          .
          <source>IEEE Software</source>
          ,
          <volume>16</volume>
          (
          <issue>6</issue>
          ):
          <fpage>35</fpage>
          -
          <lpage>44</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>Mining metrics for understanding metamodel characteristics</article-title>
          .
          <source>In Procs. MiSE 2014 at ICSE</source>
          <year>2014</year>
          , pages
          <fpage>55</fpage>
          -
          <lpage>60</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>Collaborative repositories in Model-Driven Engineering</article-title>
          . IEEE Software, pages
          <fpage>28</fpage>
          -
          <lpage>34</lpage>
          , May
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>Mining Correlations of ATL Model Transformation and Metamodel Metrics</article-title>
          .
          <source>In Procs of MiSE 2015 at ICSE</source>
          <year>2015</year>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L. R.</given-names>
            <surname>Dice</surname>
          </string-name>
          .
          <article-title>Measures of the amount of ecologic association between species</article-title>
          .
          <source>Ecology</source>
          ,
          <volume>26</volume>
          (
          <issue>3</issue>
          ):pp.
          <fpage>297</fpage>
          -
          <lpage>302</lpage>
          ,
          <year>1945</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>O.</given-names>
            <surname>El Beggar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bousetta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taoufiq</surname>
          </string-name>
          .
          <article-title>Comparative study between clustering and model driven reverse engineering approaches</article-title>
          .
          <source>Lecture Notes on Software Engineering</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ),
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>R. B. France</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          <string-name>
            <surname>Bieman</surname>
            ,
            <given-names>S. P.</given-names>
          </string-name>
          <string-name>
            <surname>Mandalaparty</surname>
            ,
            <given-names>B. H. C.</given-names>
          </string-name>
          <string-name>
            <surname>Cheng</surname>
            , and
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Jensen</surname>
          </string-name>
          .
          <article-title>Repository for Model Driven Development (ReMoDD)</article-title>
          .
          <source>In Procs. of ICSE</source>
          <year>2012</year>
          , pages
          <fpage>1471</fpage>
          -
          <lpage>1472</lpage>
          . IEEE,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Hein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ritter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>Model-driven tool integration with ModelBus</article-title>
          .
          <source>Workshop Future Trends of Model-Driven</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>T.</given-names>
            <surname>Holmes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Zdun</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Dustdar</surname>
          </string-name>
          .
          <article-title>Automating the Management and Versioning of Service Models at Runtime to Support Service Monitoring</article-title>
          .
          <source>In EDOC</source>
          , pages
          <fpage>211</fpage>
          -
          <lpage>218</lpage>
          , Sept.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>A. K. Jain</surname>
            ,
            <given-names>M. N.</given-names>
          </string-name>
          <string-name>
            <surname>Murty</surname>
            , and
            <given-names>P. J.</given-names>
          </string-name>
          <string-name>
            <surname>Flynn</surname>
          </string-name>
          .
          <article-title>Data clustering: a review</article-title>
          .
          <source>ACM computing surveys (CSUR)</source>
          ,
          <volume>31</volume>
          (
          <issue>3</issue>
          ):
          <fpage>264</fpage>
          -
          <lpage>323</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>B.</given-names>
            <surname>Karasneh</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. R. V.</given-names>
            <surname>Chaudron</surname>
          </string-name>
          .
          <article-title>Online img2uml repository: An online repository for UML models</article-title>
          .
          <source>In Procs of EESSMod 2013 at MoDELS</source>
          <year>2013</year>
          , pages
          <fpage>61</fpage>
          -
          <lpage>66</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R.</given-names>
            <surname>Kutsche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Milanovic</surname>
          </string-name>
          , G. Bauhoff,
          <string-name>
            <given-names>T.</given-names>
            <surname>Baum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cartsburg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kumpe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Widiker</surname>
          </string-name>
          . BIZYCLE:
          <article-title>Model-based Interoperability Platform for Software and Data Integration</article-title>
          .
          <source>In Procs.of the MDTPI at ECMDA</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>O.</given-names>
            <surname>Lopez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Laguna</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F. J.</given-names>
            <surname>Garcia</surname>
          </string-name>
          .
          <article-title>Reuse based analysis and clustering of requirements diagrams</article-title>
          .
          <source>In Procs of REFSQ02</source>
          , pages
          <fpage>71</fpage>
          -
          <lpage>82</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R.</given-names>
            <surname>Missaoui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Godin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Sahraoui</surname>
          </string-name>
          .
          <article-title>Migrating to an object-oriented database using semantic clustering and transformation rules</article-title>
          .
          <source>Data and Knowledge Engineering</source>
          ,
          <volume>27</volume>
          (
          <issue>1</issue>
          ):
          <fpage>97</fpage>
          -
          <lpage>113</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          . Guest Editor's Introduction:
          <string-name>
            <surname>Model-Driven Engineering</surname>
          </string-name>
          . Computer,
          <volume>39</volume>
          (
          <issue>2</issue>
          ):
          <fpage>25</fpage>
          -
          <lpage>31</lpage>
          , Feb.
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.</given-names>
            <surname>Stru</surname>
          </string-name>
          ¨ber, M. Selter, and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Tool support for clustering large meta-models</article-title>
          .
          <source>In Procs. of BigMDE '13</source>
          , pages
          <issue>7</issue>
          :
          <fpage>1</fpage>
          -
          <issue>7</issue>
          :
          <fpage>4</fpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>