<!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 MDD annotation methodology for Semantic Enhanced Service Oriented Architectures</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lorenzo Pondrelli</string-name>
          <email>lorenzo.pondrelli@gruppoformula.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Gruppo Formula</institution>
          ,
          <addr-line>Via Mateotti 5, 40050 Villanova di Castenaso (BO)</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Service Oriented Architectures are increasingly being used to achieve interoperability among heterogeneous systems. SOAs help developers to integrate different architectures in order to reuse legacy systems and extend software boundaries. Semantics could improve SOA features adding a common understanding of the resources shared among different systems. Model Driven Development could be useful to produce a scalable and neutral methodology for guiding developers through software development and integration processes, employing reusable approaches and platform independency. In this context it is necessary to understand how we can use the MDD approach to enhance Service Oriented Architecture with semantics. This paper proposes to use a common visualization of ontologies and services, based on the industry-standard UML modelling language and its profiling system, to solve the resources annotation process in a SOA context. A first analysis of the main UML approaches for modelling ontologies is followed by the explanation of a general method for describing service interfaces and the resources exchanged among them.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Semantic Oriented Architectures simplify the development of complex architectures,
introducing the concepts of black box components and interface programming. Black
boxes are units whose output is a specified function of the input, but for which the
method of converting input to output is not necessarily specified [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], in other words
pieces of software that can be used without knowledge of its inner workings, for
which the user supplies the input assuming the output to be correct. Following this
approach the most important thing in the developing and in the integration process is
the definition of the interfaces of the software components and their description. If we
want to ensure the interoperability among these interfaces we need to add not only a
human understandable explanation but also a computer comprehensible common
interpretation of the resources shared among the different systems. To achieve these
results we can use two different approaches: using standards or using ontologies to
share common knowledge.
Ontologies could be used to build common knowledge that can be shared among
different interfaces in order to exchange information between heterogeneous systems. In
particular Domain Ontologies are formal organization of domain knowledge and in
that way enable knowledge sharing between different knowledge-base applications
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], thus applicable to SOAs. In a SOA context we can use Domain Ontologies
collections to annotate all resources, both interfaces and content schemas, in order to obtain
shared descriptions of knowledge. There are software applications that allow the
annotation of resources, in particular most of them permit the annotation of web pages
(Ontomat [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], MnM [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], Cohse [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and Smore [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]) or text documents (Trellis [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and
Melita [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). Service Oriented Architectures are strictly related to the Web services
technology and the associated standards such as SOAP [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], WSDL [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and UDDI
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. It is more difficult to find tools for the annotation of Web services and in general
for the annotation of distributed application interfaces. One example is the
METEORS Web Service Annotation Framework (MWFAS) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that produces WSDL-S
descriptions of service interfaces. However for the purpose of this paper the key point
of is the abstraction from particular technologies, such as WSDL and SOAP,
generalizing from Web services technologies in order to find a more general solution. An
MDD [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] approach should allowing platform independent development. In this
context UML seems to be the best solution for proposing a complete developing
framework for adding semantics to SOAs, in particular a profile for describing ontologies
and a method for modeling black box interfaces which have been semantically
enriched.
      </p>
    </sec>
    <sec id="sec-2">
      <title>3 Using UML for modeling ontologies</title>
      <p>
        The semantic languages, used to express ontologies, are not readable by humans
because their representation syntaxes are built for machine understandability. From this
perspective, one of the main open issues in this field is related to the visualization of
ontologies for human readers. Most of the ontologies tools and editors, such as the
most famous Protégé, use a tree arrangement to visualize ontologies following the
structure of classes, slots, properties and instances. There are many proposals
regarding the possibility to use UML, the industry-standard of modeling languages, for
solving that issue. Some of the proposals consider the possibility to create a new MOF
metalanguage at the same level of UML [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] but most of them are related to
UML profiles for ontologies [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. The main difference is that the UML
profiling system is not a first-class extension mechanism so it cannot be used to
modify existing metamodels but only for adapting metamodels with constructs for a
particular domain. It allows the extension of metamodels in order to adapt them for
different purposes. The problem is that the ontology languages have many features that
UML does not support. In this perspective could be useful to understand completely
the relationships between the main ontology concepts and UML. Table 1 explains the
most common similarities between them:
The methods based on UML profiles allow the using of UML, so UML editors too,
for building and managing ontologies. This fact means also that we can represent
ontologies, abstracting from the different semantic languages, using XMI (now also
Protégé contains a plug-in that includes a storage format compatible to the metadata
standard MOF, obviously based on XMI [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]).
      </p>
    </sec>
    <sec id="sec-3">
      <title>4 Semantic description of interfaces and their content</title>
      <p>After the ontology modeling stage, the consequently step is the development of a
methodology to semantically describe interfaces, such as Web services. Each
interface needs two different levels of description. The first one regards the meaning of the
interface itself and its operations. The second is related to the content of the objects
exchanged among interfaces, in other words the meaning of the input and output
parameters of each interface.</p>
      <p>
        If we want to use UML as base of our annotation process, we need to profile both
these two different kinds of resources:
• Component Interfaces, such as Web services.
• Business Objects to describe parameters exchanged among interfaces.
In [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] there are proposals about UML profiles for services that can
be used therefore to express Component interfaces. For Business Objects we can
suppose to use an UML profile for XML schemas (as in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]) that allows the description
of semi-structured documents as proposed in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. In this
manner we can fully complete the description of all our resources, using UML and
XMI, at a platform independent level.
      </p>
      <p>
        The last step is the creation of a general technique for linking ontologies designed
following a particular profile with other resources. Our proposal regards only the
methodology and does not consider the choice of particular profiles. It is based on a double
annotation:
− The first phase annotation is a visual annotation produced using UML dependency
artifacts stereotyped with simples “semRef” labels or more specific stereotypes,
between ontology elements and resource elements, such as service , attributes and
operations. In Figure 1 there is an simple example of this kind of annotation using
the Provost’s service example proposed in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and a related ontology built
following [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
− The second phase annotation produces a more detailed annotation performed using
tagged values related to each resource elements. For instance, it is possible to add
more exhaustive descriptions of the single parameters of the service operations or
particular business information regarding services, such as Business Entities
involved in the service lifecycle or Quality of Service information.
− Obviously, we can suppose to add also a method for including more human
understandable information, using the UML notes system.
      </p>
      <p>In this manner we ensure a complete platform independent description of the
resources involved in SOA with the support of ontologies to guarantee interoperability.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>Using our methodology it is possible to describe interfaces, such as Web services, and
all the resources related, in a platform independent way using UML. The annotation
process allows to add, at the same time, computer and human understandable
metadata to each element of SOA resources, using common ontologies for sharing the
information among different systems. In this manner we can suppose to use UML tools
as ontology editors and annotators. XMI could become a neutral common language
for describing elements related to ontologies and Service Oriented Architectures in
order to utilize model transformation capabilities to get different Platform Specific
Model for singular technologies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <article-title>Dictionary of technical terms for aerospace use</article-title>
          , http://roland.lerc.nasa.gov/~dglover/dictionary/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Gruber</surname>
            ,
            <given-names>T. R.</given-names>
          </string-name>
          , “
          <article-title>A translation approach to portable ontology specifications”, Knowledge Acquisition</article-title>
          , Vol.
          <volume>5</volume>
          , No.
          <volume>2</volume>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>OntoMat-Annotizer</surname>
          </string-name>
          , http://annotation.semanticweb.org/ontomat/index.html
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. MnM,
          <string-name>
            <surname>Ontology Driven</surname>
          </string-name>
          Semi-Automatic and
          <article-title>Automatic Support for Semantic Web</article-title>
          , http://kmi.open.ac.uk/projects/akt/MnM/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cohse</surname>
          </string-name>
          , The Conceptual Open Hypermedia Project, http://cohse.semanticweb.org/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Smore</surname>
          </string-name>
          , Semantic Markup, Ontology and RDF Editor, http://www.mindswap.org/2005/SMORE/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Trellis</surname>
          </string-name>
          ,
          <string-name>
            <surname>I-</surname>
          </string-name>
          Knowlegde-Capture, http://www.isi.edu/ikcap/trellis/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>8. Melita, http://nlp.shef.ac.uk/melita/</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Simple</given-names>
            <surname>Object</surname>
          </string-name>
          <article-title>Access Protocol specifications</article-title>
          . http://www.w3.org/TR/soap/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Web</surname>
          </string-name>
          <article-title>Service Description Language specifications</article-title>
          , http://www.w3.org/TR/wsdl
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Universal</surname>
            <given-names>Description</given-names>
          </string-name>
          ,
          <article-title>Discovery and Integration specifications</article-title>
          . http://www.uddi.org/specification.html
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. MWSAF.
          <article-title>METEOR-S We Service Annotation Framework</article-title>
          . http://lsdis.cs.uga.edu/Projects/METEOR-S/MWSAF/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <article-title>Model Driven Architecture web site</article-title>
          , http://www.omg.org/mda/
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>Kenneth</given-names>
            <surname>Baclawski</surname>
          </string-name>
          ,
          <string-name>
            <surname>Mieczyslaw M. Kokar</surname>
            ,
            <given-names>Jeffrey E.</given-names>
          </string-name>
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>Evan Wallace1</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jerzy</surname>
            <given-names>Letkowski</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manfred R. Koethe1</surname>
            and
            <given-names>Paul</given-names>
          </string-name>
          <string-name>
            <surname>Kogut</surname>
          </string-name>
          . UOL: Unified Ontology Language
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>15. Ontology Definition Metamodel.</mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. D. Djuric,
          <article-title>MDA-based Ontology Infrastructure</article-title>
          ,
          <source>Computer Science and Information Systems (1)</source>
          (
          <year>2004</year>
          ) http://www.comsis.fon.bg.ac.yu/ComSISpdf/Volume01/Papers/DraganDjuric.pdf
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            K
            <surname>Baclawski</surname>
            , M.
            <given-names>K</given-names>
            . Kokar
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kogut</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. E.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Letkowski</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Emery</surname>
          </string-name>
          ,
          <article-title>Extending the Unified Modeling Language for ontology development</article-title>
          ,
          <source>International Journal Software and Systems Modeling (SoSyM) 1</source>
          (
          <issue>2</issue>
          ) (
          <year>2002</year>
          )
          <fpage>142</fpage>
          -
          <lpage>156</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Cranefield</surname>
            <given-names>Stephen</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Purvis</given-names>
            <surname>Martin</surname>
          </string-name>
          .
          <article-title>A UML profile and mapping for the generation of ontology-specific content languages</article-title>
          .
          <source>2002</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Protégé</surname>
          </string-name>
          plug
          <article-title>-in for XMI support</article-title>
          . http://protege.stanford.edu/plugins/xmi/
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>R.</given-names>
            <surname>Grønmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Skogan</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Solheim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Oldevik.</surname>
          </string-name>
          Model-driven
          <source>Web Services Development.</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>ACE-GIS</surname>
          </string-name>
          .
          <article-title>Adaptable and Composable E-commerce and Geographic Information Services</article-title>
          . http://www.acegis.net/
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <source>IBM UML 2</source>
          .
          <article-title>0 Profile for software services</article-title>
          . http://www128.ibm.com/developerworks/rational/library/05/419_soa/#N10041
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>W.</given-names>
            <surname>Provost</surname>
          </string-name>
          . XML.com,
          <year>2003</year>
          .
          <article-title>Uml for Web services</article-title>
          . http://webservices.xml.com/pub/a/ws/2003/08/05/uml.html?page=
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Martin</surname>
            <given-names>Bernauer</given-names>
          </string-name>
          , Gerti Kappel,
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Kramler</surname>
          </string-name>
          .
          <article-title>Representing XML Schema in UML - An UML Profile for XML Schema</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. Nicholas Routledge,
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Goodchild</surname>
          </string-name>
          ,
          <source>Linda Bird. XML Schema Profile Definition.</source>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26. Nicholas Routledge,
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Goodchild</surname>
          </string-name>
          ,
          <source>Linda Bird. UML and XML Schema. In 13th Australian Database Conference (ADC2002)</source>
          , pages
          <fpage>157</fpage>
          -
          <lpage>166</lpage>
          . ACS,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>D.</given-names>
            <surname>Carlson</surname>
          </string-name>
          .
          <article-title>Modeling XML Applications with UML</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>R.</given-names>
            <surname>Eckstein</surname>
          </string-name>
          and
          <string-name>
            <surname>S. Eckstein.</surname>
          </string-name>
          <article-title>XML und Datenmodellierung</article-title>
          . dpunkt.verlag,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>W.</given-names>
            <surname>Provost. UML For W3C XML Schema</surname>
          </string-name>
          <article-title>Design</article-title>
          . http://www.xml.com/lpt/a/2002/08/07/wxs_uml.html,
          <year>August 2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>