<!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>Capability Matching and Similarity Reasoning in ⋆ Service Discovery</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>D. Bianchini</string-name>
          <email>bianchin@ing.unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V. De Antonellis</string-name>
          <email>deantone@ing.unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Melchiori</string-name>
          <email>melchior@ing.unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universit`a di Brescia Dip. Elettronica per l'Automazione Via Branze</institution>
          ,
          <addr-line>38 25123 Brescia -</addr-line>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Ontologies play a relevant role to support service matchmaking in the discovery process. In fact, the elements used for service capability description refer to concepts that can be properly defined and semantically related in domain ontologies. Semantic relationships between concepts are then exploited to establish the type of matching between advertisements and requests. In this paper we propose an ontologybased approach to service discovery characterized by a hybrid multimode matching, that is, a deductive capability matching extended with a flexible similarity evaluation scheme. In the approach, the semantic service description results from the cooperation of several components: a UDDI registry is responsible for managing offered service descriptions, a Domain Ontology provides the general knowledge about concepts from the business domain in which services are used, a Service Ontology organizes services at different levels of abstraction. The proposed approach provides service advice at multiple levels of granularity and rates adviced services according to different kinds of comparison strategies.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In the recent years many companies have heavily invested in Web Service
technologies and, as a consequence, a growing number of services is being made
available. A Web Service is a set of related functionalities that can be accessed
through the Web and provides a way for interoperating independently developed
Web applications. Service proliferation over the Web has been facilitated by the
development of several standards, like WSDL for service description, UDDI for
service registry, SOAP for message exchange and BPEL4WS for service
orchestration [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In the future, it is envisaged that application development will be
mainly based on the composition of services published and made available by
third-party providers. Following this direction, advanced techniques and tools
for enabling semantic service discovery are highly desired and required. In
particular, it is necessary that services are described in a formal way and service
semantics is well captured. In the literature, ontology-based approaches are being
developed to exploit the benefits of the ontology technology, such as inferencing,
⋆ This work has been partially supported by the European EU NoE INTEROP [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and
by the MAIS (Multichannel Adaptive Information Systems) FIRB Project funded
by the Italian Ministry of Education, University and Research [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
in the context of service discovery. In the Semantic Web, the ontology description
languages OWL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and OWL-S [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] have been recently proposed. A sub-language
of OWL, OWL-DL, implements in a XML-based format the SHOIN (D+)
Description Logic, that is a knowledge representation formalism with a sound,
complete and decidable inference procedure [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Further, the trade-offs between
expressivity and computational complexity have been widely studied. OWL-S is
a service ontology specified in OWL. Service description is composed by a service
profile (what the service does), a service model (how the service works) and a
service grounding (how to invoke the service).
      </p>
      <p>The use of ontologies specifically enables service matchmaking in the
discovery process. In fact, the elements used for service capability description refer
to concepts that can be properly defined and semantically related in domain
ontologies. Semantic relationships between concepts are then exploited to
establish the type of matching between advertisements and requests. In this paper we
propose an ontology-based approach to service discovery. In the approach, the
semantic service description results from the cooperation of several components:
a UDDI registry is responsible for managing offered service descriptions, a
Domain Ontology provides the general knowledge about concepts from the business
domain in which services are used, a Service Ontology organizes services at
different levels of abstraction. The service discovery process is based on a hybrid
multimode matching, that is, a deductive capability matching extended with a
flexible similarity evaluation scheme. The proposed approach has the advantage
of providing service advice at multiple levels of granularity and of rating adviced
services according to different kinds of comparison strategies. In Section 2 we
briefly discuss the related work. Section 3 formally defines the semantic service
modeling components. Section 4 describes the hybrid multimode matching
approach. Section 5 presents the Service Ontology architecture and its deployment.
In Section 6 we conclude with advantages of the proposed approach and future
work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>
        Service matchmaking has been addressed by several approaches in literature:
given a request R and a set of advertisements S, the matching procedure must
return the set of advertised services that match better with R, possibly ranked
with respect to their level of matching (if it can be evaluated). In most
approaches the starting point is the UDDI Registry, where service descriptions are
published; UDDI Registry offers searching functionalities that use traditional
keyword-based techniques, featured by low precision and recall. To provide
semantic matching between service descriptions, some approaches consider concept
definitions within ontologies (concept-based techniques). In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] a framework
for semi-automatically marking up Web service descriptions with ontologies is
proposed with algorithms to match and annotate WSDL files with relevant
ontologies; domain ontologies are used to categorize Web services into domains.
In [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] a Web Service Modeling Ontology (WSMO) is expressed by using the
formal F-Logic language to describe various aspects related to Semantic Web
Services. They start from the Web Service Modeling Framework (WSMF) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
that consists of four elements: ontologies that provide terminology used by other
elements (concepts, axioms, relations and instances), goals of Web Services (by
means of pre- and post-conditions), Web Service description (non functional
properties, choreography and orchestration aspects) and mediators which bypass
interoperability problems. Sycara et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] use OWL-S service profile (inputs,
outputs, preconditions and effects) and exploit semantic relationships between
concepts in the ontology to verify if inputs and outputs of request and
advertisement are related by any generalization hierarchy in the ontology. Moreover,
a logic formalism based on Horn clauses is provided to verify logical
implication between preconditions and effects. The ATLAS matchmaker [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] considers
DAML-S ontologies and utilizes two separate sets of filters: 1) matching non
functional attributes by performing conjunctive pair-wise comparison to
determine the applicability of advertisements (i.e., do they deliver sufficient quality
of service, etc); 2) matching service functionalities to determine if the advertised
service matches the requested service by using a DAML-based subsumption
inference engine to compare input and output sets. Also other approaches use
logical formalisms to enhance service matchmaking. Horrocks et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] express
OWL-S service profile by means of Description Logics and exploit inference
mechanisms of a Description Logic reasoner (such as Racer [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]) to establish the
degree of match between advertisements and requests. Deductive approaches
offer high precision and recall, but can present high complexity. Benatallah et
al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] formalize service discovery as a new instance of the problem of
rewriting concepts using terminologies in the framework of DL-based ontologies and
propose a hypergraph-based matching algorithm that takes as input a service
request and an ontology of services and find a set of services whose descriptions
contain as much as possible of common information with the request and less
as possible extra information w.r.t. the request. Bernstein and Klein [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] propose
process ontologies to describe the behaviour of services and query such
ontologies using a Process Query Language (PQL). In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is reported an experience in
building matching prototype based on Description Logic reasoner which
considers service descriptions in DAML+OIL and applies a matching algorithm based
on simple subsumption and consistency tests.
      </p>
      <p>Our aim in this work is to propose an ontology-based hybrid approach where
different kinds of comparison strategies are combined together to provide a
flexible and efficient matchmaking between service descriptions. We extends the
keyword-based approach of UDDI Registry by considering semantic matching
on the basis of a Domain Ontology (where elements used for service description
refer to concepts semantically described and related) and a Service Ontology
(where services are organized by means of semantic relationships at multiple
levels of granularity). Moreover, we consider service operation names as
meaningful for matching purposes. Service comparison is performed on the basis of
the Domain Ontology by means of a DL-based approach, made more flexible
by exploiting a similarity evaluation scheme and more efficient by exploiting
semantic relationships in the Service Ontology. Furthermore, similarity evaluation
scheme is used also to make more precise ranking of searching results.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Service modeling using ontologies</title>
      <p>It is widely accepted that ontologies are a formal tool useful for modeling
semantics and support inferencing procedure. For effective service discovery, the
use of ontologies for modeling service semantics is recommended. In our
approach, a Domain Ontology is used to conceptualize domain knowledge and to
provide semantics to service descriptions. The Domain Ontology contains
definitions of concepts to which elements used to describe services (input/output
parameters, operation names, service categories) refer. Concepts are related by
means of the usual semantic relationships: concept generalization/specialization,
concept equivalence, concept disjunction and instance-of. The Domain
Ontology therefore supports service matchmaking. Reasoning on service properties
viewed as concepts in the Domain Ontology allows to identify semantic
relationships also among services. In our approach, we explicitly represent such semantic
relationships in a Service Ontology where services are described at different
levels of abstraction to support multimode matching and querying. The Service
Ontology architecture is described in Section 5. Ontologies are described using
SHOIN (D+) Description Logic which has been implemented using the
XMLbased syntax of OWL-DL sublanguage. In the literature OWL-S and WSMO
are the emerging languages for semantic service description, but there is no
accepted standard. In our approach, a service is semantically described by means
of a category, representing the domain of interest of the service, and the service
capability in terms of provided operations. Formally, the description is given by
a conjunction of:
– a concept in the form ∃hasCategory.CAT , where CAT is a concept which
represents the associated service category;
– one or more concepts in the form ∃hasOperation.OP , where OP is a
concept representing an operation of the current service; each operation OP is
described as a conjunction of:
• the operation name, expressed by means of an atomic concept;
• a conjunction of one or more concepts IN , where IN is a concept
representing an input parameter;
• a conjunction of one or more concepts OU T , where OU T is a concept
representing an output parameter.</p>
      <p>IN and OU T are specified in the form ∃R.C, where R represents the name
of the parameter and C is a concept representing possible parameter values. C
can be defined as an atomic concept, an enumeration {i1, i2, . . . in} of individuals
or a complex concept obtained by applying the intersection operator (⊓), the
union operator (⊔) and the negation operator (¬) to other concepts.
Example. We consider a ticket reservation service for flights from European to
US cities. Using Description Logic formalism, we can write:</p>
      <p>FlightBookingEuropeToUSA ⊑ ∃hasCategory.AirTransfer ⊓ ∃hasOperation.(flightBooking ⊓
∃departureCity.EuropeanCity ⊓ ∃arrivalCity.USCity ⊓ ∃departureDate.Date</p>
      <p>⊓ ∃arrivalDate.Date ⊓ ∃ticket.flightTicket)
while in the Domain Ontology we have the following assertions, to express that
EuropeanCity and USCity are cities and represent disjoint sets of objects, that
flightBooking and bookFlight and that flightTicket and ticketReceipt
constitute equivalent concepts:</p>
      <p>DomON T EuropeanCity ⊑ City</p>
      <p>USCity ⊑ City
EuropeanCity ⊑ ¬USCity
flightBooking ≡ bookFlight
flightTicket ≡ ticketReceipt
In this example, we considered only one operation (flightBooking).
4
4.1</p>
    </sec>
    <sec id="sec-4">
      <title>Hybrid multimode service matchmaking</title>
      <sec id="sec-4-1">
        <title>Deductive matching</title>
        <p>In a deductive approach based on Description Logics the request R is compared
with an offer S by exploiting the underlying Domain Ontology.</p>
        <p>
          To verify matching between a description S and a request R, we verify the
satisfiability w.r.t. DomON T between concepts to which the service description
elements refer. As in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], we consider five kinds of match, that can be intuitively
described as follows:
– exact match, when the request and the offer present the same functionalities
(this is a strong condition);
– plug-in match, when the offer provides at least the required functionalities
and possibly adds new ones;
– subsume match, when the functionalities provided by the offer are less than
the required ones (it is like plug-in match, but with the roles of R and S
exchanged);
– intersection match, when the request and the offer present some common
functionalities;
– mismatch, when no common functionalities exist between the request and
the offer.
        </p>
        <p>Note that, from the request viewpoint, the first two kinds of match can be
considered equivalent, since in both cases the offer fulfills the request; in the case
of subsume and intersection match, otherwise, the offer satisfies only partially
the request.</p>
        <p>To verify the five kinds of match listed above, we separate service description
components by considering service categories, operation names and input/output
parameter names for each operation. Firstly, we consider the service categories
CATR of the request and CATS of the offer and we verify if</p>
        <p>DomON T |= CATR ⊑ CATS
that is, CATR ⊑ CATS is true in DomON T . If this is not verified, then the
match fails (mismatch), otherwise the other kinds of match are investigated.
Exact match. It occurs when, for each operation OPiR there exists a
corresponding operation OPj S such that
– DomON T |= OPiR.name ≡ OPj S.name;
– for each output OPiR.OU Th there exists a corresponding output OPj S.OU Tq
such that DomON T |= OPiR.OU Th ≡ OPj S .OU Tq;
– for each input OPj S .INp there exists a corresponding input OPiR.INk such
that DomON T |= OPjS .INp ≡ OPiR.INk.</p>
        <p>Each operation of R is compared with each operation of S. Note that in the
matching process (for each kind of match) we require that for each
comparison between two operations (respectively, between corresponding parameters of
two operations) when a kind of match is established for a pair of
corresponding operations (corresponding parameters) such operations (parameters) do not
participate in further comparisons.</p>
        <p>Plug-in match. It occurs when, for each operation OPiR, there exists a
corresponding operation OPj S such that
– DomON T |= OPiR.name ⊑ OPj S.name;
– for each output OPiR.OU Th there exists a corresponding output OPj S.OU Tq
such that DomON T |= OPiR.OU Th ⊑ OPj S .OU Tq;
– for each input OPj S .INp there exists a corresponding input OPiR.INk such
that DomON T |= OPjS .INp ⊑ OPiR.INk.</p>
        <p>The subsume match is verified in the same way, with the roles of R and S
exchanged.</p>
        <p>Intersection match. If neither exact or plug-in or subsume match occurs, but
there exist pairs of operations OPiR and OPj S with the following conditions
verified
– DomON T |= ¬(OPiR.name ⊓ OPj S.name ⊑ ⊥);
– for at least one output OPiR.OU Th there exists a corresponding output</p>
        <p>OPj S.OU Tq such that DomON T |= ¬(OPiR.OU Th ⊓ OPj S.OU Tq ⊑ ⊥);
– for at least one input OPj S.INp there exists a corresponding input OPiR.INk
such that DomON T |= ¬(OPj S.INp ⊓ OPiR.INk ⊑ ⊥);
then intersection match is recognized between R and S.</p>
        <p>
          If all the previous comparisons fail, then the match fails (mismatch). We can
recognize a qualitative ranking among the considered kinds of match, that is,
exact &gt; plug-in &gt; subsume &gt; intersection &gt; mismatch. To verify these kinds
of match, an automatic reasoner based on Description Logics is used (Racer [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]).
Example. Consider the FlightBookingEuropeToUSA service shown above (S)
and the following request, to book flights between European cities.
        </p>
        <p>R ⊑ ∃hasCategory.AirTransfer ⊓ ∃hasOperation.(bookFlight ⊓</p>
        <p>∃departureCity.EuropeanCity ⊓ ∃arrivalCity.EuropeanCity ⊓ ∃ticket.ticketReceipt)
Since the offer and the request have the same service category, we can proceed
to verify the kind of match between them; in this case we have an intersection
match. The offer partially fulfills the request, because
– DomON T |= bookFlight ≡ flightBooking;
– DomON T |= (∃ticket.ticketReceipt ≡ ∃ticket.flightTicket);
– exact, plug-in and subsume match fails, since DomON T |= (∃arrivalCity.</p>
        <p>EuropeanCity ⊓ ∃arrivalCity.USCity) ⊑ ⊥, while the other input/output
parameters are related in some generalization hierarchies.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Similarity-based matching</title>
        <p>
          In [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] a similarity-based approach is used for searching Web Services described
in WSDL. In [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] a methodology to evaluate the degree of functional
similarity between services on the basis of comparison of their descriptions has been
proposed. The similarity between services is evaluated through the computation
of coefficients obtained by comparing input/output parameter names
(Entitybased similarity coefficient) and operation names (Functionality-based similarity
coefficient) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. To obtain these coefficients, we assign a weight to each kind of
relationship in the Domain Ontology between concepts associated to operation
and I/O parameter names. In particular, given two names nh and nk, we
define the Name Affinity coefficient between them, denoted by N A(nh, nk), in the
following way:
        </p>
        <p> 1 if Cnh ≡ Cnk
N A(nh, nk) =  0.8L if Cnh ⊑ Cnk or viceversa with L levels of
generalization/specialization
 0 otherwise
(1)
where Cnh and Cnk are the concepts associated to the names nh and nk,
respectively. We say that nh and nk have Name Affinity (nh ∼ nk) if N A(nh, nk) ≥ α,
where α &gt; 0 is a given threshold imposed to filter names with high degree of
affinity.</p>
        <p>
          The Name Affinity coefficient is used to compute the values for the
Entitybased similarity coefficient and the Functionality-based similarity coefficient.
Entity-based similarity coefficient. Given two service descriptions R and S, we
denote with INR and INS (resp., OU TR and OU TS ) the sets of input parameter
names (resp., output parameter names) of the overall services. The Entity-based
similarity coefficient between R and S, denoted by ESim(R, S), is the measure
of affinity between names of I/O parameters, considered in their totality, that is
ESim(R, S) = 2|·IANtRot(|I+N|RI, NINSS|) + 2|·OAUtoTtR(O|U+TR|O,OUUTSTS|) ∈ [
          <xref ref-type="bibr" rid="ref2">0, 2</xref>
          ]
(2)
where Atot(INR, INS ) (respectively, Atot(OU TR, OU TS )) denotes the total value
of affinity between the pairs of input (respectively, output) parameters in R and
S, and | | denotes the set cardinality. Atot is obtained by summing up the
values of Name Affinity coefficients for all the pairs of input/output parameters
that have Name Affinity in the Domain Ontology. Furthermore, we require that
each parameter name participates at most in one pair for the Atot evaluation.
ESim(R, S) assumes value 0 when no pairs of I/O parameters with Name
Affinity are found, one from R and one from S, while it is 2 when R and S have the
same input and output parameter names.
        </p>
        <p>
          Functionality-based similarity coefficient. Given two services R and S, we
consider each pair of operations OPiR and OPj S , one from R and one from S.
We denote with OPiR.IN and OPj S .IN (resp., OPiR.OU T and OPj S .OU T )
the sets of input parameters (resp., output parameters) of OPiR and OPj S . The
Operation similarity coefficient between OPiR and OPj S (OpSim(OPiR, OPj S ))
is computed as follows
where N A(OPiR, OPj S ) evaluates the Name Affinity between operation names.
We note that OpSim(OPiR, OPj S ) ∈ [
          <xref ref-type="bibr" rid="ref3">0, 3</xref>
          ], since it is the sum of three elements
in the range [
          <xref ref-type="bibr" rid="ref1">0,1</xref>
          ]. It is 0 when there is no affinity between operation names and
I/O parameter names of the two operations, while it is 3 when two operations
have the same (or equivalent) name and the same (or equivalent) I/O parameters.
We say that two operations OPiR and OPj S are similar, denoted by OPiR ∼
OPj S , if the following conditions hold: (i) OpSim(OPiR, OPj S ) ≥ γ, where γ &gt; 0
is a similarity threshold set by the domain expert; (ii) each of the three terms
on the right hand side of (3) is greater than 0.
        </p>
        <p>The Functionality-based similarity coefficient between R and S, denoted by
F Sim(R, S), is the measure of similarity of their operations, computed as follows
F Sim(R, S) =
2 · P h,k OpSim(OPhR, OPkS)</p>
        <p>
          | OPR | + | OPS |
where OPhR ∼ OPkS holds and | OPR | and | OPS | denote the number
of operations of R and S. Note that F Sim(R, S) ∈ [
          <xref ref-type="bibr" rid="ref3">0, 3</xref>
          ], since each term
OpSim(OPhR, OPkS ) ∈ [
          <xref ref-type="bibr" rid="ref3">0, 3</xref>
          ].
        </p>
        <p>
          Finally, the Global similarity coefficient between R and S (GSim(R, S)) is
the measure of their level of overall similarity computed as the weighted sum of
the Entity-based and Functionality-based similarity coefficients as follows:
(4)
(6)
(7)
(8)
GSim(R, S) = w1 · NormESim(R, S) + w2 · NormF Sim(R, S)
(5)
where GSim() ∈ [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ] since N ormESim() and N ormF Sim() are respectively
the values of ESim() and F Sim() normalized to the range [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ]; weights w1 and
w2, with w1, w2 ∈ [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ] and w1 + w2 = 1, are introduced to assess the relevance
of each kind of similarity in computing GSim() coefficient. The use of weights
in GSim(R, S) is motivated by the need of flexible comparison strategies, since
some elements in service description could be considered more important for
the similarity evaluation and must be weighted accordingly. For instance, to
state that the Entity-based similarity and Functionality-based similarity have
the same relevance, we choose w1 = w2 = 0.5.
        </p>
        <p>Example. If we compare the two previous service descriptions by means of the
similarity approach, we obtain the following values for the similarity coefficients
ESim(R, S) =
2 · (1 + 0 + 0 + 0)
2 + 4
+
2 · 1
1 + 1
= 1.133
OpSim(OP1R, OP1S ) = 1 +
= 2.133 = F Sim(R, S)
2 · 1
2 + 4
+
2 · 1
1 + 1
GSim(R, S) =
We use both deductive and similarity-based approach to enhance precision and
flexibility of the matching process. Firstly, inference is used to classify the match
between the request R and available services S into one of the five kinds proposed
in Section 4.1. Successively, similarity evaluation can be exploited to further
refine and quantify the functional similarity between R and S, according to the
following rules:
– if exact or plug-in match occurs, from the request viewpoint the offer
provides completely the required functionalities, so GSim(R, S) is set to 1 (full
similarity) without computing the similarity coefficients;
– if mismatch occurs, GSim(R, S) is directly set to zero;
– if subsume or intersection match occurs, the offer fulfills the request only
partially and similarity coefficients are computed to quantify how much the
offer satisfies the request; in this case, GSim(R, S) ∈ (0, 1).</p>
        <p>Only available services for which the GSim(R, S) is equal or greater than a
given threshold are proposed among the searching results, ranked with respect
to the GSim() values.</p>
        <p>The application of this hybrid approach ensures flexibility, since not only
exact or plug-in match are considered (this would seem quite unrealistic), but
also partial matches are taken into consideration by evaluating the similarity
degree. Moreover, this evaluation decreases false negatives, since it does not
exclude from the searching results those services that do not have exact or
plugin match, but are quite similar from the functional viewpoint with the request
R. In the example presented above, the FlightBookingEuropeToUSA service
is classified in the intersection match, but it is not excluded from the searching
results thanks to similarity evaluation, that reveals similarity between the service
and the request.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Service Ontology architecture</title>
      <p>In our approach a Service Ontology is deployed to organize services in three layers
of increasing abstraction by means of semantic relationships. We distinguish
between concrete services, abstract services and subject categories.</p>
      <p>Concrete services are directly invocable services, described by means of their
public WSDL interface; they are stored in the UDDI Registry, where Web links
to their concrete implementation on the net are available. Concrete services are
described as explained in Section 3. Their descriptions are compared by applying
similarity coefficients proposed in Section 4.2 and are clustered on the basis of
their global similarity value. Concrete services constitute the Concrete layer of
the Service Ontology.</p>
      <p>Each cluster of similar concrete services is associated to an abstract service in
the middle layer of the ontology. Abstract services are not directly invocable
services and represent the functionalities of similar concrete services. They are also
described by means of a functional interface, with input/output parameters and
operations, as explained in Section 3. Interface description of an abstract service
is obtained by means of an integration process that identifies correspondences
among similar operations of concrete services in the same cluster (such
correspondences are recognized both between operation and I/O parameter names)
and represents the corresponding operations in the abstract service; mapping
rules are maintained between the operation and I/O parameter names of the
abstract functionalities and the original concrete ones. Abstract services are
semantically organized according to two kinds of semantic relationships:
– an abstract service Sα is a generalization of another abstract service Sβ if,
informally stated, Sβ provides at least the operations of Sα, as established
by properties of plug-in match discussed in Section 4.1;
– an abstract service Sα isComposedOf a set Φ = {S1, S2, . . . , Sn} of other
abstract services if the operations of Sα are included in the union set of
operations of S1, S2, . . . , Sn; in particular, Φ must be minimal (no redundancy);
the service Sα is often called the composite service, while S1, S2, . . . , Sn are
called the component services.</p>
      <p>
        Semantic relationships between abstract services are set by the ontology
designer possibly supported by an automatic system that applies Description Logic
matching techniques explained in Section 4.1 to identify candidate abstract
services between which semantic relationships could be set. This approach is not
new: also OWL-S specification admits profile hierarchies by sub-classing the
profile model introducing new properties or placing restrictions on existing
properties [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In a similar way, abstract services are sub-classed by introducing new
operations or making restrictions on operation names and I/O parameters.
Abstract services and semantic relationships between them constitute the Abstract
layer of the Service Ontology.
      </p>
      <p>Finally, subject categories correspond to categories of services organized into
standard available taxonomies (such as UNSPSC or NAICS) and provide a
topicdriven access to the underlying abstract services. These categories are the same
that are used in the UDDI Registry to classify published concrete services; in
our Service Ontology, each abstract service is associated to the set of all the
categories related to the concrete services belonging to the corresponding cluster.
Subject categories constitute the Category Layer of the ontology. Figure 1 is an
example of the portion of a Service Ontology for the touristic domain considered
in this work.</p>
      <sec id="sec-5-1">
        <title>Service Ontology deployment for service retrieval</title>
        <p>Semantic relationships between concrete services, abstract services and subject
categories in the Service Ontology can be exploited to make more efficient the
service discovery procedure. Matching algorithm exposed in the previous sections
is applied at the category and abstract layers and can be speed up by considering
the semantic relationships between abstract services, according to the following
intuition: if an abstract service Sa matches with a given service request R, then
also abstract services that provide the same capabilities of Sa (as expressed by
means of semantic relationships) match with R. According to this intuition, the
following rules are applied:
– if Sai presents an exact or a plug-in match with R and Sai is a generalization
of another abstract service Saj, then also Saj presents a plug-in match with
R and the application of matching algorithm to Saj is not required; we can
set GSim(R, Sai) = GSim(R, Saj) = 1;
– if Sai presents a mismatch with R and another abstract service Saj is a
generalization of Sai, then we can say that also Saj presents a mismatch
with R;
– the same procedure applies when Sai is a composite service and Saj is the
union of its component ones;
– otherwise, we cannot say anything about GSim(R, Saj) and the matching
procedure must be applied also to it.</p>
        <p>Finally, once abstract services that match with the request are extracted
from the Service Ontology, then concrete services belonging to the corresponding
clusters are included into the searching results, by setting the GSim() value of
each concrete service w.r.t. R equal to the GSim() value of the corresponding
abstract service.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and future work</title>
      <p>In this paper we have presented a novel service discovery approach that combines
a full deductive matching based on Description Logics and a similarity-based
matching, also exploiting semantic organization of services in a Service
Ontology to speed up semantic discovery. The combination of two types of matching
enhances flexibility and effectiveness of the matching process, while use of Service
Ontology improves efficiency. The proposed approach is being experimented in
the touristic domain to discover suitable available services for flight booking,
hotel reservation, travel planning. Future efforts will investigate further matching
modalities also according to levels of granularity in a wide usage scenario.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          .
          <article-title>The Description Logic Handbook</article-title>
          .
          <source>Theory, Implementation and Applications</source>
          . Cambridge University Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>B.</given-names>
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <surname>M-S. Hacid</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Rey</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Toumani</surname>
          </string-name>
          .
          <article-title>Request Rewriting-based Web Service Dicovery</article-title>
          .
          <source>In Proc. of the Int. Semantic Web Conference (ISWC</source>
          <year>2003</year>
          ), pages
          <fpage>242</fpage>
          -
          <lpage>257</lpage>
          ,
          <string-name>
            <surname>Sanibel</surname>
            <given-names>Island</given-names>
          </string-name>
          , FL, USA,
          <year>October 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Bernstein</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Klein</surname>
          </string-name>
          .
          <article-title>Towards high-precision service retrieval</article-title>
          .
          <source>IEEE Internet Computing</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <fpage>30</fpage>
          -
          <lpage>36</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>D.</given-names>
            <surname>Bianchini</surname>
          </string-name>
          , V. De Antonellis, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Melchiori</surname>
          </string-name>
          .
          <article-title>An ontology-based method for classifying and searching e-Services</article-title>
          .
          <source>In Proc. Forum of First Int. Conf. on Service Oriented Computing (ICSOC</source>
          <year>2003</year>
          ), Trento, Italy, December
          <volume>15</volume>
          -18
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>F.</given-names>
            <surname>Casati</surname>
          </string-name>
          ,
          <string-name>
            <surname>M-C. Shan</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Georakopoulos</surname>
          </string-name>
          . The VLDB Journal: Special Issue on E-Services. Springer-Verlag Berlin Heidelberg,
          <volume>10</volume>
          (
          <issue>1</issue>
          ),
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>S.</given-names>
            <surname>Castano</surname>
          </string-name>
          and V.
          <string-name>
            <surname>De Antonellis</surname>
          </string-name>
          .
          <article-title>A Framework for expressing Semantic Relationships between Multiple Information Systems for Cooperation</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>123</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>253</fpage>
          -
          <lpage>277</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>7. The OWL Service Coalition</article-title>
          .
          <article-title>OWL-S 1.1 beta release</article-title>
          ,
          <year>July 2004</year>
          . http://www.daml.org/services/owl-s/1.1B.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Schreiber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bechhofer</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. van Harmelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. A.</given-names>
            <surname>Stein. OWL Web Ontology Language W3C Recommendation</surname>
          </string-name>
          ,
          <year>February 2004</year>
          . http://www.w3.org/TR/2004/REC-owl-ref-
          <volume>20040210</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>X.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Halevy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Madhavan</surname>
          </string-name>
          , E. Nemes, and
          <string-name>
            <surname>J. Zhang.</surname>
          </string-name>
          <article-title>Similarity Search for Web Services</article-title>
          .
          <source>In Proc. of the 30th Int. Conference on Very Large Data Bases (VLDB2004)</source>
          , Toronto, Canada,
          <source>August 29th - September</source>
          3rd
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D.</given-names>
            <surname>Fensel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bussler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ding</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Omelayenko</surname>
          </string-name>
          .
          <article-title>The Web Service Modeling Framework WSMF</article-title>
          .
          <source>Electronic Commerce Research and Applications</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ),
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. J.
          <string-name>
            <surname>Gonzalez-Castillo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Trastour</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Bartolini</surname>
          </string-name>
          .
          <article-title>Description Logics for Matchmaking of Services</article-title>
          .
          <source>In Proc. of the KI-2001 Workshop on Applications of Description Logics</source>
          , Vienna, Austria,
          <year>September 2001</year>
          . http://sunsite.informatik.rwthaachen.de/Publications/CEUR-WS/Vol-
          <volume>44</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>A Software Framework for Matchmaking Based on Semantic Web Technology</article-title>
          .
          <source>In Proc. of the Twelfth International World Wide Web Conference (WWW</source>
          <year>2003</year>
          ), pages
          <fpage>331</fpage>
          -
          <lpage>339</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Tools for Design of Composite Web Services</article-title>
          .
          <source>In SIGMOD Conference</source>
          , pages
          <fpage>958</fpage>
          -
          <lpage>961</lpage>
          , Paris, France,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <article-title>The INTEROP NoE Portal</article-title>
          . http://www.interop-noe.org/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>T.</given-names>
            <surname>Kawamura</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-A. D. Blasio</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Hasegawa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Paolucci</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Preliminary Report of Public Experiment of Semantic Service Matchmaker with UDDI Business Registry</article-title>
          .
          <source>In Proc. of First Int. Conf. on Service Oriented Computing (ICSOC</source>
          <year>2003</year>
          ), pages
          <fpage>208</fpage>
          -
          <lpage>224</lpage>
          , Trento, Italy,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. U. Keller, H. Lausen, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Roman</surname>
          </string-name>
          .
          <article-title>Web Service Modeling Ontology (WSMO)</article-title>
          .
          <source>WSMO Working Draft</source>
          ,
          <year>March 2004</year>
          . http://www.wsmo.org/
          <year>2004</year>
          /d2/v02/20040306/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <article-title>The MAIS Project Home Page</article-title>
          . http://www.mais-project.
          <source>it.</source>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>M. Paolucci</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Payne</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Advertising and Matching DAML-S Service Descriptions (position paper)</article-title>
          .
          <source>In International Semantic Web Working Symposium</source>
          , Stanford University, California, USA,
          <year>July 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>A.</given-names>
            <surname>Patil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Oundhakar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheth</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Verma. METEOR-S Web Service Annotation</surname>
          </string-name>
          <article-title>Framework</article-title>
          .
          <source>In The Thirteenth Int. World Wide Web Conference</source>
          , New York, NY, USA, May
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <article-title>The Racer Home Page</article-title>
          . http://www.sts.tu-harburg.de/ r.f.moeller/racer/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>