Semantic-enriched Service Discovery∗
Devis Bianchini, Valeria De Antonellis, Michele Melchiori and Denise Salvi
Università di Brescia
Dip. di Elettronica per l’Automazione
Via Branze, 38
25123 Brescia - Italy
{bianchin|deantone|melchior|salvi}@ing.unibs.it
Abstract
Automated techniques and tools are required to effectively locate services that fulfil a given user request. To
this purpose, the use of semantic descriptions of services
has been widely motivated and recommended for automated service discovery under highly dynamic and contextdependent requirements in distributed environments. Our
aim in this work is to propose a semantic-enriched framework to describe services and an ontology-based hybrid approach where such framework is exploited combining together different kinds of comparison strategies to provide
a flexible and efficient matchmaking between service descriptions. For service discovery two matchmaking strategies are proposed: a deductive strategy based on Description Logics, with a reasoning procedure exploiting ontology
knowledge to assess the type of match between services;
a similarity-based strategy, exploiting retrieval metrics to
measure the degree of match between services.
1 Introduction
In the recent years a growing number of services has
been provided on the web and it is more and more difficult to promptly access and retrieve needed web information. In particular, a challenging problem is to improve servicing of the web user requests. Totally or partially automated techniques and tools are required to effectively locate services that fulfil a given user request. To this purpose, the use of semantic descriptions of services has been
∗ This work has been partially supported by the MAIS (Multichannel
Adaptive Information Systems [13]) FIRB Project funded by the Italian Ministry of Education, University and Research, and by NoE INTEROP [10] IST Project n. 508011 - 6th EU Framework Program.
widely motivated and recommended for automated service
discovery under highly dynamic and context-dependent requirements in distributed environments. Semantic-enriched
frameworks are considered a key issue to enforce timely
discovery and dynamic composition of services. The ontology description languages OWL, OWL-S and, more recently, WSML have been proposed with the capability of
supporting Description Logics like SHOIN (D+), that is,
a knowledge representation formalism with a sound, complete and decidable inference procedure [1]. In the literature, several approaches based on these languages are being developed. In [9] a service matchmaking strategy based
on the DAML+OIL language used for service description,
on the OWL-S service ontology and on a DL reasoner is
proposed. The DAML+OIL expressions representing Service Profiles, according to the OWL-S ontology, are consistently mapped into the corresponding DL expressions and
DL-based reasoning facilities are applied to check if the request description is equivalent, subsumed or consistent with
the descriptions of service advertisements. The approach
described in [11] also use a service capability representation based on the OWL-S Service Profile, with inputs, outputs, preconditions and effects. Semantic relationships between input and output parameters in the domain ontologies are exploited to verify if: (a) all the outputs required
are also provided by the advertisement and (b) all the inputs
needed for advertisement execution are provided by the requester. A logical formalism based on Horn clauses is also
provided to express preconditions and effects and to verify
their logical implication or equivalence. In [15] a DL-based
reasoning algorithm extending the non standard inference
mechanisms of abduction and contraction are applied for
the matchmaking between the requested service profile and
the provided one, expressed by means of DL expressions.
The compared descriptions could be incomplete or not fully
compatible, so when an element in the request 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 value is increased. The higher
is the penalty, the lower is the compatibility between the
request and the advertisement. The METEOR-S Web Service Discovery Infrastructure presented in [14] extends traditional UDDI Registries, including also semantic aspects
of service descriptions by means of shared domain specific
ontologies. While searching for services, relevant domain
ontologies can be referred to, enabling semantic matchmaking of services. Moreover, registries are organized into domains to enable domain-based classification of all services.
2 Ontology-based service modeling
Starting from the WSDL document of a service and mapping it into a Description Logic expression, a service functional interface can be formally represented as a conjunction
of:
• a concept in the form ∃hasCategory.CAT , where
CAT is a concept representing the associated service
categories;
• one
or
more
concepts
in
the
form
∃hasOperation.OP , where OP is a concept
representing an operation of the service; each concept
OP is described as a conjunction of:
– the operation name, expressed by means of an
atomic concept;
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 extend the
keyword-based approach of UDDI Registry by considering
semantic matchmaking on the basis of a Domain Ontology
(that provides the general knowledge about concepts of the
business domain in which services are used) and a Service
Ontology (where services are organized by means of semantic relationships at multiple levels of abstraction). For service discovery two matchmaking strategies are proposed: a
deductive strategy based on Description Logics, with a reasoning procedure exploiting ontology knowledge to assess
the type of match between services [2]; a similarity-based
strategy, exploiting retrieval metrics to measure the degree
of match between services [3]. The similarity approach is
applied after the deductive one in order to rank selected
services according to the measured matching degree. Also
in [7] a mixed matchmaking approach has been proposed:
however, the similarity-based part of this approach exploits
IR techniques that are not tailored to service description
comparisons and, during the deductive matchmaking procedure, no terminological relationships are considered between names of elements used for service descriptions. Our
approach overcomes these limitations.
– one or more concepts ∃hasInput.IN , where
IN is a concept representing an input parameter
of the operation;
– one or more concepts ∃hasOutput.OU T , where
OU T is a concept representing an output parameter of the operation.
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 admitted values (that is, the range of the parameter). C 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 (¬).
The Description Logic family used corresponds to the
ALCO one, that is, the ALC logic enhanced with constructs to manage nominals. However, we serialize our service descriptions using OWL-DL, that can be consistently
mapped into SHOIN (D+), including also role hierarchy
(H), number restriction (N ) and concrete datatypes (D+).
This choice is twofold: to use OWL-DL as a recommended
Web-based language to represent our ontologies and to allow for future extentions of service descriptions, enhancing
expressiveness.
2.1 Adding semantics to service description
The paper is organized as follows: in Section 2 we
present the semantic-enriched framework for service modeling using ontologies; Section 3 and 4 describe the deductive and similarity-based matchmaking strategies and the
hybrid approach that exploits the framework. Finally, conclusions are presented in Section 5.
In order to add semantics to service descriptions, we exploit in a combined way a Domain Ontology DomON T ,
that contains the OWL-DL definitions of the elements used
to describe services (input/output parameters, operation
names, service categories) in terms of concepts and semantic relationships between them, a thesaurus automatically
derived from the lexical system WordNet [6], that contains
terminological relationships between names of ontology elements (e.g., synonymy, hypernymy, etc.) to better capture
their meaning, and a Service Ontology ServON T , that organizes services on different layers of abstraction as exposed in the Section 2.2. Ontologies, as well as service
descriptions, are described using the OWL-DL language,
allowing for the creation of an overall ontological framework in which service descriptions are completed with the
semantics provided by ontologies.
The Domain Ontology provides several kinds of semantic relationships, in particular: concept specialization, concept equivalence, concept disjunction and concept composition. Moreover, given a set T of terms used as names
of ontology elements and following a procedure similar to
that proposed in [5], the thesaurus is built according to the
following rules: (i) if t ∈ T and an entry for t exists in
WordNet, then t is defined as simple term and added to the
thesaurus; (ii) if t ∈ T is not a simple term, but it is a concatenation of simple terms t = hst1 , st2 , . . . stn i, then t is
defined as composite term. In this case an entry is defined
in the thesaurus for t and for each sti , i = 1, . . . n.
Terminological relationships between simple terms in
the thesaurus are set by considering relationships among
synsets in WordNet, as shown in Table 1. In addition, for
each composite term t we follow the intuition in [12] and
add to the thesaurus the relationships stn BT t (to denote
that stn is a Broader Term than t or, equivalently, that t is a
Narrower Term NT than stn ) and sti RT t, i = 1 . . . n−1 (to
denote that sti and t are Related Terms). In fact, as usual
in English, in a composite term t the last simple term stn
denotes the central concept represented by t, while the remaining simple terms are used to better specify the meaning
of stn .
2.2 Case study
Our approach is being exploited in the MAP Project,
conceived by the Industrial Association of Brescia -AIBin cooperation with Chamber of Commerce of Brescia, University of Brescia and University Cattolica del Sacro Cuore,
aiming at giving to local firms a set of services to better
know the surroundings and the impact of firms’ activities
on the environment, to compare industrial environmental
impact with the impact of other human activities like traffic and to display all the information on interactive maps.
Here we focus on this last aspect to provide application examples of the approach. Figure 1 shows a portion of the
Service Ontology used for geographical information services. We can distinguish 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
level of the ontology and are directly invocable services that
implement the functionalities represented by Abstract Services. Finally, at the top layer of the ontology Subject Categories organize Abstract Services into standard available
taxonomies (in particular, we considered the UNSPSC classification) to provide a topic-driven access to them; these
categories are the same that are used in the UDDI Registry
to classify published Concrete Services (in this sense, our
Service Ontology is built upon traditional UDDI Registry
structure); in particular, each Abstract Service is associated
to the set of Subject Categories related to the Concrete Services represented by that Abstract one.
In the example, we consider the Abstract Services:
- FindFirm, that, starting from a firm type and a geographical zone, returns a list of firm addresses situated in the
desired zone; this service can be further specialized by providing also some photos of the desired firms (by means of
FindFirmWithPhotos service); roughly speaking, we
say that the FindFirmWithPhotos service is a specialization of the FindFirm service if the first one provides
at least the same functionalities of the second one, possibly
adding new functional features;
- CreateMap, that prints the geographical map
of a given address; this service is specialized in the
FindNearestFeatures service, that represents on a
geographical map a list of requested features closer to a
given address;
- FindFirmOnMap, that, starting from a firm category,
represents a list of firms on a geographical map; we say that
this service is composed of the FindFirm and CreateMap services, that is, roughly speaking, the functionalities
of FindFirmOnMap includes the union set of functionalities of FindFirm and CreateMap; the first service is
called the composite one, while the other ones are the component services.
As an example, the SHOIN (D+) expression for the
FindFirm service is the following:
FindFirm ≡
∃hasCategory.GeographyInformationService ⊓
∃hasOperation.(firmRetrieval ⊓
∃hasInput.(∃industrialArea.location) ⊓
∃hasInput.(∃type.firmType) ⊓
∃hasOutput.(∃firmAddresses.addressList))
The specialization and composition relationships constitute
Thesaurus entries
Relationships in WordNet
Relationships added
to the thesaurus
sti , stj simple terms
sti , stj belongs to the same synset
a hypenymy/hyponymy relationship
exists between synsets of sti , stj
a meronymy relationship exists
between synsets of sti and stj or sti and
stj are coordinate terms
sti
sti
SYN
sti
RT
t = hst1 , st2 , . . . stn i
composite term
stj
stj
BT / NT
stj
stn BT t
sti RT t, i = 1 . . . n − 1
Table 1. Terminological relationships between the names of Domain Ontology elements.
Figure 1. A portion of Service Ontology for geographical information services.
two kinds of semantic relationships between Abstract Services that will be exploited to speed up the discovery algorithm, as shown in the Section 4.
• only C∈DomON T and GC(C)∩DT H 6=∅, where
GC(C) = {X∈DomON T | C⊑X} and DT H is
the set of terms that have name affinity with dn , that is,
DT H = {y∈T H | (dn ∼y)};
3 Semantic-enriched matchmaking
3.1 Deductive matchmaking
The thesaurus introduced in Section 2.1 is exploited to
compute the Name Affinity coefficient between names of
input/output parameters and operations. A weight σtr ∈
[0, 1] is associated to each kind of terminological relationship tr ∈ {SYN, BT / NT, RT} in the thesaurus, in order
to evaluate its implication for affinity; in particular, we
have σSY N > σBT /N T > σRT (in our experimentation,
σSY N = 1, σBT /N T = 0.8 and σRT = 0.5). The thesaurus can be viewed as a matrix, where each cell is represented in the form h(t, t′ ), tr, σtr i, where t, t′ are two entries of the thesaurus (respectively, the source and the target terms of the relationship tr). Two terms can be related
by one or more chains of terminological relationships: we
call path of length l between two terms t, t′ , denoted with
t →l t′ , a finite ordered sequence of terminological relationships htr1 , tr2 , . . . trl i, where the source term of tr1 is
t and the target term of trl is t′ . The strength of t →l t′ is
the product of the weights of all the relationships belonging
Ql
to t →l t′ , that is, τ (t →l t′ ) = k=1 (σtrk ) ∈ [0, 1]. Since
between two terms in the thesaurus there can exist more
than one path, the one with the highest strength is chosen.
The Name Affinity coefficient between t and t′ , denoted by
N A(t, t′ ), is computed as follows:
1
maxl (τ (t →l t′ ))
′
N A(t, t ) =
0
if t = t′
if t 6= t′ ∧
t →l t′ , l ≥ 1
otherwise
• C, D ∈ DomON T and (C ⊑ D) is satisfied in
DomON T , where ⊑ denotes the usual subsumption
in Description Logics;
(1)
We say that t and t′ have name affinity (t∼t′ ) if and only
if N A(t, t′ ) ≥ α, where α > 0 is a threshold given by
experimental results to select only terms with high values
of the Name Affinity coefficient.
We introduce a definition of non standard subsumption
between concepts based on the semantic relationships in
DomON T and name affinity according to the thesaurus
T H. Given a pair of concepts C and D with names cn and
dn , respectively, we say that 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:
• only D∈DomON T and SC(D)∩CT H 6=∅, where
SC(D) = {X∈DomON T | X⊑D} and CT H is the
set of terms that have name affinity with cn , that is,
CT H = {y∈T H | (cn ∼y)};
• if C, D 6∈ DomON T , there exists name affinity between cn and dn , that is, (cn ∼ dn ).
Obviously, C≡T H D holds if and only if C ⊑T H D
and D ⊑T H C. This kind of subsumption checking
between concepts is exploited to verify the kind of match
between the Description Logic expressions that describe an
advertisement S and a request R. Following an approach
similar to the one exposed in [9], we define five kinds of
matches, that will be described in more details. To verify
the kind of match, service description components are
considered separately. 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 condition is not
verified, then the match fails, otherwise the other kinds of
matches are investigated.
Exact match denotes that R and S present the same
functionalities, that is, what is required by R is exactly
provided by S. Formally, we say that
match(R, S) = ’exact’ ⇔
∀opiR ∃opjS such that
jk
ih
ih
(∀injk
S ∃inR : inS ≡T H inR ) ∧
jk
ih
ih
(∀outR ∃outS : outR ≡T H outjk
S )∧
(N ame opiR ≡T H N ame opjS ).
Note that this is a very strong condition. Each operation
of R is compared with each operation of S. In the matchmaking 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 operations
(respectively, corresponding parameters) such operations
(respectively, parameters) do not participate in further
comparisons.
Plug-in match, that is, S presents a plug-in match
with R when S presents at least the functionalities of R
(what is required by R is provided by S), but S provides
also other capabilities or information that are not required.
Formally, we say that
match(R, S) = ’plug-in’ ⇔
∀opiR ∃opjS such that
jk
ih
ih
(∀injk
S ∃inR : inR ⊑T H inS ) ∧
jk
ih
ih
(∀outR ∃outS : outR ⊑T H outjk
S )∧
(N ame opiR ⊑T H N ame opjS )
Subsume match, that is, S presents a subsume match
with R when S presents some but not all the functionalities
of R. Formally, we say that
match(R, S) = ’subsume’ ⇔
∀opjS ∃opiR such that
jk
jk
ih
(∀inih
R ∃inS : inS ⊑T H inR ) ∧
jk
jk
ih
(∀outS ∃outR : outS ⊑T H outih
R) ∧
(N ame opjS ⊑T H N ame opiR )
Intersection match denotes that R and S have
some common functionaties, that is, there are some capabilities or information that are required, but not provided and
some capabilities or information that are provided, but not
required (this is the most general case). Formally, we say
that
match(R, S) = ’intersection’ ⇔
∃opiR , opjS such that
jk
ih
ih
(∃injk
S , inR : inS ⊑T H inR ∨
jk
inih
R ⊑T H inS ) ∨
jk
ih
ih
(∃outR , outjk
S : outR ⊑T H outS ∨
ih
outjk
S ⊑T H outR ) ∨
i
(N ame opR ⊑T H N ame opjS ∨
N ame opjS ⊑T H N ame opiR )
If all the previous comparisons fail, then the match fails
(mismatch). A qualitative ranking among the kinds of
matches can be considered, that is, exact > plug-in
> subsume > intersection > mismatch. To verify these kinds of matches, a DL-based reasoner is used
(R ACER [8]). Note that, from the request viewpoint, the
first two kinds of matches could be considered equivalent,
since in both cases the offer fulfils the request; in the case
of subsume and intersection match, otherwise, the
offer satisfies only partially the request.
Example 3.1 Let consider the request to search for metallurgy firms in the TrompiaValley zone; the response to
the request should provide a geographical map with the
firm locations and the list of their addresses. Using a
SHOIN (D+) expression, the request looks like:
FindMetallurgyFirms ≡
∃hasCategory.GeographyInformationService ⊓
∃hasOperation.(firmSearching ⊓
∃hasInput.(∃area.TrompiaValley) ⊓
∃hasInput.(∃type.MetallurgyFirm) ⊓
∃hasOutput.(∃map.GeographicalFirmMap) ⊓
∃hasOutput.(∃firmAddresses.addressList))
If we compare this expression with the SHOIN (D+)
expression used for the FindFirm service given in
the Section 2.2 we see that all the inputs required
from the FindFirm service are effectively provided by the request, while there is a required output
(∃hasOutput.(∃map.GeographicalFirmMap))
that is not provided. Thus, there is a subsume match
between the request and the offer.
3.2 Similarity-based matchmaking
The name affinity introduced in Section 3.1 is exploited
to compute the similarity coefficients shown in Table 2. The
Entity-based similarity coefficient ESim takes into account
the I/O parameters of the overall service descriptions to
measure how much the two services are based on the same
information. The Functionality-based similarity coefficient
F Sim compares pairs of operations together with their corresponding I/O parameters to measure how much the two
services perform the same functionalities. Finally, ESim
and F Sim are combined in the Global similarity coefficient GSim. If the value of GSim is equal or greater than a
threshold δ given by experimental results, R and S are considered similar. These coefficients are based on the Dice’s
formula and widely experimented in [4]. They are more
oriented towards a comparison between services and follow
the structure of a service description in terms of operations
and corresponding I/O parameters better than traditional IR
metrics, where service descriptions are simply viewed as
vectors of terms.
Example 3.2 Let consider the request and the offer compared in the Example 3.1. If we compute the similarity
coefficients in Table 2, we have:
ESim(R, S) =
2·(1+1)
4
+
2·1
3
= 1.667
E NTITY- BASED SIMILARITY
ESim(R, S) =
2·Atot (INR ,INS )
|INR |+|INS |
+
2·Atot (OUTR ,OUTS )
|OUTR |+|OUTS |
∈ [0, 2]
INR , INS - sets of input parameter names of R and S
OU TR , OU TS - sets of output parameter names of R and S
Atot () - sum of values of the Name Affinity coefficient for all the pairs of parameter
names that have affinity; each parameter name participates at most in one Atot () evaluation
O PERATION
OpSim(opiR , opjS ) = N A(opiR , opjS )+
SIMILARITY
j
i
i
2·Atot (INR
,INS
)
2·Atot (OUTR
,OUTSj )
+
j
i
i
|INR |+|INS |
|OUTR |+|OUTSj |
∈ [0, 3]
opiR , opjS - names of i-th operation of R and j-th operation of S
i
INR
, INSj - sets of input parameter names of the i-th operation of R and the j-th
operation of S
i
OU TR
, OU TSj - sets of output parameter names of the i-th operation of R and the j-th
operation of S
F UNCTIONALITY- BASED
F Sim(R, S) =
2·
P
i,j
SIMILARITY
OpSim(opiR ,opjS )
|OP (R)|+|OP (S)|
∈ [0, 3]
OP (R), OP (S) - sets of operation names of R and S
G LOBAL SIMILARITY
GSim(R, S) = w1 · N ormESim(R, S) + w2 · N ormF Sim(R, S) ∈ [0, 1]
w1 , w2 - weights introduced to assess the relevance of each kind of similarity (w1 ∈
[0, 1] and w2 = 1 − w1 )
N ormESim(), N ormF Sim() - ESim() and F Sim() normalized to the range [0, 1]
Table 2. Similarity Coefficients between service descriptions R (request) and S (supply).
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
FC-MATCH
Inputs: a request R;
ServON T ; DomON T ; T H;
a threshold δ;
Outputs: a list Results of candidate concrete services CSS
with GSim(R, CSS ) ≥ δ, ranked with respect to values of GSim();
begin
load from ServON T into AS the list of abstract services;
Candidates := ∅; Results := ∅;
foreach S ∈ AS do
if(SUBSUMPTION - CHECKING (CATR ,CATS ,DomON T ,T H) == true) then
if(S 6∈ Candidates) then
remove S from AS;
T ypeOf M atchS := CLASSIFY- MATCH(R,S,DomON T ,T H);
if(T ypeOf M atchS <> ’mismatch’) then
GSim(R, S) := EVALUATE - SIMILARITY(R,S,DomON T ,T H);
add < S,T ypeOf M atchS ,GSim(R, S) > to Candidates;
foreach Si ∈ AS do
if Si is a specialization of S in ServON T AND
(T ypeOf M atchS =’exact’ OR T ypeOf M atchS = ’plugin’) then
T ypeOf M atchSi := ’plugin’;
GSim(R, Si ):=GSim(R, S);
add to Candidates the tuple < Si , T ypeOf M atchSi ,GSim(R, Si )>;
remove Si from AS;
endif
endforeach
else
foreach Si ∈ AS do
if Si is a generalization of S in ServON T then
remove Si from AS;
endforeach
endif
endif
endif
endforeach
foreach < S, T ypeOf M atchS ,GSim(R, S)>∈ Candidates do
foreach concrete service CSS associated with S in ServON T do
add < CSS ,T ypeOf M atchS ,GSim(R, S) > to Results;
endforeach
remove from Results the tuples with similarity < δ;
order tuples in Results on the basis of similarity values;
return results;
end
Figure 2. The F C -M ATCH hybrid matchmaking algorithm.
OpSim(opiR , opjS ) = 1 + 1.667 = 2.667
F Sim(R, S) = OpSim(opiR , opjS ) = 2.667
GSim(R, S) = 0.5 ·
1.667
2
+ 0.5 ·
2.667
3
= 0.862
4 Hybrid matchmaking
The deductive and similarity-based matchmaking approaches are combined together to enhance precision and
flexibility of the service discovery process. The algorithm
for hybrid matchmaking is shown in Figure 2. The solution is primarily based on the functional comparison of service descriptions, so we called the algorithm F C(Functional
Comparison)-M ATCH. The algorithm starts with some initialization instructions (rows 6-7), loading from the service ontology the list of abstract services that constitute the
available services to be compared with the request. After
performing subsumption checking CATR ⊑T H CATS between service categories (SUBSUMPTION - CHECKING function on row 9), the comparison is performed in three steps
(rows 10-30). Firstly, through the deductive approach, the
kind of match between the request R and each available
service S is classified (CLASSIFY- MATCH function on row
12), according to the five kinds of matches proposed in Section 3.1. Similarity evaluation is then applied (EVALUATE SIMILARITY function on row 14) 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 service S provides all the required functionalities, so GSim(R, S) is set to 1 (full similarity)
without directly computing the similarity coefficients;
• if mismatch occurs, GSim(R, S) is directly set to
zero;
• if subsume or intersection match occurs, the
offer fulfils the request only partially and similarity coefficients are computed to quantify how much
the service S satisfies the request R; in this case,
GSim(R, S) ∈ (0, 1).
Furthermore, semantic relationships between concrete
services, abstract services and subject categories in the Service Ontology are exploited to make more efficient the service discovery procedure (rows 17-22 and 26-27). In fact,
the discovery algorithm is applied at the category and abstract layers and can be made faster 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 functionalities of Sa (as expressed by
means of semantic relationships) match with R. The resulting candidate abstract services are then replaced with
their corresponding concrete ones (rows 33-36) and only
concrete services that present a similarity degree equal or
greater than the threshold δ are proposed as search results
(row 37). Finally, the selected concrete services are ranked
with respect to their similarity degree and proposed to the
user (rows 38-39).
5 Conclusions and future work
The paper presents a novel approach to service discovery that combines a fully deductive matchmaking based on
Description Logics and a similarity-based matchmaking derived from the information retrieval area. The approach also
exploits semantic organization of services in a Service Ontology to speed up semantic discovery. The combination
of two types of matchmaking strategies enhances flexibility
and effectiveness of the matchmaking process, while use of
Service Ontology improves efficiency. The experimentation
of the approach is in progress and is being performed in different application domains.
References
[1] F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi,
and P. Patel-Schneider. The Description Logic Handbook. Theory, Implementation and Applications. Cambridge University Press, 2003.
[2] D. Bianchini and V. De Antonellis. Ontology-based
Semantic Interoperability Tools for Service Dynamic
Discovery. In Proc. of the First Int. Conference on
Interoperability of Enterprise Software Applications
(INTEROP-ESA’05), Geneva, Switzerland, 2005.
[3] D. Bianchini, V. De Antonellis, B. Pernici, and P. Plebani. Ontology-based Methodology for e-Service discovery. Journal of Information Systems, Special Issue
on Semantic Web and Web Services, 2004.
[4] S. Castano and V. De Antonellis. A Framework for expressing Semantic Relationships between Multiple Information Systems for Cooperation. Information Systems, 123(3-4):253–277, 1998.
[5] S. Castano, A. Ferrara, S. Montanelli, and G. Racca.
Semantic Information Interoperability in Open Net-
worked Systems. In Proc. of the Int. Conference on Semantics of a Networked World (ICSNW), in cooperation with ACM SIGMOD 2004, pages 215–230, Paris,
France, June 2004.
[6] C. Fellbaum.
Wordnet: An Electronic Lexical
Database. MIT Press, 1998.
[7] B. Fries, M. Khalid, M. Klusch, and K. Sycara.
OWLS-MX: Hybrid OWL-S Service Matchmaking.
In Proc. of First International AAAI Symposium on
Agents and Semantic Web, Arlington, VA, USA, 2005.
[8] V. Haarslev,
R. Moller,
and M. Wessel.
RACER User’s Guide and Reference Manual Version 1.7.19, April 2004.
http://www.sts.tu-harburg.de/∼r.f.
moeller/racer/.
[9] I. Horrocks and L. Li. A Software Framework for
Matchmaking Based on Semantic Web Technology.
Special Issue on Semantic Web Services and Their
Role in Enterprise Application Integration and ECommerce, Michael Wellman and John Riedl, editors,
Int. Journal of Electronic Commerce (IJEC), 2004.
[10] The INTEROP NoE Portal.
http://www.interop-noe.org/.
[11] T. Kawamura, J.-A.D. Blasio, T. Hasegawa,
M. Paolucci, and K. Sycara. Preliminary Report
of Public Experiment of Semantic Service Matchmaker with UDDI Business Registry. In Proc. of First
Int. Conf. on Service Oriented Computing (ICSOC
2003), pages 208–224, Trento, Italy, 2003.
[12] M. Lauer. Designing Statistical Language Learners:
Experiments on Noun Compounds. PhD thesis, Department of Computing Macquarie University NSW
2109, Australia, December 1995.
[13] The MAIS Project Home Page.
http://www.mais-project.it.
[14] J. Miller, S. Oundhakar, A. Patil, A. Sheth,
K. Sivashanmugam, and K. Verma. METEOR-S
WSDI: A Scalable Infrastructure of Registries for
Semantic Publication and Discovery of Web Services. Journal of Information Technology and Management, Special Issue on Universal Global Integration, 6(1):17–39, 2005.
[15] S.Colucci, T. Di Noia, E. Di Sciascio, F.M. Donini,
M. Mongiello, and M. Mottola. Concept abduction
and contraction in Description Logics. In Proc. of DL
2003. CEUR Electronic Workshop Proceedings, 2003.
http://ceur-ws.org/Vol-81/.