<!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>Reverse Engineering Process for Extracting Views from Domain Ontology</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Soraya Setti Ahmed</string-name>
          <email>settisoraya@yahoo.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sidi Mohamed Benslimane</string-name>
          <email>benslimane@univ-sba.dz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Djillali Liabes University, Research Laboratory, Computer Science Department Sidi Bel Abbes</institution>
          ,
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Mascara University, Computer Science Department</institution>
          ,
          <country country="DZ">Algeria</country>
        </aff>
      </contrib-group>
      <fpage>288</fpage>
      <lpage>293</lpage>
      <abstract>
        <p>Ontology Modularization is one of the techniques that bear good promises of effective help towards scalability in ontology design, use, and management. The development of proper ontological modules should provide a mechanism for packaging coherent sets of concepts, relationships, axioms, and instances, and a means for reusing these sets in new environments, possibly heterogeneous with respect to the environment the modules were first built. The main contribution of this paper is to describe an approach for extracting views from domain ontology using existential dependency (ED) by reverse engineering process. The extraction process based on ED could provide a coherent fragment of ontology parts together with transitive closure of dependant parts. The goal of reverse engineering process is to output a possible conceptual model, which is more readable to extracting the views, on the basis of the code in which the ontology is implemented. Thus, a set of translation rules is used to convert owl ontology in a UML class diagram.</p>
      </abstract>
      <kwd-group>
        <kwd>Modularization</kwd>
        <kwd>Reverse Engineering</kwd>
        <kwd>Existential Dependency</kwd>
        <kwd>Ontology Views</kwd>
        <kwd>Guizzardi Metamodel</kwd>
        <kwd>UML profiles</kwd>
        <kwd>OWL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Ontology Modularization techniques identify coherent and often reusable regions
