<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards an Ontology-based Approach for Heterogeneous Model Matching</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mahmoud EL HAMLAOUI</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cassia TROJAHN</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sophie EBERSOLD</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernard COULETTE</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ENSIAS, SIME Laboratory, IMS Team, University of Mohamed V Souissi</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IRIT Laboratory, MACAO Team &amp; MELODI Team</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The overall goal of our approach is to relate models - of a given domain - that are designed by different actors in different Domain Specific Languages, and thus are heterogeneous. Instead of building a single global model, we propose to organize the different source models as a network of models, which provides a global view of the system through a correspondence model. This latter, conform to a correspondence meta-model is built via a manual matching process. In this paper we explore the possibility of representing models as ontologies and take advantage of an automated process to match them.in order to enhance the automation of the matching process.</p>
      </abstract>
      <kwd-group>
        <kwd>DSL</kwd>
        <kwd>heterogeneity</kwd>
        <kwd>correspondence</kwd>
        <kwd>matching</kwd>
        <kwd>refine</kwd>
        <kwd>ontology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Models manipulated by different actors within the design process of complex systems
are by nature heterogeneous. One common way to describe such models is to use
Domain Specific Languages (DSLs) [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Matching these models is one of the key
tasks for ensuring the consistency of the overall system. However, due to the specific
way these models are represented, correspondences between heterogeneous models
are generally established manually by the domain expert [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Approaches for
automating the matching process usually consist in transforming the input models to other
representations, such as tree models [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] or directed labeled graphs [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], before the
matching step itself. In this paper, we propose to take advantage of ontologies, which
provide a formal representation of the knowledge about a given domain [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], and
automated ontology matching approaches [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], in order to automate and optimize the
model matching process. Our proposal extends a previous work on matching models
through a correspondence model [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Correspondences link two or more elements
belonging to different models. They are first established at meta-model level, and are
then instantiated (refined) at model-level. We distinguish domain independent
relationships (e.g., “dependency”, “generalization”, “aggregation”, and “similarity”) from
domain specific ones. In our previous proposal, the first step of the matching process
consists in automatically refining a set of correspondences at model-level, from
correspondences established by the domain expert at meta-model level. The second step
consists in filtering out potential incorrect correspondences from the set of
instantiated ones. In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we have proposed to refine the correspondences from meta-model
level to model level in a semi-automatic way, the expert being in charge of filtering
(with the help of a tool) the correspondences that have been generated at model level.
In this paper, we propose to exploit ontology-based matching approaches for
enhancing the automation of the matching process at model level. We illustrate our approach
with a case study extracted from a Conference Management System (CMS). We focus
in this paper on the similarity relationship between two model elements.
      </p>
      <p>The rest of this paper is organized as follows. Section 2 introduces the case study
that was chosen to illustrate our approach. Section 3 presents our correspondence
meta-model and the matching process between meta-models and models. Section 4
discusses how correspondences at model level can be established through refinement
of correspondences at meta-model level. Section 5 presents how we use ontologies in
our approach. Section 6 evaluates the performance of our proposal. Section 7
compares our proposal to related work, and finally Section 8 concludes and draws
perspectives.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Running example: Conference Management System (CMS)</title>
      <p>CMS is a software system aiming to automate functions needed in the management of
a scientific conference: call for papers, paper submission, paper assignment for
evaluation, notification of the final decision, registration, etc. Even if it is not really a
complex system, the CMS has been chosen because it is firstly well known to most of
researchers; secondly, it is relevant because it involves different actors, working with
different points of view. We consider that there are three business domains in the
CMS, covering various aspects of modelling. Each business domain is described by a
dedicated model, conform to a dedicated meta-model, and is manipulated by actors
with specific roles: (a) Software Architect: responsible for the conference
management design; he creates a model – called softwareDesign – expressed through a
specific software design meta-model; (b) Database Administrator: responsible for storing
data; he creates a model – called persistence – expressed through a persistence
metamodel; (c) Process Engineer : responsible for the way to conduct a CMS; he creates a
model – called businessProcess – expressed through a business process meta-model.
Due to lack of space the CMS meta-models are not described in this paper. Fig.1,
Fig.2 and Fig.3 show fragments of the partial models of CMS.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Meta-model and Model Matching Process</title>
      <p>Meta-model for representing correspondences (MMC). Establishing
correspondences between models is a way to ensure and to maintain consistency of the whole
system. Our approach consists in analyzing input (meta)-models in order to identify
correspondences that exist among them. These correspondences are then stored into a
model of correspondences (M1C) which is conform to a meta-model of
correspondences (MMC). It expresses links among meta-elements of distinct meta-models as
well as links among elements of distinct models. MMC is composed of a generic part
common to all the domains, and of a specific part which depends on the specific
domain modeled (Fig.4). The main meta-classes of this correspondence model are : (a)
CorrespondenceModel: represents all the correspondences established among at least
two (meta)-elements belonging to different (meta)-models; (b) Correspondence:
composed of a relationship and its extremities, which represent elements from input
models; (c) Relationship: abstract meta-class that defines relationships among (meta-)
elements of different (meta-)models and allows for defining n-ary correspondences
connecting more than two elements at once. Its definition is done through
specialization of ”Relationship”, by introducing two sub-meta-classes:
“DomainIndependentRelationship” and “DomainSpecificRelationship”; (d)
DomainIndependentRelationship: abstract meta-class that represents the generic relationships that may exist in
different domains; and (e) DomainSpecificRelationship: abstract meta-class
representing relationships among models in a specific domain. New relationships are specified
by specialization of this meta-class according to the studied domain. The other
metaclasses will be described progressively in subsequent sections.
(design) expert who can be seen as an orchestrator of the system, and a tool to support
the automated phases. The process takes as input the various models, their respective
meta-models and the kernel of the meta-model of correspondences (the generic part).
It begins by identifying correspondences between meta-elements so as to produce an
intermediate correspondences model called M2C. Correspondences stored in M2C are
called High Level Correspondences (HLCs). HLCs are then refined in order to
produce Low Level Correspondences (LLCs) at model level.</p>
    </sec>
    <sec id="sec-4">
      <title>Defining correspondences on the CMS case study</title>
      <p>HLCs stored in the M2C model are defined only once during the modelling cycle.
Fig.5 shows examples of HLC correspondences using 5 types of relationships. For
example, a correspondence encompasses a link between the meta-element “Task” on
one side and the meta-element “Operation” on the other side through a “Contribution”
relationship. A “Similarity” is defined between the meta-elements “Property” and
“Column”, but also between the meta-elements “Table”, “Entity” on one side and
“Table” and “DataObject” on the other side. The last type of relationship, called
“Aggregation”, is used to relate the meta-elements “Property” and “Column”.</p>
      <p>
        HLCs are exploited to generate LLCs stored in the M1C. Actually, LLCs are
obtained by refinement of HLCs. In software and system engineering, refinement is a
classical way to reuse [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. It can be seen as a way of crossing different levels
of abstraction with the purpose of adding details when passing from a given level to a
more concrete one. According to [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], even though refinement is a key concept in
MDA (Model Driven Architecture), it is loosely defined, and open to
misinterpretation. The refine notion has also been defined in UML [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] as a stereotype for
“Abstraction” - a directed relation from an element to another one stating that the dependent
element (concrete) depends on the other one (abstract). A transition from HLC to
LLC is similar to a transformation of a PIM (platform independent model) into a PSM
(platform specific model) in the context of MDA.
      </p>
      <p>In this work we consider refinement as a transformation between HLCs and LLCs.
This is done by projecting abstract correspondences on the concrete level. The princ
iple consists in defining a HLC and then to reuse it each time it is needed at the model
level. Cx=[Similarity(Entity, Table)], Cy=[Similarity(Paper, ArticleDAO)] are r
espectively examples of a HLC and the corresponding refined LLCs.</p>
      <p>Thus, we define Refine (denoted by Rf) as follows: Ci Rf Cj, where Ci and Cj are two
correspondences, iff Ci is defined from Cj which means that Ci is an upgrading of Cj
by adding details in order to precise the correspondence. Fig.6 describes some LLCs
created by refining HLCs presented in Fig.5.</p>
      <p>Role
{from business process DSL }</p>
      <p>DataObject
{from business process DSL}</p>
      <p>Task
{from business process DSL }</p>
      <p>Use
Fig. 6. Example of LLCs from CMS system</p>
      <p>DataObject:review
{from business process model}</p>
      <p>DataObject:comment
{from business process model}</p>
      <p>DataObject:paper to review
{from business process model}</p>
      <p>Similarity
Similarity</p>
      <p>Similarity
Similarity</p>
      <p>Aggregation</p>
      <p>Similarity
Aggregation</p>
      <p>Similarity</p>
      <p>Similarity</p>
    </sec>
    <sec id="sec-5">
      <title>Ontology based approach</title>
      <p>
        Ontologies are an explicit, formal specification of a shared conceptualization of a
domain of interest [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. They provide a model of the concepts of a domain and how
these concepts are related to each other. In our proposal, we first automatically
transform a set of Ecore (meta-)models into OWL ontologies and then we exploit ontology
matching strategies in order to filter out potential incorrect LLCs.
      </p>
      <p>
        The transformation process is carried out with the help of TwoUse (Transforming
and Weaving Ontologies and UML in Software Engineering)[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In this process, each
meta-class is represented as an OWL concept and the meta-properties are represented
as OWL object properties (relating two objects) or OWL data properties (relating an
object to a data value). We refer to these elements as terminological components
(TBox) of ontologies. For the models, the instances of meta-models are represented
as OWL individuals. Each individual is related to a type (meta-class) and is described
by a set of OWL object and data properties, which are defined at meta-model level.
We refer to the instances as assertional components (ABox) of ontologies.
The correspondence model (Fig.5) is also represented as an OWL ontology (TBox),
where HLCs and LLCs are represented as OWL individuals (ABox). While HLCs are
manually established by the domain expert before the transformation step, LLCs will
be automatically generated within our matching process.
      </p>
      <p>The first step of the matching process consists in automatically generating a set of
OWL LLCs from the set of OWL HLCs (refining process). From each OWL HLC
relating a source and a target elements (OWL individuals), one OWL LLC is
automatically created. The second step consists in automatically filtering out potential
incorrect correspondences from the initial set of OWL LLCs, with the help of
ontology matching strategies. For each source and target elements (“RefElement” in Fig.6)
of a LLC, we retrieve the value of the data property describing them (i.e., following
the correspondence model, the “name” data property of a “RefElement” describes this
element at model level, e.g., “conferenceId”). These values are then compared using
different syntactic metrics. Correspondences that do not match using these metrics are
removed from the initial set of LLCs.</p>
      <p>
        In fact, MMC serves as a contextual basis for the matching process at model level,
limiting the generation of a correspondence to elements whose type participates in a
HLC. Even if the contextual information helps avoiding the creation of
correspondences between elements of types that do not match (e.g., an “Operation” and a
“Property”), it does not guarantee the generation of correct correspondences. Although
many different ontology matching approaches have been proposed in the literature
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and most of them exploit the Tbox level of ontologies. Here, we work
essentially at the ABox level, adopting syntactic strategies for comparing data properties of
OWL individuals. This first choice is due to the fact that we are working in a
domainspecific set of ontologies where the terms used to describe the elements at model level
through different models is supposed to be similar. Finally, external resources as
WordNet do not cover the vocabulary of a particular domain, as the one we consider
here.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Preliminary evaluation</title>
      <p>
        We have conducted our experiments using the CMS case study. In this first series of
experiments, we focused on the “similarity” relationship. The correspondences at
meta-model level (HLC) were manually established by a domain expert. Manually
created correspondences at model level (LLC) were used as reference alignments to
evaluate our approach. As evaluation metrics, we applied well known metrics such as
precision (the ratio of correctly found correspondences over the total number of
returned correspondences), recall (the ratio of correctly found correspondences over the
total number of expected correspondences, i.e., number of correspondences in the
reference alignment) and f-measure (the harmonic mean of precision and recall). As
depicted in Fig. 5, the alignment at meta-model level is composed of 7 HLCs
involving the similarity relation. From these HLCs, through a projection process, for each
pair of models (sofwareDesign-persistence, BusinessProcess-SoftwareDesign, and
BusinessProcess-Persistence), we automatically generated the set of all possible LLCs
(i.e., a LLC is generated between elements whose types are involved in a HLC). We
refer to this set as “projection” in the following. In order to filter out incorrect
correspondences from this projection set, we syntactically compare the values of the data
properties of each ontology individual using equality of strings and Levenshtein edit
distance [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. This metric measures the effort to transform a string into another. We
have also run LogMap [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a publicly available ontology matching system that is
able to deal with the ABox level of ontologies. LogMap is based on reasoning and
inconsistency repair techniques.
      </p>
      <p>Table 1 presents the results for the 4 sets of correspondences (“projection”,
“equality”, “edit distance”, “LogMap”), which have been generated independently of each
other. For SofwareDesign-Persistence (SD-PS), the projection set contains 462
correspondences. As expected, the precision for this set is very low (many incorrect
correspondences have been generated), while recall is high (many correct correspondences
were retrieved). An expected behavior has also been observed for the equality set,
where precision is quite high and recall is low. Using the Levenshtein distance, we
obtain intermediary values of precision and recall (and the best F-Measure). For
LogMap, although having good values of precision, it was not possible to deal with
the very specific way individuals are represented in our models. For
BusinessProcessSoftwareDesign (BP-SD), although projection still generates the best recall, equality
performed better than edit distance, especially in terms of precision.</p>
      <p>
        Projection Equality Edit distance LogMap
SD-PS
BP-SD
BP-PS
It is due to the fact that most correspondences in the reference alignment are
characterized by an equality between their data property values. Log-Map was not able to
found any correspondence for this pair (we do not distinguish empty alignments from
wrong ones – these alignments are indicated with zeros in Tables 1 and 2). Finally, for
BusinessProcess-Persistence (BP-PS), an opposite behavior was observed, where edit
distance outperforms equality. This is due to the fact that correspondences in the
reference alignment do not involve equality and very few ones that can be detected by
the metrics we apply in this paper (e.g., "paper to review" and "ArticleDAO").
When considering the intersection between the sets (Table 2), i.e., combining
contextual information from projection and a syntactic metric on data property values, for
SofwareDesign-Persistence (SD-PS), the best values where obtained when combining
projection and edit distance. For BusinessProcess-SoftwareDesign (BP-SD) and
BusinessProcess-Persistence (BP-PS), a similar behavior was observed. Although our
initial approach is naive, we obtain better results when combining projection and
syntactic metrics. Our process could also include a pre-processing step in order to treat
compound terms (e.g., “Article DAO” instead of “ArticleDAO”). Furthermore, the
use of other syntactic metrics [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] is envisaged.
      </p>
      <p>Projection+equality Projection+edit Projection+LogMap</p>
      <p>
        P F R P F R P F R
SD-PS 0.50 0.26 0.18 0.65 0.52 0.45 0.50 0.26 0.18
BP-SD 1.00 0.80 0.66 0.66 0.66 0.66 0.00 0.00 0.00
BP-PS 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Model matching. Several research works related to models matching have been
discussed in a previous work [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Among identified shortcomings of existing
approaches, one can note that they manage only binary correspondences and therefore cannot
establish n-ary ones that relate a model element to a set of elements belonging to other
models. In addition, studied approaches lead to produce a correspondence model
between each pair of input models whereas we build a unique model of correspondences
among input models. Several approaches consist in transforming the input
(meta)models to other formats in order to apply their matching techniques. For example,
MatchBox [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] transforms input meta-models into a tree model called AMC (Auto
Mapping Core). The process continues by applying a set of matching strategies to
produce the model of correspondences. Another approach, described in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], consists
in transforming the meta-models to directed labeled graphs. The correspondences are
then obtained by applying the Similarity Flooding algorithm. We could not use those
approaches in our work because they propose to apply matching techniques only at
meta-model level and they do not consider the model level. Furthermore they are not
appropriate with meta-models which have a big semantic gap between them because
in this case, according to [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], this results in a very low precision and in a very poor
recall (mostly below 0.10). The result is satisfactory only when it comes to matching
techniques between a former meta-model and a new version such as UML 1.4 and
UML 2.4 as they share the same properties.
      </p>
      <p>
        Ontology matching. Many approaches to the matching problem have been proposed
in literature since the last decade [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ][
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. These approaches can be classified
along the many features that can be found in ontologies (labels, structures, instances,
semantics), or with regard to the kind of disciplines they belong to (e.g., statistics,
combinatorial, semantics, linguistics, machine learning, or data analysis). While
terminological and syntactic methods lexically compare strings (tokens or n-grams) used
in naming entities (or in the labels and comments concerning entities), semantic
methods utilize model-theoretic semantics to determine whether or not a
correspondence exists between two entities. Approaches may consider the internal ontological
structure, such as the range of their properties (attributes and relations), their
cardinality, and the transitivity and/or symmetry of their properties, or alternatively the
external ontological structure, such as the position of the two entities within the ontological
hierarchy. The instances (or extensions) of classes could also be compared using
extension-based approaches. In addition, ontology matching systems rely not on a single
approach. Finally, using domain ontologies [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and different knowledge sources [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]
as background knowledge within the matching process has been exploited in the
literature. One initiative for evaluating ontology matching approaches for model matching
was proposed in the context of the Ontology Alignment Evaluation Initiative (OAEI)
campaigns. The aim was to compare classical model matching approaches and
ontology-based approaches. Each test case consisted of a pair of Ecore meta-models, a pair
of OWL ontologies, and a reference alignment. However, no system participating in
that campaign was able to deal with this data set, showing that there is room left for
exploiting this kind of approach.
8
      </p>
    </sec>
    <sec id="sec-7">
      <title>Final remarks and Future Work</title>
      <p>Our general goal is to related heterogeneous models corresponding to different
points of view on a complex system. In this paper, we have put the emphasis on the
use of ontology matching strategies to automate the production of correspondences at
model level. Based on a common set of correspondences at meta-model level, a set of
correspondences at model level is generated, and then refined with the help of
syntactic matching approaches. Although we focus on the similarity relationship, as most of
existing approaches in model matching, our work is a gateway that will enable us to
exploit other kinds of relationships. The novelty with respect to other approaches is
the use of correspondences at meta-model level, which serve as a context to produce
correspondences at model level.</p>
      <p>As future work, we have identified several directions to improve the approach
proposed in this paper. First, we intend to exploit other relationships than similarity (i.e.,
dependency, aggregation), what is marginally treated in both models and ontology
matching areas. Secondly, we plan to use matching approaches, in particular those
based on background knowledge (e.g., using domain ontologies). This approach can
be interesting in order to find the non-trivial relations between models. Third, we plan
to apply other syntactic metrics and combine them with semantic ones.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Jean-Rémy</surname>
            <given-names>Falleri</given-names>
          </string-name>
          , Marianne Huchard, Mathieu Lafourcade, and
          <string-name>
            <given-names>Clémentine</given-names>
            <surname>Nebut</surname>
          </string-name>
          .
          <article-title>Metamodel matching for automatic model transformation generation</article-title>
          .
          <source>In Model Driven Engineering Languages and Systems</source>
          . Springer, pages
          <fpage>326</fpage>
          -
          <lpage>340</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Gerti</given-names>
            <surname>Kappel</surname>
          </string-name>
          , Horst Kargl, Gerhard Kramler, Andrea Schauerhuber, Martina Seidl,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Strommer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Manuel</given-names>
            <surname>Wimmer</surname>
          </string-name>
          .
          <article-title>Matching meta-models with semantic systems-an experience report</article-title>
          .
          <source>In BTW Workshops</source>
          ,
          <volume>38</volume>
          -
          <fpage>52</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Mahmoud</given-names>
            <surname>El</surname>
          </string-name>
          <string-name>
            <surname>Hamlaoui</surname>
          </string-name>
          , Sophie Ebersold, Adil Anwar, Bernard Coulette,
          <string-name>
            <given-names>Mahmoud</given-names>
            <surname>Nassar</surname>
          </string-name>
          .
          <article-title>Heterogeneous models matching for consistency management</article-title>
          .
          <source>Proc. IEEE RCIS</source>
          ,
          <volume>1</volume>
          -
          <fpage>12</fpage>
          , Marrakech, Morocco,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Nenad</given-names>
            <surname>Medvidovic</surname>
          </string-name>
          and
          <string-name>
            <given-names>Richard</given-names>
            <surname>Taylor</surname>
          </string-name>
          .
          <article-title>A classification and comparison framework for software architecture description languages</article-title>
          .
          <source>Software Engineering</source>
          , IEEE Transactions on,
          <volume>26</volume>
          (
          <issue>1</issue>
          ):
          <fpage>70</fpage>
          -
          <lpage>93</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Fernando</given-names>
            <surname>Silva</surname>
          </string-name>
          <string-name>
            <given-names>Parreiras</given-names>
            ,
            <surname>Steffen Staab</surname>
          </string-name>
          , and Andreas Winter.
          <article-title>TwoUse: Integrating UML models and OWL ontologies</article-title>
          .
          <source>Technical Report 16/2007. Tech. Inst. für Informatik</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>OMG</given-names>
            <surname>UML</surname>
          </string-name>
          .
          <article-title>Uml 2.0: Superstructure specification</article-title>
          . http://www.omg.org/spec/UML/2.1.2/Superstructure/PDF/,
          <year>November 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Konrad</given-names>
            <surname>Voigt</surname>
          </string-name>
          , Petko Ivanov, and
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Rummler</surname>
          </string-name>
          .
          <article-title>Matchbox: combined meta-model matching for semi-automatic mapping generation</article-title>
          .
          <source>SAC '10, ACM</source>
          , pages
          <fpage>2281</fpage>
          -
          <lpage>2288</lpage>
          , New York, NY, USA,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Dennis</given-names>
            <surname>Wagelaar</surname>
          </string-name>
          .
          <article-title>Context-driven model refinement</article-title>
          .
          <source>In Proceedings of the 2003 European Conference MDAFA'03</source>
          , pages
          <fpage>189</fpage>
          -
          <lpage>203</lpage>
          , Berlin, Heidelberg,
          <year>2005</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Wayne</given-names>
            <surname>Wolf</surname>
          </string-name>
          .
          <article-title>Hardware-software co-design of embedded systems [and prolog]</article-title>
          .
          <source>Proceedings of the IEEE</source>
          ,
          <volume>82</volume>
          (
          <issue>7</issue>
          ):
          <fpage>967</fpage>
          -
          <lpage>989</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Michael</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          .
          <article-title>Agent-based software engineering</article-title>
          .
          <source>Software Engineering. IEEE Proceedings- [see also Software</source>
          ,
          <source>IEEE Proceedings]</source>
          ,
          <volume>144</volume>
          (
          <issue>1</issue>
          ):
          <fpage>26</fpage>
          -
          <lpage>37</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Rahm</surname>
            <given-names>Erhard</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Bernstein</given-names>
            <surname>Philip</surname>
          </string-name>
          .
          <article-title>A survey of approaches to automatic schema matching</article-title>
          .
          <source>The VLDB Journal</source>
          . Edited by P. Scheuermann. Springer-Verlag,
          <fpage>334</fpage>
          -
          <lpage>350</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Euzenat</surname>
            <given-names>Jerôme</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Shvaiko</given-names>
            <surname>Pavel</surname>
          </string-name>
          .
          <source>Ontology matching. Springer, 2nd edition</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Mahmoud El Hamlaoui, Sophie Ebersold, Adil Anwar, Bernard Coulette,
          <string-name>
            <given-names>Mahmoud</given-names>
            <surname>Nassar</surname>
          </string-name>
          .
          <article-title>Towards a framework for heterogeneous models matching</article-title>
          .
          <source>Journal of Software Engineering, Science Alert</source>
          ,
          <fpage>132</fpage>
          -
          <lpage>151</lpage>
          , New York, USA,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>Yannis</given-names>
            <surname>Kalfoglou</surname>
          </string-name>
          and
          <string-name>
            <given-names>Marco</given-names>
            <surname>Schorlemmer</surname>
          </string-name>
          .
          <article-title>Ontology mapping: the state of the art</article-title>
          .
          <source>The Knowledge Engineering Review Journal (KER)</source>
          . Volume
          <volume>18</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Zharko</surname>
            <given-names>Aleksovski</given-names>
          </string-name>
          , Warner ten Kate and Frank van Harmelen.
          <article-title>Using multiple ontologies as background knowledge in ontology matching</article-title>
          .
          <source>CISWeb Workshop</source>
          , 35-
          <fpage>49</fpage>
          .
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Marta</surname>
            <given-names>Sabou</given-names>
          </string-name>
          , Mathieu d'Aquin,
          <string-name>
            <given-names>Enrico</given-names>
            <surname>Motta</surname>
          </string-name>
          .
          <article-title>Exploring the Semantic Web as Background Knowledge for Ontology Matching</article-title>
          .
          <source>Journal on Data Semantics XI</source>
          . Volume
          <volume>5383</volume>
          ,
          <fpage>156</fpage>
          -
          <lpage>190</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Vladimir</given-names>
            <surname>Levenshtein</surname>
          </string-name>
          .
          <article-title>Binary codes capable of correcting deletions, insertions, and reversals</article-title>
          .
          <source>English Translation in Soviet Physics Doklady</source>
          ,
          <volume>10</volume>
          (
          <issue>8</issue>
          ) p.
          <fpage>707</fpage>
          -
          <lpage>710</lpage>
          ,
          <year>1966</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. Ernesto Jimenez Ruiz‚
          <article-title>Bernardo Grau‚ Yujiao Zhou</article-title>
          and
          <string-name>
            <given-names>Ian</given-names>
            <surname>Horrocks</surname>
          </string-name>
          .
          <article-title>Large-scale Interactive Ontology Matching: Algorithms and Implementation</article-title>
          . ECAI,
          <fpage>444</fpage>
          -
          <lpage>449</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Gruber</surname>
          </string-name>
          .
          <article-title>Toward principles for the design of ontologies used for knowledge sharing</article-title>
          ,
          <source>International Journal of Human-Computer Studies</source>
          ,
          <volume>43</volume>
          (
          <issue>5-6</issue>
          ),
          <fpage>907</fpage>
          -
          <lpage>928</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>Michelle</given-names>
            <surname>Cheatham</surname>
          </string-name>
          and
          <string-name>
            <given-names>Pascal</given-names>
            <surname>Hitzler</surname>
          </string-name>
          .
          <article-title>String Similarity Metrics for Ontology Alignment</article-title>
          .
          <source>In Proceedings of the International Semantic Web Conference</source>
          . Springer,
          <fpage>294</fpage>
          -
          <lpage>309</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>Martin</given-names>
            <surname>Fowler</surname>
          </string-name>
          .
          <source>Domain-Specific Languages. Addison-Wesley</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>