<!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>An ontology for describing model mapping/transformation tools and methodologies: the MoMo ontology</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fulvio D'Antonio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michele Missikoff</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Bottoni</string-name>
          <email>bottoni@di.uniroma1.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Axel Hahn</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kevin Hausmann</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LEKS - Lab for Enterprise Knowledge and Systems IASI - CNR</institution>
          ,
          <addr-line>Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universita' ”La Sapienza” di Roma - Dip. di Informatica Via Salaria</institution>
          ,
          <addr-line>113 - 00198 Roma -</addr-line>
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Oldenburg, Business Information Systems Department of Computing Science</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper is briefly presented an ontology used to represent tools, methodologies and languages in the field of model mapping/transformation (Model Morphism tools). This ontology is thought to drive a software application that will guide an user having a mapping/transformation related problem to the choice of the correct technology (MoMo recommendation system).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        In the field of conceptual modelling a great importance in the last period is being
gained by concepts connected with the “operations” on models themselves: “model
transformation”, “model mappings”, “model merging”, “model
refinement/abstraction” and many others; good surveys addressing such topics are [2]
[4] [6] [
        <xref ref-type="bibr" rid="ref5">7</xref>
        ]. Contemporarily a lot of tools for realizing such operations have been
developed; we believe that there’s a need for a common framework for the
classification of them, allowing an user to select the tool most suitable for the task,
related to model mapping or transformation, he or she wants to achieve.
      </p>
      <p>In this paper an ontology is proposed, to be used for the description and
classification of such tools; we will refer to Model Morphism tools (MoMo-“Model
Morphism” being one of the central concepts of our ontology) to indicate all those
tools that realize one or more operations on models.</p>
      <p>This ontology is thought to drive an application that will guide an user having a
mapping/transformation - related problem to the choice of the correct technology
(MoMo recommendation system): instances of concepts in the ontology will be used
to describe existing MoMo solutions and the tool will enable searching and navigation
mechanisms on such instances.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Use of the Model Morphism Ontology</title>
      <p>The MoMo ontology is intended to provide a formal model to place approaches, tools,
and methodologies in, which come from the research field of model transformation.
In order to reveal the items collected to a potential user, e.g. somebody facing a
mapping/transformation problem, the ontology needs to be accessible in a both
extensible and intuitive manner. This requirement is met by employing an (user-)
interface to the ontology, which on the one hand is published to the WWW and on the
other hand hides away the formal and implementation-specific details of the model
described in this paper.</p>
      <p>A research prototype for such an interface is the “alliknow.net software”1. It exploits
the possibilities of sophisticated navigation and search on ontologies. For both
navigation and search functionalities several functionalities have been implemented.
Moreover, the software defines an adaptable framework of views which show parts,
instances, or relations formalized in the ontology to the users.</p>
      <p>Ontology navigation reuses existing approaches of the WWW, exploiting the
semantic richness provided by the underlying ontology. Such techniques include:
• Navigation on relations relies on the usage of relations between the elements of
the model, which are made explicit by using an ontology. “Moving” from one
element to another includes three steps: to select an initial element to start from
(this step is only needed once in the very beginning of the navigation), to select
the relation to follow, and to select one of the elements connected to the initial
element via the relationship chosen.
• Meta navigation uses additional (meta-) information on the elements of the
ontologies. Implemented is for example a navigation approach based on the
connectivity of the elements. Elements with high connectivity are usually more
interesting when navigating and therefore highlighted.
• History navigation allows the user to go back to an element viewed before. On
ontologies we add for example the idea of taking only such elements into
account whose connectivity exceeds a certain threshold. Thereby, we create a
history with less, but more important items.</p>
      <p>The “alliknow.net software” bundles all these three approaches into the customisable
views above-mentioned.</p>
      <p>Concerning search capabilities four approaches are currently available. First, keyword
search provides a simple lexical matching access. Second, category search lists all
instances of a certain concept defined by the ontology. Statement search, third, uses
the RDF (Resource Description Framework) foundation OWL-ontologies are based
on and allows the user to define, and to concatenate, statements to hold true for
1 See http://alliknow.net/software
elements of the result set. Even more advanced users take advantage of query search,
fourth, that enables the interface to submit SPARQL2 queries to the ontology.</p>
    </sec>
    <sec id="sec-3">
      <title>3 Ontology Structure</title>
      <p>In figure 1, the MoMo ontology, represented using an UML class diagram, is
shown. In this paper, due to space restrictions, we describe only the most important
concepts of such ontology letting the complete description (also of the relations
existing among them) for future work.</p>
      <p>realizes</p>
      <p>EnablingTechnology
ModelOperati*on
*
ModelCreation</p>
      <p>ModelProcessing
defines *</p>
      <p>ModellingLanguage</p>
      <p>SoftwareTool</p>
      <p>Methodology
