<!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>Evaluating Similarity and Difference in Service ⋆ Matchmaking</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Devis Bianchini</string-name>
          <email>bianchin@ing.unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valeria 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>Michele 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 degli Studi di Brescia - Dip. di Elettronica per l'Automazione Via Branze</institution>
          ,
          <addr-line>38 - 25123 Brescia -</addr-line>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Recently, enterprise interoperability has been improved by the Web Service technology, making available an ever-growing number of services. Service discovery is considered a crucial issue; in particular, flexibility of the discovery process, that is, the ability of recognizing not only exact matches between the requests and offers, but also partial ones, should be enhanced. We propose a composite approach to flexible service matchmaking focused on different matching models that are able to evaluate similarity and difference between offers and requests. The approach is based on an ontological framework adding semantics to service descriptions. Optimization and ranking techniques are provided.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Recently, enterprise interoperability in distributed environments has been
improved by adopting the emerging Web Service standards and technology, making
available on the net an ever-growing number of services. Therefore, searching for
specific service capabilities, many services can be found able to fully or partially
satisfy the request. As a consequence, advanced service discovery approaches
have been developed in order to find the best suitable offers for a given request.
In particular, flexibility of the discovery process, that is, the ability of
recognizing not only exact matches, but also partial ones by evaluating the degree of
match between the request and each offer, should be considered. To be effective,
matchmaking techniques should rely on semantic characterization of requested
and provided services, obtained by exploiting typical Semantic Web tools such as
the ontologies. Other aspects related to service matchmaking techniques are the
definition of optimization strategies to make more efficient the discovery process
and ranking criteria to allow for ordering the discovered services on the basis of
their capability to satisfy the request.</p>
      <p>In this paper, we propose a flexible service matchmaking approach
characterized in terms of four components: matching model, metrics, ranking and
optimization. We consider different matching models that are able to take into
⋆ This work has been partially supported by the ESTEEM PRIN Project funded by
the Italian Ministry of Education, University and Research, and by NoE INTEROP
IST Project n. 508011 - 6th EU Framework Program.
account and to analyze similar or different elements between the request and the
offer, performing a flexible service comparison: (i) a similarity-based approach,
exploiting retrieval metrics to measure the degree of match between services,
(ii) a novel deductive approach, that is able to find the missing information
among the request and each offer by applying a logic-based difference operator,
and (iii) their possible combination into a hybrid approach. The matchmaker
is based on an ontological framework adding semantics to service descriptions.
Finally, optimization and ranking techniques are defined.</p>
      <p>The paper is organized as follows: in Section 2 the ontological framework
is presented, while in Section 3 the flexible matchmaker is described in detail;
related work are discussed in Section 4 and Section 5 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Service description and the ontological framework</title>
      <p>
        Looking for a service, a user is interested in primis in what a service is able
