<!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>Ranked Matching for Service Descriptions using DAML-S</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Technische Universiat ̈t Berlin, FG iVS</institution>
          ,
          <addr-line>Einsteinufer 17, Sek. EN-6, 10587 Berlin</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The vision of Semantic Web services is that computer systems shall find eligible services autonomously. This can be realised with providing semantic description about advertised and requested services. In this scenario a so-called matchmaker finds matches between service requirements and advertisements according to their description. Based on the ontology language DAML+OIL a proposal for an upper ontology for the semantic description of services called DAML-S exists already. Also, approaches were introduced, which act as matchmakers for DAML-S descriptions. The contribution of this work is a new algorithm, which ranks the level of matching for DAML-S descriptions. To determine the different degrees of matching, elements of the DAML-S description are considered and matched individually. With ranking a criterion is available to select a service among a large set of results. Consider the result of flat matchmaking that consists of a set of matching and another set of non-matching services. If an autonomous system must still choose one of the set of matching services. An ordered list of services provides a decision support to autonomously choose the best service possible.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The Semantic Web working group of the W3C develops technologies and
standards for the semantic description of the Web. The goal of these efforts is to
make the Web understandable by machines in order to increase the level of
autonomous interoperation between computer systems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Several standards and
languages were already released to follow this objective. For a brief introduction,
the most relevant are XML, RDF [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and OWL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. First, everything must be
written in XML notation and speciefid with XML Schema. Building on top of
this, RDF and its extension RDF Schema are provided to express basic
statements. The primary goal of RDF is to structure and describe existing data. Thus,
RDF is also called a metadata language. RDF Schema is a vocabulary extension
to RDF, which allows expressing categorisations in a standardised way. Based
on RDF and RDF Schema, OWL - the successor of DAML+OIL - increases the
level of expressiveness with a richer vocabulary with retaining the decidability.
      </p>
      <p>Service Provider</p>
      <p>Service</p>
      <p>Client</p>
      <p>
        These languages are primarily used for content. The next logical step is to
describe the semantics of services for optimising their platform- and
organisationindependent interoperability over the Internet. Referring to the Semantic Web,
the research field addressing this objective is named Semantic Web services [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
It’s vision is to apply semantic description for Web services in order to provide
relevant criteria for their automated selection. Based in the predecessor of OWL
– DAML+OIL – an upper ontology for the description of Web services named
DAML-Services (DAML-S) is introduced [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Basically, the DAML-S ontology
denfies three elements: a service profile to describe the functionality of a service,
a service model to model the structure of the service, and a service grounding
to map the abstract interface to a concrete binding information.
      </p>
      <p>Using DAML-S for the description of Web services can increase the ability
of computer systems to nfid eligible services autonomously. A service provider
describes his advertised services in a DAML-S description and a service requester
queries for services with a DAML-S description expressing his requirements. In
this scenario a socalled matchmaker nfids matches between service requirements
and advertised services according to their descriptions.</p>
      <p>We will introduce previous work already addressing the matching of
DAMLS descriptions more precisely in section 4. Our approach is an algorithm, which
ranks the level of matching for advertisements with requirements. The ranks are
determined by considering individual elements of the DAML-S description and
the aggregation of their individual matchmaking.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>For the application of the matching algorithm, we can distinguish two scenarios:
In the rfist, the semantic description of individual services is stored and processed
on a central server. For this, existing repositories managing information and
addresses of Web services could be extended to be compatible with DAML-S
descriptions. A service requester provides with his query also his description
and the server processes this request by matching the requirements with the
description of eligible services. Then the server returns the best match. This
scenario pretends that a generally accepted organisation maintains the repository
and service providers are willing to submit a DAML-S description about their
services. Figure 1 outlines this schema. An existing specicfiation for a repository
Service Repository</p>
      <p>UDDI
DB
returns service</p>
      <p>
        address
queries
services
registers service
to nfid Web services in the Internet is UDDI [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The approach to extend UDDI
repositories with semantic description can be found in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>In the second case the service requester obtains the DAML-S description for
eligible services and performs the matching process on its own. The address of the
service and the information how to obtain the DAML-S description can be found
in a repository. Figure 2 outlines a scenario, where the service requester contacts
an UDDI repository to nfid eligible services. Then, the individual services are
contacted and their descriptions are requested. The service requester processes
the descriptions and ranks the service by their level of matching. To favour either
the server-centirc solution the following considerations are relevant:
Simple Client: The implementation of a client, which acts as the service
requester can be kept very simple. Thus, the effort for finding services on the
client side is very low.</p>
      <p>Centralised Logic: Since currently DAML-S is an evolving proposal, it is likely
that languages, standards and maybe the matching algorithm may become
revised. Applying the necessary changes only on the server-side means lower
efforts than keeping various applications up-to-date.</p>
      <p>These two advantages are also well known for other approaches, which have lead
to a server-oriented architecture in general. However, some advantages exist,
which might be deciding to prefer a client-sided approach:
Custom Matching: A service requester wants to use an own matching
algorithm instead of the implementation of the central server. In our matching
algorithm we also provide to extend the matching with user-denfied
modules. These user-defined modules can denfie constraints that must be present
in the DAML-S description of the advertised service. Only with the
clientsided execution of such modules the personalisation of the matching process
is possible.</p>
      <p>Organisational Limitations: To perform the matchmaking of DAML-S
descriptions on a central server pretends the cooperation of the service providers
to submit their DAML-S descriptions. A decentralised approach would mean
less organisational efforts and a quicker adoption within an organisational
domain.</p>
      <p>Since our approach includes user-customisable modules to enhance the matching
algorithm, we favour the client-sided scenario. In our work a client application
representing the service requester queries the DAML-S description from an
already obtained list of services to find the best match.
2.1</p>
      <p>Short Introduction to DAML-S
The DAML-S ontology denfies three basic elements: (1) a service profile to
describe the functionality of a service, (2) a service model to model the structure
of the service, and (3) a service grounding to map the abstract interface to a
concrete binding information. As the focus of this work is on the discovery and
selection of Web services, our main interest lies in the prolfie, which provides
the necessary information for the matching algorithm. The prolfie provides three
basic types of information. First, it presents a textual description and contact
information, which is mainly intended for human users.</p>
      <p>The next information provided is a functional description of the service.
This functional description is expressed in terms of the input parameters and
the output parameters generated by the service. Additionally, the functional
description is described by two sets of conditions, namely preconditions, which
have to hold before the service can be executed properly, and effects, which are
conditions that hold after the successful execution of the service. These four
functional descriptions are also referred to as IOPE (Input Output Precondition
Effect). The IOPEs are realized through an object property called parameter.
This property assigns a class of type ParameterDescription to the prolfie. The
following four object properties are subproperties of parameter, and describe the
functional behaviour of the Web service:
input
output
precondition
Effect</p>
      <sec id="sec-2-1">
        <title>Specifies one input parameter of the profile. A profile can</title>
        <p>have as many inputs as required (including none).</p>
      </sec>
      <sec id="sec-2-2">
        <title>Specifies one output parameter of the profile. A profile can</title>
        <p>have as many outputs as required (including none).</p>
      </sec>
      <sec id="sec-2-3">
        <title>Specifies one precondition of the profile. There can be as many preconditions as necessary.</title>
      </sec>
      <sec id="sec-2-4">
        <title>Specifies one effect of the profile. A profile can have as many effects as required.</title>
        <p>Finally, the prolfie comes with a set of additional properties that are used to
describe features of the service. From these properties we use in our algorithm
the service category, which is used to classify the service with respect to some
ontology or taxonomy of services. The value of the property is an instance of the
class ServiceCategory.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Ranked Matching for DAML-S Descriptions</title>
      <p>As defined in the DAML-S specification, a Web service is semantically described
by an instance of the class Profile . Although a service can have multiple profiles
as a Web service can provide multiple operations, in the following the words
service and prolfie are used synonymously, meaning one specicfi profile definition.</p>
      <sec id="sec-3-1">
        <title>Concept Matching</title>
        <p>F ail(A, B)
Subconcept(A, B)
Equivalent(A, B)
An instance of this class holds all the inputs and outputs associated with that
service as object properties; it is therefore possible to find a relation between
two services by directly finding the semantic relationship between the instances
of the referring Profile classes, which would include all the existing relationships
between the input and output parameters, as these are properties of the prolfie.
Moreover, if the Web service is described by an instance of a subclass of the
class Profile, a matching algorithm can also perform a subsumption reasoning
to determine the relation between the two services.</p>
        <p>The result of this consideration is a matching algorithm, which is divided into
three stages: (a) the matching of inputs, (b) the matching of outputs, and (c)
the matching of the service prolfie classification itself. This algorithm determines
the matching for each of the stages individually. The result is aggregated with
a fourth stage, where user-denfied constraints or functionality can complete the
matching result. Most parts of the matching algorithm will build on the
semantics of the services. Using DAML-S means that the semantics are denfied in a
DAML+OIL ontology. Our first task is thus classifying the different relations
between two concepts and two properties to determine the degree of matching.
From sections 3.1 to 3.3 we will explain the different three stages and the forth
user-defined stage. In section 3.5, we present how the results of the different
stages are aggregated to form the whole algorithm.</p>
        <p>Let A, B denote two concepts which originate from a given set of ontologies.
Then the following three relationships between A and B are considered:</p>
        <sec id="sec-3-1-1">
          <title>The concepts A and B are in no relation with each other.</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>The concept B is subsumed by the concept A, meaning that</title>
        </sec>
        <sec id="sec-3-1-3">
          <title>A denotes a more general concept than B.</title>
        </sec>
        <sec id="sec-3-1-4">
          <title>A and B are equivalent, meaning that both denote exactly the same concept.</title>
          <p>The matching algorithm queries the underlying knowledge base to determine
the relationship between the concepts. For checking the equivalence of two
concepts, it is not sufficient to check if A = B. Two concepts can be equal even
if they have different names and are defined in two different ontologies, as it is
possible to equalise two concepts with usage of the &lt;sameClassAs&gt; element.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Property Matching</title>
        <p>Let R and S denote two properties which originate from a given set of ontologies.
We then have the following relationships between R and S:
F ail(R, S)
Subproperty(R, S)
Equivalent(R, S)</p>
        <sec id="sec-3-2-1">
          <title>The two properties R and S are in no relation to one another with respect to all referenced ontologies.</title>
        </sec>
        <sec id="sec-3-2-2">
          <title>The property R is a subproperty of the property S.</title>
        </sec>
        <sec id="sec-3-2-3">
          <title>R and S are equivalent which means that both denote exactly the same property.</title>
          <p>The matching algorithm provides a functionality to determine the above
mentioned relation between two given properties. As with concepts, two
different properties can be defined to be equivalent by using the tag element
&lt;samePropertyAs&gt;. In the implementation the matching algorithm queries the
knowledge base to determine if two properties are equivalent.
3.1</p>
          <p>Matching of Inputs
At this matching stage it is determined how well each input of the advertised
service matches with an input of the requested service. As a general condition
for using the advertised service properly, every input of the advertised service
has to be matched. Since any input itself is defined as a property, there are two
possibilities of nfiding a match: property matches and type matches. For the
matching of the input properties table the following matching results can be
distinguished:
F AIL
SU BP ROP ERT Y</p>
        </sec>
        <sec id="sec-3-2-4">
          <title>At least one of input properties of the advertised service is not matched by the requested service. Thus, the service cannot be invoked properly.</title>
        </sec>
        <sec id="sec-3-2-5">
          <title>The input of the requested service is a subproperty of the in</title>
          <p>put of the advertised service. This means that the more specific
property of the requested service will at least provide the same
characteristic as required for proper invocation of the advertised
service.</p>
          <p>EQU IV ALEN T</p>
        </sec>
        <sec id="sec-3-2-6">
          <title>Both inputs denote the same property.</title>
          <p>For the matching of input types as defined in the service prolfie, subsumption
reasoning can be applied, because the types are described as concepts:
F AIL
SU BSU M ES</p>
        </sec>
        <sec id="sec-3-2-7">
          <title>At least one of input types of the advertised service has not been</title>
          <p>matched or the requested service subsumes the input type of the
advertised service. This means that a more specific input type is
required than advertised. In this case the demands of the service
requester are not met.</p>
        </sec>
        <sec id="sec-3-2-8">
          <title>The input type of the requested service is subsumed by the input type of the advertised service. This means that the advertised service would be invoked with a more specific input than expected. However, the proper service execution is guaranteed.</title>
          <p>EQU IV ALEN T</p>
        </sec>
        <sec id="sec-3-2-9">
          <title>Both input types denote the same concept.</title>
          <p>For the ranking of the matching result of this stage, the result of property
matching and type matching must be combined. In this combination, the
property matching is given a higher priority than the type matching, because the
classicfiation of an input gives more insight to it’s purpose than it’s type
definition. The table 1 lists the different combinations of results from the
propertyand type-matching and the applied ranks.
0
1
2
3
4</p>
        </sec>
        <sec id="sec-3-2-10">
          <title>FAIL</title>
          <p>Any
Any</p>
        </sec>
        <sec id="sec-3-2-11">
          <title>FAIL</title>
        </sec>
        <sec id="sec-3-2-12">
          <title>There is at least one input of the advertised service for which there exists no matching input of the requested service SUBPROPERTY SUBSUMES</title>
        </sec>
        <sec id="sec-3-2-13">
          <title>Every input of the advertised service could be matched with one input of the requested service. For every input pair the property-match degree is either Equivalent or Subproperty, but at least one input pair is matched with degree Subproperty, and the type-match degree is Subsumes.</title>
        </sec>
        <sec id="sec-3-2-14">
          <title>SUBPROPERTY</title>
        </sec>
        <sec id="sec-3-2-15">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-16">
          <title>Every input of the advertised service could be matched with one input of the requested service. For at least one input pair the property-match degree is Subproperty, but for all type match pairs the degree is equivalent.</title>
        </sec>
        <sec id="sec-3-2-17">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-18">
          <title>SUBSUMES</title>
        </sec>
        <sec id="sec-3-2-19">
          <title>Every input of the advertised service could be matched with one input of the requested service. For every input pair the property-match degree is Equivalent, but at least for one input pair the type-match degree is Subsumes.</title>
        </sec>
        <sec id="sec-3-2-20">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-21">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-22">
          <title>Every input of the advertised service could be matched with one input parameter of the requested service. For every input pair the property-match degree and type-match degree is Equivalent. Table 1. Ranking for the Matching of Input Parameters</title>
          <p>In this stage of matching it is determined how well the outputs of the advertised
service correspond to the outputs of the requested service. During the output
parameter matching, the algorithm tries to nfid a match for each output of
the requested service. Analogously to the matching of inputs, the matching of
outputs considers property-match and type-match degrees to find a relationship
between two outputs.</p>
          <p>However, the direction of the generalisation is now reversed, meaning that
a Subproperty degree is recognized when the output of the advertised service
is a subproperty of the output of the requested service and a Subsumes degree
is found whenever the type of the output parameter of the advertised service
is subsumed by the type of the output parameter of the requested service. In
other words the output of requested service considers more general denfiitions
than the output of the advertised service. This ensures that the requirements
of the service requester will still be met. The denfiition of matching results for
the property-matching and type-matching is omitted, because of it’s mentioned</p>
        </sec>
        <sec id="sec-3-2-23">
          <title>FAIL</title>
          <p>Any
Any</p>
        </sec>
        <sec id="sec-3-2-24">
          <title>FAIL</title>
        </sec>
        <sec id="sec-3-2-25">
          <title>There is at least one output of the requested service for which there exists no matching output of the advertised service SUBPROPERTY SUBSUMES</title>
        </sec>
        <sec id="sec-3-2-26">
          <title>Every output of the advertised service could be matched with one input of the requested service. For every output pair the property-match degree is either Equivalent or Subproperty, but at least one output pair is matched with degree Subproperty, and the type-match degree is Subsumes.</title>
        </sec>
        <sec id="sec-3-2-27">
          <title>SUBPROPERTY</title>
        </sec>
        <sec id="sec-3-2-28">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-29">
          <title>Every output of the requested service could be matched with one output of the advertised service. For at least one output pair the property-match degree is Subproperty, but for all type match pairs the degree is Equivalent.</title>
        </sec>
        <sec id="sec-3-2-30">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-31">
          <title>SUBSUMES</title>
        </sec>
        <sec id="sec-3-2-32">
          <title>Every output of the requested service could be matched with one input</title>
          <p>of the advertised service. For every output pair the property-match degree
is Equivalent, but at least for one output pair the type-match degree is</p>
        </sec>
        <sec id="sec-3-2-33">
          <title>Subsumes.</title>
        </sec>
        <sec id="sec-3-2-34">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-35">
          <title>EQUIVALENT</title>
        </sec>
        <sec id="sec-3-2-36">
          <title>Every output of the requested service could be matched with one output parameter of the advertised service. For every output pair the propertymatch degree and type-match degree is Equivalent. Table 2. Ranking for the Matching of Output Parameters</title>
          <p>similarities to the input matching. Table 2 summarises the ranking levels for
output parameter matching like table 1 for the input parameter matching. For
every output parameter of the requested service the algorithm tries to find the
matching output parameter of the advertised service that would result in the
highest rank. As expected, these two output parameters then form a (matched)
output pair.
3.3</p>
          <p>Matching of the Service Profile
In DAML-S a service can be classified with certain categories described in a
DAML+OIL ontology. In this ontology the individual service is an instance of a
subclass of the class ServerCategory. With prolfie matching we try to determine
how well the service category of the advertised service fits into the service
category that the requested service demands. Let reqServiceCat denote the service
classicfiation of the requested service, and advServiceCat denote the service
classification of the advertised service. Both reqServiceCat and advServiceCat are
thus concepts defined in some service classifying ontology. The identified
matching results when matching the profile of the service request and the advertised
profile are shown in table 3.</p>
          <p>Rank Degree of Match</p>
          <p>Interpretation
0
1
2
3</p>
        </sec>
        <sec id="sec-3-2-37">
          <title>FAIL</title>
        </sec>
        <sec id="sec-3-2-38">
          <title>UNCLASSIFIED</title>
        </sec>
        <sec id="sec-3-2-39">
          <title>SUBSUMES</title>
        </sec>
        <sec id="sec-3-2-40">
          <title>MATCH</title>
        </sec>
        <sec id="sec-3-2-41">
          <title>The two concepts are in no relation with each other.</title>
          <p>Either the description of the advertised or the required
service is not classified or one of the both are instances
of the class Profile .
advServiceCat is an instance of class, which is subsumed
by the class of the instance of reqServiceCat. In this case
the classification of advServiceCat is more more specific
than the classification of reqServiceCat. This means that
the advertised service oeffrs more specific functionality
than required.
reqServiceCat and advServiceCat are instances of the
same class.</p>
          <p>To clarify the meaning of the Subsumes degree, let us consider a small
example: Assume a computer program which acts as a broker wants to let its user
buy computers from different web stores. Therefore the program needs to make
use of functions by web merchants who offer Web services, which allow to buy
computers. The broker program thus looks for Web services which are
classified into the service category BuyComputers, for example. Any advertised Web
service which falls into the categories BuyDesktopComputers or
BuyLaptopComputers, which both are subcategories of the category BuyComputers, would still
be useful to the computer agent, allowing its users in turn to buy more specific
kind of computers.
3.4</p>
          <p>User-defined Matching
In addition to the three matching stages also a user-defined matching stage is
provided. In the implementation, this matching stage consists of one or more
additional modules, which can define specicfi requirements or conditions, which
must be found in the description of the advertised service. As a result each of
the modules returns either true or false. All matching results from the modules
are interpreted conjunctively. If one user-defined matching function fails, the
whole user-denfied matching fails. For example, an important aspect that comes
with the user-defined matching is the ability to verify that Quality of Service</p>
          <p>DAML-S Description
of Requested Service</p>
          <p>DAML-S Descriptions
of Advertised Services
Input
Matching</p>
          <p>Output
Matching</p>
          <p>Profile
Matching</p>
          <p>Custom</p>
          <p>Module
Aggregate
Results
Rank/Fail</p>
          <p>Matchmaking</p>
          <p>Software
(QoS) constraints are met. A prolfie in DAML-S allows the specification of QoS
for a given Web service via its class QualityRating. Thus, with given service
denfiitions, it is possible to create plugins that performs a quality of service
matching based on the available additional information in a service prolfie.
The result of the matching algorithm is an aggregation of the individual four
stages. The simplest approach is to add up the ranks of the rfist three stages and
complete the sum with the result of the user-denfied module(s). The aggregated
result is either the sum of the rank of the individual stages, which is an abstract
measure of the matching quality, or the conclusion, that the descriptions did not
match. However, the aggregation must consider, that if any of the individual
stages will fail, the aggregated result must be regarded as fail as well. A perfect
match of an individual matching stage cannot compensate a fail of another stage.
This aggregation schema is outlined in figure 3.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Discussion and Related Work</title>
      <p>
        Our proposal has elements from matching approaches for DAML-S, which were
already introduced. A variation of the matching algorithm is to match
complete Service Profile descriptions as found in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Our motivation for renfiing the
matching process is that it might easily occur that two profiles will be declared
as non-compatible because one (probably less important) property in a profile
is not matching to a property in the other prolfie. An optimal matching
algorithm should indicate the lack of matching quality, but should not disqualify the
advertised service completely.
      </p>
      <p>
        Furthermore, DAML-S specifications can be arbitrarily complex. By
splitting up the prolfie and determining the matches individually for the subparts,
the algorithm can identify matches between service requests and advertisements
more closely. The disadvantage that parts of the prolfie are ignored can be
compensated with the proper usage of user-denfied modules. For example, a module
that evaluates QoS statements could easily be added to the matching algorithm.
Another characteristic of our work is that we consider the direction of the
inheritance hierarchy between service requests and advertisements (”which concept
subsumes which one”). This aspect can be considered as an refinement of existing
matchmaking approaches as found in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        The matchmaker ATLAS [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and the work of Paolucii et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] consider
the service profile and its inputs and outputs for determining matches between
requests and advertisements as well. Our extensions to these approaches are
(a) the explicit identicfiation of individual elements and ( b) the aggregation of
the result from individual matching stages. A different approach for matching
DAML-S descriptions is found in the work of Bansal and Vidal. A matchmaker
is proposed that covers only the service model of DAML-S [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. We do not agree
with this idea, because as described in the introduction of DAML-S, the service
model is not primarily provided to express requirements for nfiding matches with
advertisements [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        The matching of service descriptions is also addressed in other fields, which
are not related with Web services or DAML-S. As an example, we refer to a
work where conceptual graphs (CG) are used to describe services in the PhD
thesis of Arno Puder [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and his work about the AITrader [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. This work has
been applied in a CORBA environment and proposes an extension to the IDL.
An approach for matching capabilities of Web services not using DAML-S but
a custom RDF ontology is found in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        As already mentioned, some approaches also propose the integration of
DAMLS descriptions with the UDDI standard, which we have introduced as an
application scenario for the matching algorithm ([
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]). We also plan to
supplement with a defined procedure and a tool for the creation of DAML-S
descriptions as introduced in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. A defined procedure for the description of services
using DAML-S ensures, that relevant elements are well defined and therefore
increase the efficiency of our matching algorithm.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>We have shown that individual elements of the DAML-S upper ontology can be
used to provide a nfie grained ranking of matching results rather than aflt
subsumption reasoning for the service prolfie description as a whole unit. Also this
work indicates the potential to provide even nfier grained ranks with considering
more elements of DAML-S.</p>
      <p>For further research this efild offers many opportunities: we plan to discuss
the complexity of the algorithm, and to denfie a procedure for the creation of
DAML-S descriptions. Other activities will focus on testing the algorithm to
find an optimal weighting of the matching stages, and to identify more relevant
elements of DAML-S for matchmaking. As the very next step, this work will be
updated with the successor of DAML-S, which is based on OWL.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The authors wish to thank Kurt Geihs, and Gregor Rojec-Goldmann for many
fruitful discussions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Rama</surname>
            <given-names>Akkiraju</given-names>
          </string-name>
          , Richard Goodwin, Prashant Doshi, and
          <string-name>
            <given-names>Sascha</given-names>
            <surname>Roeder</surname>
          </string-name>
          .
          <article-title>A method for semantically enhancing the service discovery capabilities of uddi</article-title>
          .
          <source>In In Proceedings of the Workshop on Information Integration on the Web</source>
          , pages
          <fpage>87</fpage>
          -
          <lpage>92</lpage>
          ,
          <year>August 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Sharad</given-names>
            <surname>Bansal</surname>
          </string-name>
          and Jose M. Vidal.
          <article-title>Matchmaking of web services based on the daml-s service model</article-title>
          .
          <source>July</source>
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Anupriya</given-names>
            <surname>Ankolenkar</surname>
          </string-name>
          et al.
          <article-title>Daml-s: A semantic markup language for web services</article-title>
          .
          <source>In Proceedings of 1st Semantic Web Working Symposium (SWWS' 01)</source>
          , pages
          <fpage>441</fpage>
          -
          <lpage>430</lpage>
          , Stanford, USA,
          <year>August 2001</year>
          . Stanford University.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Frank</given-names>
            <surname>Manola</surname>
          </string-name>
          et al.
          <source>RDF Primer. W3C</source>
          , http://www.w3.org/TR/rdf-primer/,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Michael</given-names>
            <surname>Klein</surname>
          </string-name>
          and
          <string-name>
            <given-names>Birgitta</given-names>
            <surname>Koenig-Ries</surname>
          </string-name>
          .
          <article-title>A Process and a Tool for Creating Service Descriptions based on DAML-S</article-title>
          .
          <source>In Proceedings of 4th International Workshop</source>
          Technologies for E-Services,
          <string-name>
            <surname>TES</surname>
          </string-name>
          <year>2003</year>
          , pages
          <fpage>143</fpage>
          -
          <lpage>154</lpage>
          . Springer,
          <year>September 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Marja-Riitta Koivunen</surname>
            and
            <given-names>Eric</given-names>
          </string-name>
          <string-name>
            <surname>Miller</surname>
          </string-name>
          .
          <article-title>W3c semantic web activity</article-title>
          .
          <source>In Semantic Web Kick-Off in Finland</source>
          , pages
          <fpage>27</fpage>
          -
          <lpage>44</lpage>
          ,
          <year>November 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Lei</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <given-names>Ian</given-names>
            <surname>Horrocks</surname>
          </string-name>
          .
          <article-title>A software framework for matchmaking based on semantic web technology</article-title>
          .
          <source>In Proceedings of the twelfth international conference on World Wide Web (WWW2003)</source>
          , pages
          <fpage>331</fpage>
          -
          <lpage>339</lpage>
          . ACM Press, May
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Deborah L. McGuinness</surname>
          </string-name>
          and Frank van Harmelen.
          <article-title>Owl web ontology language overview</article-title>
          .
          <source>W3C</source>
          , http://www.w3.org/TR/owl-features/,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Sheila</surname>
            <given-names>A. McIlraith and David L.</given-names>
          </string-name>
          <string-name>
            <surname>Martin</surname>
          </string-name>
          .
          <article-title>Bringing semantics to web services</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          ,
          <volume>18</volume>
          :
          <fpage>90</fpage>
          -
          <lpage>93</lpage>
          , January/
          <year>February 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Paolucci</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Kawamura</surname>
            , T. Payne, , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Semantic matching of web service capabilities</article-title>
          .
          <source>In Proceedings of 1st International Semantic Web Conference. (ISWC2002)</source>
          , pages
          <fpage>333</fpage>
          -
          <lpage>347</lpage>
          . Springer-Verlag, Berlin,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Terry R. Payne</surname>
            , Massimo Paolucci, and
            <given-names>Katia</given-names>
          </string-name>
          <string-name>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Advertising and matching daml-s service descriptions</article-title>
          .
          <source>In Position Papers for SWWS' 01</source>
          , pages
          <fpage>76</fpage>
          -
          <lpage>78</lpage>
          , Stanford, USA,
          <year>July 2001</year>
          . Stanford University.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Puder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. Gudermann S.</given-names>
            <surname>Markwitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Geihs</surname>
          </string-name>
          .
          <article-title>AI-based Trading in Open Distributed Environments</article-title>
          .
          <source>In Proceedings of the 5th International Conference on Open Distributed Processing (ICODP'95)</source>
          , Brisbane, Australia,
          <year>February 1995</year>
          . Chapman and Hall.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Arno</given-names>
            <surname>Puder</surname>
          </string-name>
          .
          <article-title>Typsysteme uf¨r die Dienstvermittlung in offenen verteilten Systemen</article-title>
          .
          <source>PhD thesis</source>
          , Computer Science Department, Johann Wolfgang Goethe University, Frankurt/M.,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <article-title>UDDI Spec TC</article-title>
          .
          <source>Uddi version 3.0</source>
          .1. OASIS, http://www.oasisopen.org/committees/uddi-spec/doc/tcspecs.htm,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. David Trastour,
          <string-name>
            <given-names>Claudio</given-names>
            <surname>Bartolini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Chris</given-names>
            <surname>Preist</surname>
          </string-name>
          .
          <article-title>A semantic web approach to service description for matchmaking of services</article-title>
          .
          <source>In Proceedings of the eleventh international conference on World Wide Web</source>
          , pages
          <fpage>89</fpage>
          -
          <lpage>98</lpage>
          , Honolulu, USA, May
          <year>2002</year>
          . ACM Press.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>