<!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>Model Driven Ontology: Methodology for Ontology Development</article-title>
      </title-group>
      <abstract>
        <p>Semantic technology is becoming a preferable alternative for enterprise-wide applications intertwined with interoperable information sharing, due to the distributed nature of this technology. Ontology is the cornerstone of semantic technology; therefore, a major challenge for the project team is to build a complete and consistent ontology data model that represents the correct business domain. Effective collaboration among customer and team members is essential for the creation of the correct ontology model. Equally necessary is a mechanism to automatically transform this model into ontology script. Within today's leading organizations using semantic technology, a significant factor in business success rests solely in the hands of the ontologists. It is they alone who are responsible for building the correct ontology data model. Having no other members on the project team capable of verifying and validating the created ontologies may put the entire business at risk.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>This paper describes a new methodology, “Model Driven
Ontology,” in which using a standard modeling activity as
a key process for building ontology would effectively and
efficiently enhance collaborations between different
parties of the project team. This would lead to a consistent
ontology model validated and approved by all members of
the project team (business experts, intel analysts, DB
admins, architects, ontologists, etc.).</p>
      <p>
        Model Driven Ontology uses a UML object model artifact
as a starting point to build an ontology data model. This
model as a common ground for all team members is then
systematically transformed to a formal ontology,
facilitating the development of enterprise-wide
information exchange and sharing, which can be
uniformly developed, centrally maintained, and efficiently
reused [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This would lead to more efficient and
inexpensive information sharing between different
information systems, cost effective development and
deployment of information systems, and better quality
decision making as a result of more timely, accurate, and
complete information.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <p>The development of large-scale enterprise applications has
become increasingly complex due to the massive growth
of enterprise data and the constant changing of
requirements. Semantic technology has been seen as a
crucial alternative for managing this complexity by
providing a solid and flexible infrastructure for
information exchange, retrieval, sharing, and discovery.</p>
      <p>As ontologies play a central role in facilitating semantic
technology solutions, it is essential for business to
standardize the ways ontologies are developed. The phases
of ontology development include analysis, design, coding,
validation, execution, and maintenance. Moreover, it is
vital for businesses to keep all key players (business
experts, intel analysts, architects, DB admins, ontologists,
etc.) closely involved in the development phases.</p>
      <p>Organizations using semantic technology, including those
in both governmental and private sectors, frequently hand
ontology development tasks solely to the ontologists. In
most cases, the consequence is a dilemma, since no other
team member is capable of validating the ontology script
created by the ontologists, and the business might be at
great risk if the script does not reflect the correct business
model. Therefore, a methodology to standardize the way
ontology is developed is badly needed.</p>
      <p>
        This paper sheds light on the value of modeling in the
context of ontology development for enterprise
applications. It shows how modeling can be an effective
way to manage the complexity of ontology development
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], as it fosters better communication by overlooking
implementation details that are not relevant to the overall
system, and delivers robust design and assessment of
requirements and architectures. Despite these virtues,
mainstream ontologists have yet to take advantage of
modeling in everyday practice [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>Our approach uses a Unified Modeling Language (UML)
object model as the common means for expressing
ontology models. As an industry standard, UML graphic
models provide a common ground for team members to
better understand the business data models and elevate the
level of collaboration. The result is a consistent data
model, validated and approved by all team members,
which leads to a more accurate ontology script.</p>
      <p>
        In general, there is no one correct methodology for
developing ontologies, since there is no one correct way to
model a domain [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Ontology itself is a data model based
on formal logic and greatly overlaps with a UML object
model, as both share many basic concepts. While a UML
object model has the concepts of classes, properties,
associations, constraints, and instances, ontology has the
same concepts named classes, datatype properties, object
properties, restrictions, and individuals, respectively.
      </p>
      <p>Providing a single data model for all parties of project
team will increasingly eliminate design ambiguity, reduce
the complexity of the enterprise data model, and speed up
the overall development.</p>
      <p>Therefore, a UML object model can be seen as a common
model for ontologists and software architects, as it
enhances communication between both camps and brings
other parties to the table. It also aligns the effort of
building a consistent data model that is accessible and
usable not only by ontologists, but also by other team
members.</p>
      <p>
        Model Driven Ontology Methodology
In this section, we will discuss in detail the Model Driven
Ontology approach with a simple, yet complete, example
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The following diagram (Fig. 1) shows a UML class
diagram of a purchase order example in terms of classes,
attributes, enumerations, and relationships including
inheritance, composition, aggregation and associations
with constraints represented as cardinalities.
Our approach starts with the UML class diagram which
represents the data model of a particular domain. Once
the team comes up with the correct UML data model,
validated and approved by all parties, we generate a UML
version that is encoded in XMI by exporting the model
using a standard UML tool such as RSA. We then apply
transformation rules by parsing the XMI file into ontology
script.
      </p>
      <p>
        This parsing is done through Eclipse Modeling
Framework (EMF) API provided by UML2 plugin [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
which is an EMF-based implementation of the UML 2.x
metamodel for the Eclipse platform. The objective of this
plugin is to provide a useable implementation of the UML
metamodel to support the development of model
processing tools, a common XMI schema to facilitate
interchange of semantic models, test cases as a means of
validating the specification, and validation rules as a
means of defining and enforcing levels of compliance [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Our transformation platform is EMF which is part of the
Model Driven Architecture (MDA) and is the
implementation of a subset of the MDA in Eclipse
platform [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. An EMF model is essentially the class
diagram subset of UML. EMF is originally based on MOF
(Meta Object Facility) by OMG (Object Management
Group). EMF uses XMI (XML Metadata Interchange) as
its canonical form of a model definition. EMF has its own
meta-metamodel called Ecore. Ecore is considered the
metamodel for UML in addition to some other
metamodels, such as XSD, WSDL, BPEL, etc. Ecore is
located at the M3 layer of MDA paradigm and defines all
kinds of metamodels located at M2, including UML.
      </p>
      <p>Ecore, itself, is very similar to EMOF (Essential MOF),
but has Eclipse as a runtime environment.</p>
      <p>EMF lets you define a data model in one of three formats:
Java interface, XML schema, or UML class diagram, then
allows you to generate the other two formats. The
mostexperts. The expertise of these teams helps generate the
likely scenario is to start with a UML model and generate
correct script corresponding to the data model. For the
the corresponding Java interfaces and XML schema. Our
purpose of illustrating the transformation mechanism, we
approach extends this capability by generating RDF/OWL
have isolated a subset of the diagram (Fig. 2). The
script from the same UML model.</p>
      <p>Building transformation rules is a joint effort between the
architecture team, the ontology team and business domain
complete generated OWL script is too lengthy to include
in this paper.</p>
      <p>Fig-2
The following is XMI script for “Supplier” class:
&lt;packagedElement xmi:type="uml:Class" xmi:id="_maCsFE3GEd2Y9cy9X2GvMA" name="Supplier"&gt;
&lt;ownedAttribute xmi:id="_maCsFU3GEd2Y9cy9X2GvMA" name="name" visibility="private"&gt;</p>
      <p>&lt;type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/&gt;
&lt;/ownedAttribute&gt;
&lt;ownedAttribute xmi:id="_maCsFk3GEd2Y9cy9X2GvMA" name="customer" visibility="private" type="_maCsDk3GEd2Y9cy9X2GvMA"
aggregation="composite" association="_maCsKU3GEd2Y9cy9X2GvMA"&gt;
&lt;upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_maCsF03GEd2Y9cy9X2GvMA" value="*"/&gt;
&lt;lowerValue xmi:type="uml:LiteralInteger" xmi:id="_maCsGE3GEd2Y9cy9X2GvMA"/&gt;
&lt;/ownedAttribute&gt;
&lt;ownedAttribute xmi:id="_maCsGU3GEd2Y9cy9X2GvMA" name="pendingOrder" visibility="private"</p>
      <p>type="_maCr5U3GEd2Y9cy9X2GvMA" association="_maCsKk3GEd2Y9cy9X2GvMA"&gt;
&lt;upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_maCsGk3GEd2Y9cy9X2GvMA" value="*"/&gt;
&lt;lowerValue xmi:type="uml:LiteralInteger" xmi:id="_maCsG03GEd2Y9cy9X2GvMA"/&gt;
&lt;/ownedAttribute&gt;
&lt;ownedAttribute xmi:id="_maCsHE3GEd2Y9cy9X2GvMA" name="shippedOrder" visibility="private"</p>
      <p>type="_maCr5U3GEd2Y9cy9X2GvMA" association="_maCsLk3GEd2Y9cy9X2GvMA"&gt;
&lt;upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_maCsHU3GEd2Y9cy9X2GvMA" value="*"/&gt;
&lt;lowerValue xmi:type="uml:LiteralInteger" xmi:id="_maCsHk3GEd2Y9cy9X2GvMA"/&gt;
&lt;/ownedAttribute&gt;
&lt;ownedAttribute xmi:id="_maCsH03GEd2Y9cy9X2GvMA" name="order" visibility="private" type="_maCr5U3GEd2Y9cy9X2GvMA"
aggregation="shared" association="_maCsM03GEd2Y9cy9X2GvMA"&gt;
&lt;upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_maCsIE3GEd2Y9cy9X2GvMA" value="*"/&gt;
&lt;lowerValue xmi:type="uml:LiteralInteger" xmi:id="_maCsIU3GEd2Y9cy9X2GvMA"/&gt;
&lt;/ownedAttribute&gt;
&lt;/packagedElement&gt;
And its corresponding OWL script is the following:
&lt;owl:Class rdf:about="&amp;PO;Supplier"&gt;</p>
      <p>&lt;rdfs:label&gt;Supplier&lt;/rdfs:label&gt;
&lt;/owl:Class&gt;
&lt;owl:DatatypeProperty rdf:about="&amp;Supplier;name"&gt;
&lt;rdfs:domain rdf:resource="&amp;PO;Supplier"/&gt;
&lt;rdfs:range rdf:resource="&amp;xsd;string"/&gt;
&lt;rdf:type rdf:resource="&amp;owl;FunctionalProperty"/&gt;
&lt;/owl:DatatypeProperty&gt;
&lt;owl:ObjectProperty rdf:about="&amp;Supplier;order"&gt;
&lt;rdfs:domain rdf:resource="&amp;PO;Supplier"/&gt;
&lt;rdfs:range rdf:resource="&amp;PO;PurchaseOrder"/&gt;
&lt;owl:inverseOf rdf:resource="&amp;PurchaseOrder;supplier"/&gt;
&lt;/owl:ObjectProperty&gt;
&lt;owl:ObjectProperty rdf:about="&amp;Supplier;customer"&gt;
&lt;rdfs:domain rdf:resource="&amp;PO;Supplier"/&gt;
&lt;rdfs:range rdf:resource="&amp;PO;Customer"/&gt;
&lt;owl:inverseOf rdf:resource="&amp;Customer;supplier"/&gt;
&lt;/owl:ObjectProperty&gt;
&lt;owl:ObjectProperty rdf:about="&amp;Supplier;shippedOrder"&gt;
&lt;rdfs:domain rdf:resource="&amp;PO;Supplier"/&gt;
&lt;rdfs:range rdf:resource="&amp;PO;PurchaseOrder"/&gt;
&lt;/owl:ObjectProperty&gt;
&lt;owl:ObjectProperty rdf:about="&amp;Supplier;pendingOrder"&gt;
&lt;rdfs:domain rdf:resource="&amp;PO;Supplier"/&gt;
&lt;rdfs:range rdf:resource="&amp;PO;PurchaseOrder"/&gt;
&lt;/owl:ObjectProperty&gt;</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>This paper explains the benefits and values that
modeling practice can offer for ontology-based
applications, by treating modeling as a first class artifact,
rather than documentation. In addition to presenting a
single common data model that all team members can
share, a mechanism is presented to generate the ontology
script directly from the UML model once it is validated
and proofed. In this case, the model is used not only as a
diagram or a blueprint, but also as a primary artifact
from which efficient script is generated by applying
transformation rules.</p>
      <p>We argue that the use of Model Driven Ontology would
increasingly boost productivity, eliminate mistakes due
to human misunderstanding, break the monopoly of
ontologists over ontology development, and save a
significant amount of development effort.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Frank</given-names>
            <surname>Budinsky</surname>
          </string-name>
          . Dave Steinberg, Ed Merks, Ray Ellersick, and
          <string-name>
            <surname>Timothy J. Grose</surname>
          </string-name>
          ,
          <article-title>"Eclipse Modeling Framework"</article-title>
          ,
          <string-name>
            <surname>Addison-Wesley</surname>
            <given-names>Professional</given-names>
          </string-name>
          ,
          <year>August 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Dragan</given-names>
            <surname>Gasevic</surname>
          </string-name>
          , Dragan Djuric, and
          <string-name>
            <given-names>Vladan</given-names>
            <surname>Devedzic</surname>
          </string-name>
          ,
          <article-title>"</article-title>
          <source>Model Driven Architecture and Ontology Development"</source>
          , Springer, 1st edition,
          <year>July 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] Eclipse UML2 project</article-title>
          , http://www.eclipse.org/modeling/mdt/?project=uml2
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Frankel</surname>
          </string-name>
          ,
          <article-title>Model Driven architecture: Applying MDA to Enterprise Computing</article-title>
          , OMG Press, ISBN: 0471319201,
          <year>January 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Nešić</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jazayeri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jovanović</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gašević</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>"Ontology-based content model for scalable content reuse"</article-title>
          ,
          <source>In Proceedings of the 4th ACM International Conference on Knowledge Capture</source>
          , Whistler,
          <string-name>
            <surname>BC</surname>
          </string-name>
          , Canada,
          <year>2007</year>
          , pp.
          <fpage>195</fpage>
          -
          <lpage>196</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <source>[6] "National Information Exchange Model - NIEM"</source>
          , http://www.niem.gov/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>dos</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.S.</given-names>
            ,
            <surname>Ralha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.G.</given-names>
            ,
            <surname>Carvalho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.S.</given-names>
            ,
            <surname>Gašević</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          ,
          <article-title>"MDA-based Ontology Development: A Study Case,"</article-title>
          <source>In Proceedings of the 19th International Conference on Software Engineering and Knowledge Engineering</source>
          , Boston, USA,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Cranefield</surname>
          </string-name>
          , Jin Pan,
          <article-title>"Bridging the Gap Between the Model-Driven Architecture and Ontology Engineering"</article-title>
          ,
          <source>The Information Science Discussion Paper Series</source>
          ,
          <year>Number 2005</year>
          /12,
          <year>December 2005</year>
          , ISSN 1172- 6024.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>