to provide him and secondarily on how the service goal is achieved or what he
must provide to the service in order to enable its execution [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. According to
this consideration, a request is expressed by listing the expected capabilities from
the service. For what concerns the service description, we want to maintain full
backward compatibility with existing standards. The description of service
capabilities is then extracted from the WSDL interface of services (without requiring
additional efforts for semantic annotation of service descriptions or for adding
new description elements such as those performed by the OWL-S coalition [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or
by the WSMO task group [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]).
      </p>
      <p>Starting from the WSDL document, the expected capabilities of the service
can be identified in the concepts related to the names of operations provided by
the service and in the concepts related to the names of output parameters
associated to operations. These elements are automatically extracted from the WSDL
document together with service category and a Description Logic expression is
built to represent a service. The DL expression is 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
described as a conjunction of:
• an atomic concept representing the name of the service operation;
• a conjunction of one or more concepts ∃hasOutput.OU T , where OU T is
a concept representing an output parameter of the operation and can be
defined as an atomic concept, an enumeration {o1, o2, . . . on} of nominals
or a complex concept obtained by applying the intersection operator (⊓),
the union operator (⊔) and the negation operator (¬).</p>
      <p>Example 1. We consider a running example in the domain of geographic
information services, where are required services displaying maps with different kinds
of information such as aerial photos, streets, gas pipes, water pipes and so on. Let
consider the following Description Logic expressions representing a request and
two offers DisplayGasInfrastructure and DisplayTransportInfrastructure:
request ≡ ∃hasCategory.GeographyInformationService ⊓
∃hasOperation.(viewDetailedMap ⊓
∃hasOutput.gasPipes ⊓
∃hasOutput.waterPipes ⊓
∃hasOutput.urbanStreets)
DisplayGasInfrastructure ≡ ∃hasCategory.GeographyInformationService ⊓
∃hasOperation.(displayMoreGrainedMap ⊓
∃hasOutput.gasPipes ⊓
∃hasOutput.streets)
DisplayTransportInfrastructure ≡ ∃hasCategory.GeographyInformationService ⊓
∃hasOperation.(viewDetailedMap ⊓
∃hasOutput.gasPipes ⊓
∃hasOutput.transportWays)</p>
      <p>
        To improve the effectiveness and the efficiency of service matchmaking,
additional semantics is associated to service description. In particular, an ontological
framework is defined for semantic enrichment [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The ontological framework is
constituted by three components: (i) a Domain Ontology DomON T , used to
conceptualize the domain knowledge related to the names of elements used in
service descriptions (operation names and output parameters), expressing it in
terms of concepts and semantic relationships between them; (ii) a Thesaurus T H
(automatically derived from available lexical systems such as WordNet), used to
relate names of concepts of the Domain Ontology to other terms by means of
terminological relationships (e.g., synonymy, hypernymy, etc.), in order to extend
matching possibilities between the concept names used in the service request and
the names used in the descriptions of provided services; (iii) a Service Ontology
ServON T , that organizes services on three layers of abstraction; in the middle
layer we have the Abstract services, that are introduced to summarize the
functionalities of sets of similar Concrete services; these ones are positioned in the
lower layer of the ontology and are directly invocable services that implement
the functionalities represented by Abstract ones; finally, at the top layer of the
ontology, with the higher abstraction, we have Subject Categories, that organize
Abstract services into standard available taxonomies to provide a topic-driven
access to them. Abstract services can also be organized into generalization
hierarchies: we say that an Abstract service is a specialization of another one
if it provides at least the same outputs and performs the same capabilities or
provides/performs more specific outputs/capabilities.
      </p>
      <p>Example 2. Figure 1 shows a portion of the ontological framework in the domain
of geographic information services, where are represented the two advertised
services considered in the Example 1.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Service matchmaker</title>
      <p>The service matchmaker is characterized by four components.
Matching model - We consider (i) a similarity-based model, where retrieval
metrics are applied to measure the degree of match between services, (ii) a
deductive model, exploiting deduction algorithms for reasoning on service
descriptions and (iii) a hybrid model, that combines the similarity-based
and the deductive models; in particular, we define a new deductive model
for reasoning on service descriptions by difference evaluation.</p>
      <p>Metrics - Different metrics are introduced to compute similarity between
request and offers.</p>
      <p>Ranking - A ranking scheme is defined to quantify the established degree of
match between the service request and each suitable offer.</p>
      <p>Optimization - An optimization policy is used to reduce the number of
comparisons to be performed during the matchmaking process.
3.1</p>
      <sec id="sec-3-1">
        <title>The similarity-based matching model</title>
        <p>
          A natural way of matching is to look for similarity. For this matching model, we
experimented in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] that it can be sufficient to exploit terminological relationships
to compare service descriptions. The thesaurus T H is therefore used to compute
the Affinity coefficient between names of output parameters and operations by
measuring their terminological relationships. According to the name affinity
values, the similarity between a service request R and an offer S is computed
through two properly defined coefficients: an entity-based similarity coefficient
(ESim), that measures how much the compared service descriptions provide
the same outputs, and a functionality-based similarity coefficient (F Sim), that
aims at measuring how much the two services provide the same capabilities.
These coefficients are based on the Dice’s information retrieval formula and are
tailored to compare service descriptions presented in Section 2. They are
normalized into the range [
          <xref ref-type="bibr" rid="ref1">0,1</xref>
          ] and combined together to give a global evaluation
of service similarity:
        </p>
        <p>
          GSim(R, S) = w1 · N ormESim(R, S) +
+w2 · N ormF Sim(R, S) ∈ [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ]
(1)
        </p>
        <p>
          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 the global similarity
coefficient.
        </p>
        <p>
          Example 3. Considering the request and the advertisements in the Example 1, if
we evaluate the values for the global similarity coefficient through the formulas
presented in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], we obtain GSim(request, DisplayGasInfrastructure) = 0.5∗
[0.72 + 0.86] = 0.79 and GSim(request, DisplayTransportInfrastructure) =
0.5 ∗ [0.656 + 0.828] = 0.742. The difference is due to the fact that there is a
double specialization between the transportWays and urbanStreets concepts
with respect to the streets and urbanStreets concepts and this affects the
values of the global similarity.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>The deductive matching model</title>
        <p>In the deductive matching model, both the thesaurus T H and the semantic
relationships in the Domain Ontology are exploited to classify the kind of match
between the request and the advertisements; following general guidelines in the
current literature, 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 the request and the
offer 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>The deductive strategy relies on a non standard subsumption test (named
C ⊑T H D) that is based both on the semantic relationships between concepts in
the Domain Ontology and the terminological affinity according to the thesaurus.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Definition 1 (Affinity-based subsumption test). Given the Domain Ontol</title>
        <p>ogy DomON T , the thesaurus T H and a pair of concepts C and D with names
cn and dn, respectively, C is subsumed by D with respect to T H, denoted by
C ⊑T H D, if and only if one of the following conditions holds:
– C, D ∈ DomON T and (C ⊑ D) is satisfied in DomON T ;
– only C ∈ DomON T and GCN (C)∩DT H 6= ∅, where GCN (C) = {N ame(X )
such that X ∈ DomON T and C ⊑ X } is the set of names of concepts
ancestors of C ∈ DomON T and DT H is the set of terms that have name
affinity (in symbols, ∼) with dn, that is, DT H = {y ∈ T H|(dn ∼ y)};
– only D ∈ DomON T and SCN (D)∩CT H 6= ∅, where SCN (D) = {N ame(X )
such that X ∈ DomON T and X ⊑ D} is the set of names of the concepts
descendants of D ∈ DomON T and CT H is the set of terms that have name
affinity with cn, that is, CT H = {y ∈ T H|(cn ∼ y)}.</p>
        <p>Note that we pose C ≡T H D if both C ⊑T H D and D ⊑T H C hold.</p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] we proposed a DL-based reasoning procedure to classify the five kinds of