within an ontology. The ability to identify such modules, thus potentially reducing the
size or complexity of an ontology for a given task or set of concepts is increasingly
important in the Semantic Web as domain ontologies increase in terms of size,
complexity and expressivity[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        In conceptual modelling, the Foundational Ontology is needed as domain independent
theoretical basis to guide and validate models of particular domains, as using of right
modelling concepts and rules is making a great influence on the quality of
Information Systems [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. For such purpose, the transformations between conceptual
models (expressed, for example, in UML) and ontological models, expressed in
ontological languages (for example, OWL) are needed. The extraction process using
lightweight ontologies like UML and OWL generates strictly unnecessary classes and
individuals, for this reason the first step of our approach is based on the reverse
engineering process whose goal is to output a possible conceptual model, which is
more readable to extracting the views, on the basis of the code in which the ontology
is implemented [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Thus, a set of translation rules is used to convert owl
ontology in a UML class diagram.
      </p>
      <p>The rest of the paper is organized as follows: In section 2 we describe the architecture
and the main steps of our approach. Section 3 introduces implementation of our
system. Finally, we conclude this paper and outline our future work in section 4.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Our approach</title>
      <p>In this section, the global architecture of our system is presented. Figure 1 illustrates
the main steps of the proposed approach.</p>
      <sec id="sec-2-1">
        <title>Reverse</title>
      </sec>
      <sec id="sec-2-2">
        <title>Engineering</title>
      </sec>
      <sec id="sec-2-3">
        <title>Process</title>
        <sec id="sec-2-3-1">
          <title>UML Class Diagram Owl Ontology</title>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>GM Conversion process</title>
        <sec id="sec-2-4-1">
          <title>Enriched System GM</title>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>Views extraction process with ED</title>
        <sec id="sec-2-5-1">
          <title>Extracted Views</title>
        </sec>
      </sec>
      <sec id="sec-2-6">
        <title>Evaluation</title>
        <sec id="sec-2-6-1">
          <title>2.1 Reverse engineering process</title>
          <p>The designer initiates transformation of domain ontology described in OWL file
into UML class diagram by reverse engineering transformation. At first, system
transforms ontology classes, then object and data type properties, and finally
constraints.</p>
          <p>Algorithm of mapping OWL Ontology to UML class diagram
Input: OWL file ontology
Output: UML class diagram
Begin
For all OWL class (concept) defined into ontology do
Create UML class with same name.</p>
          <p>If the ontological class is sub class of restriction then
For all restriction do</p>
          <p>If type of this restriction is : cardinality, minCardinality or maxCardinality then
transforme these in multiplicities for propriety specified on Property of restriction</p>
          <p>Else
Define the name of role of toClasse classe with object property name specified in</p>
          <p>Endif
Endfor</p>
          <p>Endif
If this class is sub class of other class then</p>
          <p>Define UML generalisation element</p>
          <p>Endif
Endfor
For all DataTypeProperty Do</p>
          <p>Create an attribute whose domain is class and whose range is the type of property
Endfor
For all ObjectProperty Do</p>
          <p>Create UML association whose domain is class and whose range is class</p>
          <p>Endfor
End
onProperty.</p>
        </sec>
      </sec>
      <sec id="sec-2-7">
        <title>2.2 GM conversion process</title>
        <p>
          A Conversion tool implements a transformation from UML class diagram obtained in
step 2 to Guizzardi Metamodel (GM) [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. We introduce a formal ontology, the GM to
resolve some highlighted anomalies. We adopt GM to enrich our diagram with several
existential dependencies and to define some extraction rules under tree main structural
relationships in GM such as association, subtype and part whole.
        </p>
        <p>Guizzardi’s concepts kind, subkind, phase, role and relator are all represented as
stereotypes of the UML metaclass Class, for example, and all inherit the semantics of
Class in UML. Any UML metaclass can be stereotyped.</p>
        <p>Some examples of transformation rules:</p>
        <p>Rule1: In UML Class Diagram, a collection of instances of classes are,
respectively, instances of UML G-M profiles including concrete classes (&lt;&lt;kind&gt;&gt;,
&lt;&lt;subkind&gt;&gt;, &lt;&lt;quantity&gt;&gt;, &lt;&lt;collective&gt;&gt;, &lt;&lt;phase&gt;&gt; and &lt;&lt;role&gt;&gt;).</p>
        <p>Rule 2: In UML Class Diagram, concrete classes (and their instances) are related
via UML G-M profiles including properties (&lt;&lt;mediation&gt;&gt;, &lt;&lt;derivation&gt;&gt;,
&lt;&lt;characterisation&gt;&gt;, &lt;&lt;material&gt;&gt; and &lt;&lt;formal&gt;&gt;) as well as complex objects or
part-whole (subQuantityOf, subCollectionOf, memberOf, componentOf).</p>
        <p>Rule3: In UML CD, concrete classes (and instances) can be categorised
accordingly by UML G-M profiles via abstract classes (&lt;&lt;category&gt;&gt;,
&lt;&lt;roleMixin&gt;&gt; and &lt;&lt;mixin&gt;&gt;) and other rules.</p>
      </sec>
      <sec id="sec-2-8">
        <title>2.3 Views extraction process with ED</title>
        <p>This step present extraction cases and rules for how these views can be extracted
using existential dependency, especially where the ontology is constructed using the
GM formal ontology. We note that user in this case should specify certain individuals
and classes. The extraction process produces a more focused and smaller portion and
reduces the costs to the user. There are several systems under the 3G-M like systems
of (kind, phase, role, mixin, quality, formal, relator, material, mode, Q-parthood,
Cpartood, M-parthood and system of CF-parthood). All these systems contribute to the
ED.</p>
        <p>Some examples of extraction cases and rules:
System of Kind: Super kind is Mandatory (+M), subkind is mandatory (+M), siblings
are optional (-M): This case applies general rules “requires all superclasses’ and
‘siblings optional”.</p>
        <p>System of Relator: A relator is mandatory (+M) and mediated classes are mandatory
(+M)
A mediated class is mandatory (+M), a relator is mandatory (+M) and a pair of
mediated classes is mandatory (+M): Every instance of mediated class does not make
sense without every instance of another (pair) mediated class witch the relator
mediates to.</p>
      </sec>
      <sec id="sec-2-9">
        <title>System of Role:</title>
        <p>Superkind is an ultimate substance sortal that supplies a principle of identity.
Superkind does not make sense without the roles and vice versa. Supermixin (role
mixin) is optional (-M) since it does not supply a principle of identity.
An application may not (-M) need sibling roles since they carry an incompatible
principle of identity supplied by its superkind respectively. An individual must be not
a member of its siblings. This case applies general rules: “some superclasses
optional” and “siblings optional”.</p>
        <p>Superkind is mandatory (+M), role is mandatory (+M), supermixin is optional (-M)
and sibling roles are optional (-M).</p>
      </sec>
      <sec id="sec-2-10">
        <title>2.4 Evaluation</title>
        <p>Correctness of the extracted views translates the fact that no information is lost in the
process.</p>
        <p>Information preservation may be defined as the fact that the result of a query
addressed to the collection is functionally (i.e., not from a performance viewpoint) the
same as the result of the same query addressed to the original ontology.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Implementation</title>
      <p>
        The architecture of our system has been conceived to follow a Model-Driven
Approach. In particular, we have adopted the OMG MOF (Meta-Object Facility)
metamodeling architecture [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In order to describe constraints in UML/MOF (meta)
models, the OMG also proposes the declarative formal language OCL (Object
Constraint Language) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. On the formalization of the UML profile we have used
OCL expressions mainly to: define how derived attributes/associations get their
values; define default values of attributes/associations, i.e., define their initial values;
specify query operations and specify invariants, i.e., integrity constraints that
determine a condition that must be true in all consistent system states.
      </p>
      <p>The full set of OCL expressions including: OCL expressions to specify derivation
rules; OCL expressions to define default values; OCL expressions to specify
operations created to support some OCL derivation rules and invariants, and
invariants to model the constraints stated on the UML profile. An example of an OCL
invariant representing the essential parthood axioms is shown in the code below. One
can notice that in this expression the modal existential dependence constraint of
essential parthood from UFO (Unified Foundational Ontology) is emulated via the
existence condition (lower cardinality ≥ 1) plus the immutability constraint
(isReadOnly = true).</p>
      <p>
        Inv: if (self.isEssential = true) then self.target-&gt; forAll(x | if x.oclIsKindOf(Property)
then ((x.oclAsType(Property).isReadOnly = true) and ((x.oclAsType(Property).lower
&gt;= 1)) else false endif) else true endif
In This paper we describe our approach for extracting views from domain ontology by
reverse engineering process witch consists of transforming the OWL file ontology of
E-Tourism into UML class diagram. there is an implementation of the metamodel
proposed by Guizzardi [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] by using MDA (Model-Driven Architecture) technologies,
in particular, the OMG MOF (Meta-Object Facility) and OCL (Object Constraint
Language).
      </p>
      <p>Future work will concern the implementation of process of extracting views with rules
proposed here to confirm the useful of our approach.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Doran</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tamma</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Payne</surname>
            ,
            <given-names>T</given-names>
          </string-name>
          ,R Pal misano,I . :
          <article-title>An entropy inspired measure for evaluating ontology modularization</article-title>
          .
          <source>in :5th International conference on knowledge capture(KCAP'09)</source>
          .(
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Rajugan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tharan</surname>
            ,S.,
            <given-names>T.S.</given-names>
          </string-name>
          <string-name>
            <surname>Dillon</surname>
          </string-name>
          .:
          <article-title>Modeling views in the layered view model for XML using UML</article-title>
          ,
          <source>journal of Web information System</source>
          <volume>2</volume>
          (
          <year>2006</year>
          )
          <fpage>95</fpage>
          -
          <lpage>117</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chikofsky</surname>
            ,
            <given-names>E.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cross</surname>
            <given-names>II</given-names>
          </string-name>
          ,
          <string-name>
            <surname>J. H.</surname>
          </string-name>
          ,
          <year>1990</year>
          <article-title>Reverse engineering and design recovery: a taxonomy</article-title>
          .
          <source>Software Magazine</source>
          <volume>7</volume>
          (
          <year>1990</year>
          )
          <fpage>13</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fernandez-Lopez</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Gomez</given-names>
            <surname>Pérez</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Overview and analysis of methodologies for building ontologies</article-title>
          .
          <source>The Knowledge Engineering Review</source>
          , Vol.
          <volume>17</volume>
          :
          <issue>2</issue>
          ,
          <fpage>129</fpage>
          -
          <lpage>156</lpage>
          . © 2002, Cambridge University Press
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , “On Ontology, ontologies Conceptualizations,
          <article-title>Modeling Languages, and (Meta)Models”</article-title>
          ,
          <source>Frontiers in Artificial Intelligence and Applications</source>
          , Databases and
          <string-name>
            <given-names>Information Systems IV</given-names>
            ,
            <surname>Olegas</surname>
          </string-name>
          <string-name>
            <surname>Vasilecas</surname>
          </string-name>
          , Johan Edler, Albertas Caplinskas (Editors),
          <source>ISBN 978-1-58603-640-8</source>
          , IOS Press, Amsterdam, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG):Meta Object Facility MOF core Specification</article-title>
          ,
          <year>v2</year>
          .0,Doc # ptc/06-01-
          <fpage>01</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG): Object Constraint Language</article-title>
          ,
          <year>v2</year>
          .0,
          <string-name>
            <surname>Doc</surname>
          </string-name>
          .# ptc/06-05-
          <fpage>01</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Guizzardi</surname>
          </string-name>
          ,G.:
          <article-title>Ontological Foundations for Structural Conceptual Models</article-title>
          ,
          <source>Ph.D. Thesis</source>
          , University of Twente, The
          <string-name>
            <surname>Netherlands</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>