ModelMorphismDiscovery</p>
      <p>ModelTransformation</p>
      <sec id="sec-3-1">
        <title>3.1 Model</title>
        <p>
          ”A model is a set of statements about some system under study” [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. The concept
“model” addresses every abstraction of the reality used for description or
computational purposes. This concept specializes in that of Metamodel: a metamodel
makes statements about what can be expressed in the valid models of a certain
modeling language [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]; often metamodels are identified with modelling languages.
We prefer to distinguish and introduce in the ontology the concept of “modelling
language”; this will allow us to formulate descriptions such as “the metamodel of
UML expressed using the modelling language UML”, “the metamodel of ER
expressed using the modelling language OWL”.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 ModelMorphism</title>
        <p>In mathematics, a morphism is an abstraction of a structure-preserving process
between two mathematical structures [2]. We carry this term to the modelling world
to indicate those functions that, given two models A and B, are meant to represent the
correspondences between portions of A and B (such portions can be subgraphs if
considering every kind of model as a graph). If A and B are meta-models, e.g. the
UML and OWL metamodel, the morphism represents the correspondence of different
languages modelling constructs or primitives; a possible correspondence could be
UMLClass corresponds to OWL:Class and Associations/Attributes corresponds to
Object/Datatype OWL Properties; here the “structure-preserving” property consists in
the fact that an UML Association has as source and target an UML Class and as well
an OWL Object Property has as source and target an OWL Class.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 ModelOperation</title>
        <p>A model operation is every kind of manipulation that can be performed on one or
more models. We distinguish between ModelCreation tasks, that are the usual steps of
model buildings, and ModelProcessing, concerning, the operations that can be
performed on models once they exist; interesting kinds of processing are “Model
Transformations”, operations supposed to take as input one or more models and
returning as output a model, and ModelMorphismDiscovery, taking as input at least
two models and returning a ModelMorphism (i.e. the correspondences discovered
among the input models).</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4 Enabling Technology</title>
        <p>A model operation can have 0 or n actual technologies realizing it; we refer to such
realizations with the collective name of EnablingTechnology. We identified also
three important sub-categories, namely:
• ModellingLanguage, about languages for expressing models including
also those for designing the transformation themselves
• Methodolog, the sets of principles, practices, and procedures to be applied
to solve a given problem (e.g. a methodology for mapping discovery
between two UML database schemata).
• SoftwareTools, denoting all those applications realizing some kind of
modelling creation or manipulation task.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5 Approach</title>
        <p>An Approach defines the set of properties common to different specifications of
the abstract process through which a configuration can be transformed into another in
a single step. For example, a grammatical approach is characterised by the
replacement of a collection of elements, in which at least one non-terminal element is
present, with one or many different collections. According to the characteristics of the
collections in the antecedent or consequent we will have the different types of
grammars. Along with formal approaches, approaches based on direct programming
of the transformations have been developed.</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.6 Purpose</title>
        <p>A model transformation is performed with a purpose; examples of purposes are for
example model merging when a transformation on multiple input models is performed
with the purpose of joining them into a single comprehensive model, model
refactoring, for breaking the model in smaller and/or reusable parts, model translation
when it is needed a change of the formalism of representation.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>6 Summary and Outlook</title>
      <p>In this paper we have shown the ongoing work about the modelling of the
“mapping/transformation” domain. In the future, the ontology will be refined and will
be used in a decision support application, guiding the user to the correct choice of the
solution to his mapping/transformations related problems.</p>
    </sec>
    <sec id="sec-5">
      <title>References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Ed</given-names>
            <surname>Seidewitz</surname>
          </string-name>
          .
          <article-title>What models mean</article-title>
          . IEEE Softw.,
          <volume>20</volume>
          (
          <issue>5</issue>
          ):
          <fpage>26</fpage>
          -
          <lpage>32</lpage>
          ,
          <year>2003</year>
          [2]
          <string-name>
            <given-names>A</given-names>
            <surname>Survey</surname>
          </string-name>
          of Approaches to Automatic Schema Matching,
          <year>2001</year>
          ; E. Rahm, P.A.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[3] Ontology mapping: the state of the art</article-title>
          ,
          <year>2003</year>
          ;
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kalfoglou</surname>
          </string-name>
          , M.
          <source>Schorlemmer [4] INTEROP D8</source>
          .
          <article-title>1: State of the art of ontology-related techniques</article-title>
          ,
          <year>2004</year>
          ; F.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>D'Antonio</surname>
          </string-name>
          , Michele Missikoff,
          <article-title>WP8 members</article-title>
          . http://interopnoe.org/deliv/D8/attach/D8.1.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5] http://mathworld.wolfram.com/Morphism.html [6]
          <string-name>
            <given-names>Giorgos</given-names>
            <surname>Stamou</surname>
          </string-name>
          , Enrico Franconi et al.
          <source>D2</source>
          .
          <article-title>2.1: Specification of a common framework for characterizing alignment</article-title>
          ,
          <year>2004</year>
          .
          <article-title>Knowledge Web NoE Deliverable</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Giorgos</given-names>
            <surname>Stamou</surname>
          </string-name>
          , Diana Maynard et al.
          <source>D2</source>
          .
          <article-title>2.3: State of the art on current alignment techniques, 2004. Knowledge Web NoE Deliverable</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>