match. We have also shown that the deductive and similarity-based approaches
can be combined into a hybrid matching model to obtain benefits of precision
and flexibility from the two matching processes and to provide users with a
measure of similarity. Firstly, the deductive strategy is applied to classify the
kind of match between the request R and each offered service S, then similarity
evaluation is performed 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 directly 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 and they are ranked with
respect to the GSim values. The application of this hybrid approach ensures
flexibility since when exact or plug-in matches are not found, partial matches
are taken into consideration by evaluating similarity of request and offers. In
this work, we describe an extended deductive procedure, that is able not only
to identify the kind of match, but also to return what are the exceeding and the
missing information among the request and the offer. In this way, it is possible
for the users to choose the most suitable offers.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.2.1 Deductive difference-based matching model</title>
        <p>
          Another possible way to state the matching problem is to find the information
contained in the request R and not in the offer S and viceversa, to verify if all the
required capabilities are supplied by the advertisement, if only a portion of them
is provided or no requirement is satisfied. To do this, we take inspiration from
the difference operator proposed in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] for comparing DL expressions of natural
language queries and we adapt it to the problem of service matchmaking.
Definition 2 (Difference Operator). The difference of two Description Logic
expressions, that is, the information contained in the first expression and not in
the second one, is defined in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] as the syntactic minimum and expressed as:
        </p>
        <p>C − D := min{X | X ⊓ D ≡ C ⊓ D}
where min is defined with respect to a subdescription ordering.</p>
        <p>The intuitive meaning of the difference operator is that it allows for removing
from a given description C all the information contained in the D description.</p>
        <p>The idea behind our approach is that, if we represent the capabilities of R
and S by means of DL-based expressions and compare them, we can obtain three
kinds of information:
– MD (Missing Description), it is the information required, but not provided
by the advertisement;
– E D (Exceeding Description), it is the information provided, but not explicitly
required;
– CD (Common Description), it is the information required and effectively
provided, that is, common to the request and to the offer.
(2)
(3)
(4)
(5)</p>
      </sec>
      <sec id="sec-3-5">
        <title>Match</title>
        <p>Exact if (MD ⊑T H ⊥) and (E D ⊑T H ⊥)
Plug-in if not(Exact) and (MD ⊑T H ⊥)
Subsume if not(Plug-in) and (E D ⊑T H ⊥)
Mismatch if not(Subsume) and (MD ≡T H R)
Intersection Otherwise</p>
      </sec>
      <sec id="sec-3-6">
        <title>Definition in terms of MD and E D</title>
        <p>
          An algorithm that performs the difference between two Description Logic
expressions using a tree-based characterization of subsumption has been
proposed in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. We will introduce the definition of description tree to express the
functional description of services given in Section 2 and we will propose an
algorithm to compute the difference between service descriptions exploiting the
affinity-based subsumption test to reason on description trees.
        </p>
        <p>Actually, the expressions of MD, CD and E D can be obtained from the
Description Logic representation of R and S by means of the differences:
MD := R − S
ED := S − R</p>
        <p>CD := R − MD := S − ED</p>
        <p>We can now define precisely the five kinds of match previously introduced.
Firstly, we consider the service categories CATR of the request and CATS of
the offer and we verify if CATR ⊑T H CATS . If this is not verified, a Mismatch
is established, otherwise other matches can be progressively defined in terms of
the MD, CD and E D differences.</p>
        <p>Greq = (Nreq, Ereq, n0, ̺req)
Nreq = {n0, n1, n2, n3, n4}
Ereq = {n0(∃hasOperation)n1,
n1(∃hasOutput)n2,
n1(∃hasOutput)n3,
n1(∃hasOutput)n4}
̺(n0) = root
̺(n1) = viewDetailedMap
̺(n0) = gasPipes
̺(n0) = waterPipes
̺(n0) = urbanStreets</p>
        <p>Definition 3 (Description tree). A description tree for a Description Logic
representation of a service S is a tree of the form GS = (NS , ES , n0, ̺S ), where:
– NS is a finite set of nodes of GS ;
– ES ⊆ NS × {hasOperation, hasOutput} × NS is a finite set of edges labeled
with role names r ∈ {hasOperation, hasOutput} (∃-edges); an ∃-edge from
n to m labeled r is written as n(∃r)m; by construction, we can have the
following kinds of ∃-edges:
• n0(∃hasOperation)ni ∈ ES , with i = 1 . . . |OPS |, where OPS is the set
of operation names;
• ni(∃hasOutput)pih ∈ ES , with i = 1 . . . |OPS | and h = 1 . . . |OU TSi |,
where OU TSi is the set of names of the output parameters associated to
the operation opiS ∈ OPS ;
– n0 ∈ NS is the root of GS ;
– ̺S : NS → [S|iO=P1S| OU TSi ] ∪ OPS ∪ {root} is a labeling function mapping
the nodes in NS to the concepts related to service description elements, with
̺(n0) = root.</p>
        <p>Example 4. A service description as given in Section 2 can be easily represented
as a description tree. For example, the description tree for the request in the
Example 1 is shown in Figure 2.</p>
        <p>The algorithm that computes the difference between the description tree
representations of two services R and S and that uses the ⊑T H subsumption
test to establish semantic mappings among single constituents of the services is
shown in Figure 3. In output the algorithm returns the type of match and
possible differences (missing/exceeding elements). Here, the notation G.subtree(n)
denotes the subtree with root node n in the description tree G and, given
m0(∃hasOperation)mi ∈ ER and n0(∃hasOperation)nj ∈ ES , GR.subtree(mi)
⊑T H GS .subtree(nj) if and only if:
(i) ̺R(mi) ⊑T H ̺S (nj), and</p>
        <p>function DIFFERENCE-MATCH(GR ,GS ,DomON T ,T H)
(1) inputs: the description tree GR = (NR, ER, m0, ̺R) of a request R
(2) the description tree GS = (NS , ES , n0, ̺S ) of an offer S
(3) a Domain Ontology DomON T and a thesaurus T H
(4) outputs: MD = dif faff (GR, GS )
(5) ED = dif faff (GS , GR)
(6) Mtype ∈ {‘‘exact’’,‘‘plug-in’’,‘‘subsume’’,‘‘intersection’’,‘‘mismatch’’}
(7) MD = GR; ED = GS ;
(8) if not (CATR ⊑T H CATS )
(9) Mtype = ‘‘mismatch’’; return MD, ED, Mtype;
(10) foreach (m0(∃hasOperation)mi ∈ ER)
(11) if ∃ (n0(∃hasOperation)nj ∈ ES ) such that [GR.subtree(mi) ⊑T H GS .subtree(nj )]
(12) delete GR.subtree(mi) from MD;
(13) else if ∃ (n0(∃hasOperation)nj ∈ ES ) such that [̺R(mi) ⊑T H ̺S (nj )]
(14) foreach (mi(∃hasOutput)pih ∈ ER)
(15) if ∃ (nj (∃hasOutput)pjk ∈ ES ) such that [̺R(pih) ⊑T H ̺S (pjk )]
(16) delete GR.subtree(pih) from MD;
. . .
// repeat rows (10)-(16) exchanging the roles of GR and GS to find ED
. . .
(17) if (MD ⊑ ⊥) and (ED ⊑ ⊥)
(18) Mtype = ‘‘exact’’;
(19) else if (MD ⊑ ⊥)
(20) Mtype = ‘‘plug-in’’;
(21) else if (ED ⊑ ⊥)
(22) Mtype = ‘‘subsume’’;
(23) else if (MD ≡ GR)
(24) Mtype = ‘‘mismatch’’;
(25) else
(26) Mtype = ‘‘intersection’’;
(27) return MD, ED, Mtype;
(ii) for each mi(∃hasOutput)pih ∈ ER there exists nj (∃hasOutput)pjk ∈ ES
such that ̺R(pih) ⊑T H ̺S (pjk).</p>
        <p>Example 5. Applying the difference-match algorithm to the service
descriptions in the Example 1, we obtain:
request − DisplayGasInfr. := ∃hasOperation.(viewDetailedMap ⊓ ∃hasOutput.waterPipes)
DisplayGasInfr. − request := ⊥
request − DisplayTransportInfr. := ∃hasOperation.(viewDetailedMap ⊓ ∃hasOutput.waterPipes)
DisplayTransportInfr. − request := ⊥</p>
        <p>Then, the request presents a subsume match both with
DisplayGasInfrastructure and DisplayTransportInfrastructure and the difference operator
returns the same results for the two comparisons.
3.3</p>
      </sec>
      <sec id="sec-3-7">
        <title>Optimization and ranking</title>
        <p>The generalization hierarchy of Abstract services is exploited to make more
efficient the service discovery procedure, according to the following intuition:
if an Abstract service Sa matches with a given service request R, then also
Abstract services that provide at least the same capabilities of Sa (that is, are
specializations of Sa) match with R. Once the desired Abstract service is found,
its corresponding Concrete services are proposed among the searching results
without any further application of the discovery algorithm.</p>
        <p>In order to measure the degree of difference between a request and available
offers we define a difference coefficient.</p>
      </sec>
      <sec id="sec-3-8">
        <title>Definition 4 (Difference coefficient). The difference coefficient between the</title>
        <p>services R and S is the size of their difference.</p>
        <p>dif f (R, S) := |MD(R, S)|
where |A| is the number of symbols in the expression A.
(6)</p>
        <p>According to the difference coefficient, offers can be ranked and the more an
offer fulfill the request, the best is the rank. For a given threshold of desired
covery, 1-1 and 1-N mappings between a request and available offers can be
determined.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related work</title>
      <p>
        Different matchmaking approaches have been developed aiming at improving
keyword-based techniques. In general, service matchmaking strategies that are
based on purely logic reasoning services [
        <xref ref-type="bibr" rid="ref5 ref9">5, 9</xref>
        ] present high precision and recall,
but are often characterized by low flexibility. Moreover these approaches usually
suffer from scalability problems. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] a service matchmaking strategy based
on the OWL-S Service Profile and on a DL reasoner is proposed. The overall
DAML+OIL expression representing a Service Profile is consistently mapped
into a single DL expression and DL-based reasoning facilities are applied to
check if the request description is equivalent, subsumed or consistent with the
descriptions of service advertisements. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] the requested service profile and the
provided one are expressed by means of DL expressions. The compared
descriptions could be incomplete or not fully compatible, so when an element in the
request that is not consistent with an element in the offer is found, it is removed
(contraction) and each required element that is not present in the offer is added
(abduction). Each time an element is removed or added, a penalty is assigned.
The higher is the total penalty, the lower is the compatibility between the request
and the advertisement. Moreover, the approaches based on Description Logics
are characterized by a good trade-off between expressiveness and computational
complexity.
      </p>
      <p>
        On the contrary of logic-based approaches, similarity-based approaches are
characterized by high flexibility, but also limited precision and recall, because, for
example, if a partial match is established, there is no way to know if are required
more functionalities than the provided ones or viceversa. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] a Web Service
description is expressed through Web Service name and textual description,
operation names and textual descriptions, input/output parameter descriptions,
that is, the name, data type and arity, as contained in the corresponding WSDL
file. The proposed algorithm evaluates the similarity of a pair of Web Service
operations by exploiting a novel clustering procedure that groups parameter
names into semantically meaningful concepts. A search engine, called Woogle, is
implemented to support similarity search for Web Services. Moreover,
similaritybased approaches exploit Information Retrieval techniques that consider service
descriptions as vectors of terms and are not specifically tailored to service
matchmaking. A comparison of deductive and similarity-based approaches shows that
the former ones are able to distinguish between the request and the offer
viewpoints, but do not provide a quantification of how much the offer matches with
the request, while the latter approaches are symmetric, not distinguishing
between the request and the offer, but provide a quantification of the degree of
match. In any case, both of these kinds of strategies lack in performances and
require high computational resources.
      </p>
      <p>
        With respect to the previous approaches, we have proposed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] a novel
hybrid matchmaking strategy that first uses a Description Logic-based
classification to precisely establish the kind of match between the request and each
offered service, then ranks the partially matching services on the basis of their
similarity. Therefore the hybrid strategy tries to get the best from both the
discussed approaches and to reduce the negative aspects of each ones by
providing good precision and recall, but also quantifying the degree of matching.
More recently, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] also proposes a mixed service matchmaking approach, called
OWLS-MX. Services are described using OWL-S Service Profiles and the degree
of match of a service advertisement with a service request is based not only
on the semantic relationships between DL constructs that express service
description elements, but it is also implicitly contained in the relative frequencies
of indexed terms of these descriptions, that are evaluated through traditional
similarity metrics used in Information Retrieval. However, during the deductive
matchmaking procedure, no terminological relationships are considered between
names of elements used for service descriptions. In an open world assumption,
such as that of the Web, where a lot of people could search for the same
information using synonyms or could look for different information using homonyms,
this limitation could strongly reduce the efficacy of the discovery process.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>In this paper we have shown how different matching models can be combined in
order to improve efficacy and flexibility of service discovery process. A
similaritybased model and a deductive model are defined to find services that best fit a
given request. These matching models can be combined into a hybrid model to
improve searching results and can be used in conjunction with optimization and
ranking strategies. Moreover, a newly defined deductive matching model based
on difference operation has been proposed, that is able not only to identify
the kind of match, but also to return what are the exceeding and the missing
information among the request and the offer. In this way, it is possible for the
users to choose the most suitable offers. The application of the different models
produces different results depending on the level of flexibility expected from the
requestor. Future work will investigate in more detail the design of a toolbox
based on different matching models to support user in choosing the best flexible
discovery strategy.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Benbernou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.S.</given-names>
            <surname>Hacid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Karam</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>Semantic Matching of Natural Language Web Queries</article-title>
          .
          <source>In Proceedings of ICWE2004</source>
          , pages
          <fpage>416</fpage>
          -
          <lpage>429</lpage>
          , Munich, Germany,
          <year>July 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <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>Capability Matching and Similarity Reasoning in Service Discovery</article-title>
          .
          <source>In CAiSE Int. Workshop on Enterprise Modeling and Ontologies for Interoperability, EMOI</source>
          <year>2005</year>
          , Porto, Portugal,
          <year>June 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Bianchini</surname>
          </string-name>
          , V. De Antonellis,
          <string-name>
            <given-names>M.</given-names>
            <surname>Melchiori</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Salvi</surname>
          </string-name>
          .
          <article-title>Semantic-enriched Service Discovery</article-title>
          .
          <source>In IEEE ICDE Int. Workshop on Challenges in Web Information Retrieval and Integration</source>
          ,
          <string-name>
            <surname>WIRI</surname>
          </string-name>
          <year>2006</year>
          , Atlanta, Georgia, USA,
          <year>April 2006</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,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pernici</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Plebani</surname>
          </string-name>
          .
          <article-title>Ontology-based Methodology for e-Service discovery</article-title>
          .
          <source>Journal of Information Systems, Special Issue on Semantic Web and Web Services</source>
          ,
          <volume>31</volume>
          (
          <issue>4-5</issue>
          ):
          <fpage>361</fpage>
          -
          <lpage>380</lpage>
          , June-July
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. A. Cal`ı,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Colucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.M.</given-names>
            <surname>Donini</surname>
          </string-name>
          .
          <article-title>A logic based approach for matching user profiles</article-title>
          .
          <source>In Proc. of the 8th Int. Conf. on KnowledgeBased Intelligent Information &amp; Engineering Systems (KES</source>
          <year>2004</year>
          ), volume
          <volume>3215</volume>
          <source>of Lecture Notes in Artificial Intelligence</source>
          , pages
          <fpage>187</fpage>
          -
          <lpage>195</lpage>
          ,
          <year>September 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>6. The OWL Service Coalition</article-title>
          .
          <source>OWL-S 1.1 release</source>
          ,
          <year>November 2004</year>
          . http://www.daml.org/services/owl-s/1.1/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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>
          , pages
          <fpage>372</fpage>
          -
          <lpage>383</lpage>
          , Toronto, Canada,
          <string-name>
            <surname>August-September</surname>
          </string-name>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>B.</given-names>
            <surname>Fries</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Khalid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Klusch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sycara.</surname>
          </string-name>
          OWLS-MX:
          <article-title>Hybrid OWL-S Service Matchmaking</article-title>
          .
          <source>In Proc. of First International AAAI Symposium on Agents and Semantic Web</source>
          , Arlington,
          <string-name>
            <surname>VA</surname>
          </string-name>
          , USA,
          <year>November 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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. Special Issue on Semantic Web Services and Their Role in Enterprise Application Integration and E-Commerce, Michael Wellman</article-title>
          and John Riedl, editors,
          <source>Int. Journal of Electronic Commerce (IJEC</source>
          <year>2004</year>
          ),
          <year>August 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. 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="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Kusters</surname>
          </string-name>
          .
          <source>Non-Standard Inferences in Description Logics. Lecture Notes in Artificial Intelligence</source>
          , Springer-Verlag,
          <volume>2100</volume>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>