An Algorithm for Web Service Discovery based on IOPE matching

drillchinchillaInternet and Web Development

Oct 21, 2013 (3 years and 7 months ago)

110 views

Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

1

An Algorithm for Web Service Discovery based on IOPE
matching



Farhad Zamiri Zeraati







farhad.zamiri@eng.ui.ac.ir

Dept. of computer
,

Faculty of Engineering

University

of Isfahan

Isfahan
,
81746
-
73441
, Iran


Mohammad Reza Khayyambashi




M.R
.khayyambashi@eng.ui.ac.ir



Dept. of computer
,

Faculty of Engineering

University

of Isfahan

Isfahan
,

81746
-
73441
, Iran


Abstract


Semantic Web Services (SWS) propose to extend the traditional Web Services technologies on
the way to consolidate ontologies

and semantics. This makes it possible to select, integrate and
invocate services dynamically. Semantic web services, are emerging as a promising methodology
for the effective automation of service discovery, composition, and monitoring. Service discovery
is the process of finding suitable services given by the providers for the service requests of
consumers. In this paper an algorithm is presented for web service discovery on the basis of input
and output descriptions of semantic Web Services as well as pr
econdition and effect matching. A
novel approach is presented in the algorithm for assigning matchmaking scores to achieve the
best services that match consumer requests.


Keywords:

Semantic Web Ser
vices, Semantic matching, OWL
-
S
.



1.

INTRODUCTION

The incre
asing usage of Web services on the Internet has led to much interest in the area of
service discovery

[2]. Much work has already been done in the areas of Web Service Discovery,
which is the process of finding Web Services that fulfil some functionality, h
owever the process of
choosing between two or more services with the same functionality is currently under
-
defined.
Web Service Selection is the process of choosing one service (or one composition of multiple
services) to be invoked to fulfil some function
ality.


When a service provider creates a new service, it describes the service using Web service
Description Language (WSDL). To make the service available to service consumers, the service
provider registers the service in a Universal Description, Discov
ery and Integration (UDDI)
registry by supplying the details of the service. When a service consumer wants to use a service,
it queries the UDDI registry to find a service that matches its needs and obtains the access point
of the service. UDDI allows a ke
yword
-
based taxonomy for categorizing Web Services. This
categorization does not help much when there are a lot of matching Web Services that fulfill a
given keyword criteria. So, dynamic matchmaking is impossible by just using standard UDDI
based approach
es. Moreover, due to lack of semantic descriptions of the Web services, the
results returned by registries are effectively inadequate

[4]. Users cannot acquire satisfying
answers by traditional keyword
-
based query because it is very difficult for the query

system to
understand users’ real intent according to the key words input by users. One word always has
several kinds of meaning if there is no semantic context for the word. The query system cannot
guess the real meaning of the input word so as to induce
the mistake for the query results.
Therefore, as the users require the precise query results, it is essential to make machines
understand the users’ requirements, i.e. the users’ requirements must be expressed in a
machine
-
understandable form. The notion o
f Semantic Web services takes us one step closer to
interoperability of autonomously developed and deployed Web services, where a software agent
Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

2

or application can dynamically find and bind services without having a priori hard
-
wired
knowledge about how to

discover and invoke them. Semantic web services technology aims to
add sufficient semantics to the specifications and implementations of web services to make
possible the automatic integration of distributed autonomous systems, with independently
designed

data models. Semantic web service is promising technology that makes automated the
processes of discovery, composition and management in web services.

OWL
-
S (Semantic Markup for Web Services) is an OWL based attempt for standardization of
Web service desc
riptions to establish a framework within which these descriptions are made and
shared. OWL
-
S provides service profile class which includes IOPE (input, output, precondition,
effect) capabilities of the services. During the matchmaking process, requests and

advertisements (service offers) described as OWL
-
S documents are matched according to IOPE
capabilities and the best advertisement is selected or a list of matching results is generated to
make the choice manually

[6].

The algorithm presented in this pape
r performs matching based on comparing IOPEs of user
request and services. The algorithm discovers the appropriate services that are closely matching
the user’s request.

The remaining of the paper is organized as follows. Section 2 gives a brief introducti
on to OWL
-
S.
Section 3 describes matching degrees. Section 4 describes semantic similarity measure that has
been used in the algorithm. Section 5 describes the proposed algorithm and Section 6 describe
an example. Section 7 evaluates the algorithm and Sect
ion 8 outlines the related work that has
been done in this area and the last section concludes the paper.


2.

OWL
-
S

OWL
-
S supplies web service providers with a core set markup language constructs for describing
the properties and capabilities of their Web ser
vices in unambiguous, computer
-
interpretable
form. computer
-
interpretable form. OWL
-
S markup of Web services is intended to facilitate the
automation of Web service tasks including automated Web service discovery, execution,
interoperation, composition and

execution monitoring

[7].

In OWL
-
S, service descriptions are structured into three essential types of knowledge: a
ServiceProfile, a ServiceModel (which describes the ServiceProfile), and a ServiceGrounding. In
a matchmaking process, the ServiceProfile i
s typically required, since it provides the information
needed for an agent to discover a service that meets its requirements. The Functional Description
of the service describes the capabilities of the service in terms of inputs, outputs, preconditions
an
d effects (IOPE for short)

[5]. An input is what is required by a service in order to produce a
desired output. The output is a confirmation that the order has been received and successfully
processed. The preconditions represent conditions in the World th
at should be true for the
successful execution of the service. The execution of the service may result in changing the state
of world. These conditions are described as the effects of the service.


3.

M
ATCHING

D
EGREE

To understand the proposed matching algori
thm, we first need to introduce the definition of the
degree of match. This notion is introduced because it is not particularly useful merely to
determine that an advertisement and query are not semantically incompatible. Therefore, starting
from the match
ing degree definition, we extend the match level “intersection satisfiable” to (let R
be the user’s request and A be the advertise):


Definition 3.1.

Matching degree is Exact If advertisement A and request R are equivalent
concepts.

Definition 3.2.

Matchin
g degree is PlugIn If request R is sub
-
concept of advertisement A.


Definition 3.3.

Matching degree is Subsume If request R is super
-
concept of advertisement A.


Definition 3.4.

Matching degree is Intersection If the intersection of advertisement A and req
uest
R is satisfiable, we call the match Intersection. [13]

Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

3

Degrees of the match are organized in a discrete scale. Exact matches are clearly preferable.
PlugIn matches are considered the next best, since we might expect that advertisers also provide
some
more specific (sub
-
class) services. Subsume matches are considered to be third best,
since an advertiser might also provide some more specific (super
-
class) services. Intersection is
considered to be fourth best

it only says that the advertisement is not i
ncompatible with the
request.


4.

MEASURING

S
IMILARITY

BETWEEN

ENTITY

C
ONCEPTS

In the discovery phase, matching between descriptive concepts of web services and the
descriptive concepts in a request needs to be done. The degree of matching between concepts
ca
n be measured by the concept’s similarity. In this paper two methods have been used to
determine the similarity between concepts .

The first measuring function is based on a taxonomy tree that represents the subsumption
relationships between all the concep
ts of the ontology that contains the entity concepts, and
returns a number in [0,1] representing the degree of similarity.

The function uses a number of taxonomy variables of the tree nodes of the two involved entity
concepts, including the minimal distanc
e between the nodes, the depths of the concept nodes,
and the depths of the nodes relative to the point at which their ascendant branch diverges in the
taxonomy tree(detailed description in [15]).

The second one measures the similarity by comparing the at
tributes of two concepts. This
method considers that common attributes of two concepts can enhance their similarity, while
different attributes of them can weaken their similarity (detailed description in [8]).


5.

M
ATCHING

A
LGORITHM

As previously mentioned,
each service and each request includes input(s), output(s),
precondition(s) and effect(s). For service discovery comparing with inputs, outputs, preconditions
and effects of request and service is needed to be done. Therefore, separate sets for each of the

inputs, outputs, preconditions and effects of service and request is considered. These sets are
shown respectively with I
S

, I
R

, O
S

, O
R

, P
S

, P
R

, E
S

And E
R

.

Precondition/effect matching is more complicated than input/output matching. Preconditions ar
e
decomposable to atom lists and atom lists are decomposable to atoms. Atom lists are horn
clauses like ‘‘Customer {hasCard} VisaCard”, and the atoms are like ‘‘Customer” and ‘‘VisaCard”

[6]. So, there is a little difference between input and output sets a
nd precondition and effect sets.
Each member of precondition and effect sets is considered as a(n) (atom, predicate, atom)
ternary. The matching score will be the average of matching score of each element of ternary.
The services having more preconditions/
effects or inputs than the request will be omitted because
such services may have side effects.

Services having more outputs than the request will be ranked based on number of outputs which
means if each service has more outputs, its rank will be lower.


T
he proposed matching algorithm, which is called ZKSM (Zamiri
-
Khayyambashi Semantic
Matchmaker), is presented in the following :

The matching algorithm begins with loading the ontology definitions of the request and
advertisements. These definitions are us
ed by the measuring function introduced in setion 4 while
determining subsumption relationships. Then each member of the set of inputs, outputs,
preconditions and effects of request are compared with all members of their corresponding sets.
For example, ea
ch member of request's input set is compared with all member of service's input
set. (step 1) Using the method introduced in Section 4 semantic similarity between two concepts
is obtained. The score results from this step represent the amount of similarity

between two
concepts. This score is represented with
S(m,n)

where m and n are concepts. Every concept has
property or properties. (step 2) properties of concepts are compared with each other using the
method introduced in [8].The score results from this s
tep represented by
att_Sim(m,n)

where m
and n are concepts. (step 3) Using the following formula in which w
1

and w
2
, respectively,
represent the weights that are considered for the amount of similarities in concepts and their
features, comparing concepts m

and n total score which is called
Subscore

is.


(1)

Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

4


Where w
1
+w
2
=1

(step 4) In this step the overall score of service ,that is the result of of service’s IOPEs against
request’s IOPEs, is obtained from the following formula where n is the number of couple
s that
compared against each other. The score is named TotalScoreSi.



(step 5) Each matching degree introduced in section 3 is considered as a set and the services are
ranked in this sets based on their
TotalScore
.

After the step 5, discovered services
are delivered to the next stage.


6.

E
XAMPLE

For better understanding of ZKSM algorithm, an example is given. In this example, a request is
considered which searches for services that verify account of an authorized person and returns
current price of the boo
k. I
R
, O
R
, P
R

sets for this request is as the following:


I
R
={Person, Book, CredirCardAccount}

O
R
={Price}

P
R
={(Customer,hasCard,Visacard),(Customer, hasAuthorised,Password)}


As mentioned above, this request has no effect but it makes no problem for descri
bing the
algorithm since effect is treated the same as precondition.

There is 6 potential matches for the request. These services are described in the following:


Service1:

Name: BShop Service

Description: BShop is a recommended service that verifies credi
rcard account of an authorized
person and adds the selected book in his shopping card.

I
S
={CreditCardAccount, Book, Person}

O
S
={}

P
S
={(Customer,hasCard,CreditCard)}

E
S
={}


Service2:

Name: Bea BookShopping

Description: Bea service checks credit account of a
n authorized person and adds the selected
book in his shopping card.

I
S
={CreditAccount, Book, Person}

O
S
={}

P
S
={(Customer,hasCard,CreditCard)}

E
S
={}


Service3:

Name: Book Shopping

Description: This service verify liability account of an authorized person a
nd adds the selected
book in his shopping card.

I
S
={Liabilityaccount, Book, Person}

O
S
={}

P
S
={(Customer,hasCard,CreditCard),(Customer, hasAuthorised, Password)}

E
S
={}


Service4:

Name: Book Price

Description: Return price of a book, person is an optional in
put.

(2)

Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

5

I
S
={Book, Person}

O
S
={price}

P
S
={}

E
S
={}


Service5:

Name: BBPrice Service

Description: BB service price of a book for a certain user.

I
S
={Book, User}

O
S
={Price}

P
S
={(User, hasAuthorised, Password)}

E
S
={}


Service6:

Name: Book Price TaxedPrice Service

Description: This service returns both price and taxed price of a book.

I
S
={Book}

O
S
={Price}

P
S
={}

E
S
={}


Here, the algorithm functionality will be described for Service1 and the others will be the same. In
the first step, matching couple(s) should be dete
rmined and compared against each other
according to the method which is described in section 4. For example, three couples of inputs and
three couples of preconditions are shown here. Input couples are
(Person, Person),(Person,
Book),(Person, CreditCardAcc
ount)

and precondition couples are
(Customer, Book),
(Customer,CrediCard),(VisaCard,CreditCard)
. Respectively, the score (S(m,n)) which is given
from first step for input couples are 1, 0.08, 0.05 respectively and for precondition couples are
0.04, 0.02, 0
.98.

In the second step, attributes of concepts will be matched against each other; respectively, the
score(att_Sim(m,n)) for input couples is 1, 0.03, 0.01, and for precondition couples is 0.001, 0.09,
1.

In the third step the Subscore for each couple wil
l be determined according to the formula
mentioned in section 5. w1 and w2 is considered 0.67, 0.33, respectively since concept similarity
is more important than concept’s attribute similarity. Respectively, the
Subscore

for input couples
is 1, 0.14, 0.066

and for precondition couples is 0.027, 0.0431, 0.99.

In the fourth step, the TotalScoreSi for each service is determined which is 0.51, 0.46, 0.24, 0.37,
0.11, 0.38, respectively.

According to the
TotalScoreS
i

s that is given for each service, the matchin
g degree of Service1
and Service2 and Service4 and Service6 is Subsume and that of Service3 and Service5 is
Intersection. Assigning matching degree to services is gained from experimental evaluations. For
each set there is a threshold which represents tha
t each member of the set has
TotalScoreS
i

equal or less than threshold.


7.

EVALUATION

In information retrieval research, ranked lists of returned items are evaluated in terms of recall
and precision. For a given number of returned items, recall is the propo
rtion of relevant items that
are retrieved and precision is the proportion of retrieved items that are relevant. For measuring
the retrieval performance of the algorithm a test collection includes 100 services described in
OWL
-
S is created. Precondition/Ef
fect annotations are in SWRL and ontology definitions in OWL
-
S test collection 3 is used. 20 queries are created to evaluate performance of the algorithm.

The efficiency of ZKSM algorithm is evaluated by comparing the recall and precision of operation
sear
ch with the following methods: IO matching method, IOPE matching algorithm introduced in
[6]
(SAM+)
.

In experiments the relevant services for each query is determined by experts. ZKSM algorithm is
run separately for each 20 queries and the ranked retrieved
service set for ZKSM algorithm is
Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

6

determined. For evaluating ranked lists of matching results, precision at different recall levels is
measured. The services determined by experts is considered as the relevant set, and the
services resulted from the algori
thm as the retrieved set, the precision values is calculated for
each recall level f
or IO matching algorithm and
SAM+. The values result from ZKSM algorithm is
calculated and compared against IO matching algorithm and SAM+. Then, interpolated precision
val
ues is calculated for every recall level by taking the maximum precision for any recall level
greater or equal to this recall level. These calculations gave us interpolated precision values for
11 point recall levels in [0,1] for the algorithm. The results

are shown in Figure 1.





















FIGURE 1:

Precision and Recall values for three algorithms


Fig.1 shows that as more relevant services are found (recall increases), more non
-
relevant
services are retrieved (precision decreases). However, ZK
SM has higher precision values than
the two other algorithms. It proves that ZKSM retrieve less non
-
relevant services than the others
which means that its information retrieval performance is better than IO matching algorithm and
SAM+.

Average query respo
nse time of ZKSM is compared against SAM+ and IO matching. The results
are shown in Figure 2.



















Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

7

















FIGURE
2
:

Average Response Time of three Algorithms


As the results show, average query response of ZKSM algorithm are slight
ly slower than SAM+
algorithm since ZKSM also compare the attributes of concepts against each other but SAM+ uses
WordNet similarity module that only check the similarity of words. Obviously, average query
response time of the proposed algorithm should be
slower than the IO matching algorithm due to
PE matching cost. However, the average response time of the ZKSM is acceptable because it is
slightly slower than SAM+.


8.

RELATED WORK

Relatively less work exists on PE concerning matching. In [9], A DAML
-
S match
maker is
developed. The matchmaking algorithm tries to match input parameters and output parameters of
the advertised service and the requested service respectively. Unfortunately, some important
information is omitted in the matching process, such as prec
onditions, effects, and service
classifications. In [10] the authors describe capability matchmaking as matching inputs, outputs,
preconditions and effects of services. They focus on the input


output matching. However, only a
discrete scale classification

of matching is provided. Besides, contextual information and
properties of OWL concepts are not taken into account. [11] proposes a matching process in
which firstly DL subsumption reasoning method is used to get the coarse set of services, and
then more
refined semantic distance calculation is made to improve the services distinguish
capability. Their algorithm is based on input and output annotations. [12] propose a method for
PE matching based on description logic SHOIN+(D). This method groups the match
making
results in four categories: exact match, perfect match, side
-
effects match, and common match. [6]
propose an algorithm which consider the precondition and effect in addition to input and output.
The algorithm uses bipartite graph matching to find th
e best pairs among arguments, predicates,
and conditions belonging to advertisement and request. The main contribution of their proposed
algorithm is that it provides ordered ranking based solution for peculiar needs of PE matchmaking
on OWL
-
S documents wr
itten in SWRL (Semantic Web Rule Language).


9.

C
ONCLUSION

In this paper a matchmaking algorithm is presented that performs matching based on comparing
IOPEs of user’s request and services. The algorithm discovers the appropriate services that
closely matched

the user’s request. Using score for each service which comes from scores of
IOPEs matching helps to find better matches for consumer’s request. The algorithm uses
similarity measure based on taxonomy tree and attribute similarity for calculating similarit
ies
between concepts. It is assigned weights to concept similarity score and concept’s attribute


ZKSM

SAM+


IO Matching


Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

8

similarity score for calculating the service matching score. The algorithm is compared with IO
matching and SAM+ algorithms, results show that the information
retrieval precision of the
proposed algorithm is greater t
han

other.


10.

REFERENCES

[1]

A.Gunay and Pinar Yolum.


Semantic Matchmaking of Web Services using Model

Checking
.


Proc. of 7th Int. Conf. on Autonomous Agents and Multiagent Systems (AAMAS),

Estoril, Portugal,
2008
, pp. 273
-
280
.


[2]

B. Benatallah, M. Hacid, A. Leger, C.

Rey and F. Toumani.


On automating Web services
discovery

.

VLDB Journal, vol.14(1), no.1, pp. 84
-
96, 2005.


[3]

D. Bianchini, V.

De Antonellis and M. Melchiori.


An ontolog
y
-
based method for
classifying and searching e
-
Services
.”

Proc. of the Forum of First International Conference on
Service Oriented Computing (ICSOC), Trento, Italy, 2003.


[4]

Richi Nayak and Bryan Lee.


Web service Discovery with addi
tional Semantics and

Clustering.”

IEEE/WIC/ACM International Conference o
n Web Intelligence,
2007
, pp. 555
-
558
.


[5]

Ruiqi
ang Guo ,DongDong and Jiajin Le.


Discovery for Web Servi
ces Based on
Relationship Model.”

Proc. of The Sixth IEEE International Conference on Computer a
nd
Information Technology(CIT), 2006.


[6]

Ayse B Bener, Volkan Ozadali and Erdem Savas Ilha
n.


Semantic matchmaker with
precondition and effect matching using SWRL
”.

Multimedia Systems, Vol.36, no. 5, pp. 9371
-
9377, 2009.


[7]

Liuming

Lu, Jiaxun Chen an
d Guojin Zhu.


Discovering Web Services B
ased on
Semantic Web Technology.”

Proceedings of the International Conference on Next Generation
Web Services Practices (NWeSP), 2005.


[8]

Sycara K, Klusch M and Widof S.


Dynamic service matchmaking among agents
in open
environments, Information environments
”.

SIGMOD Record, vol.28, no.1, pp.47
-
53, 1999.


[9]

Paolucci, M., Kawamura, T., Payne, T. R. and Sycara K. , Semantic matching of Web
Services capabilities, Proc. of the first international semantic web confe
rence on the semantic
web, pp. 333

347, 2002.


[10
]

Guo, R., Chen, D. and Le, J.


Matching semantic Web Services
across heterogeneous
ontologies.”

In The fifth international conference on computer and info
rmation technology,
2005
,
pp. 264

268
.


[11]

Dong
-
Wei, B., Chuan
-
Chang
, L., Yong, P. and Jun
-
Liang C.


Web Services matchmaking
with incremental semantic precision
.”

In Wireless communications, networking and mobile
computing,

2006
,

pp. 1

4.


[12]

Wang, H. and Li, Z.


A semantic matchmaking method of
We
b Services based on
SHOIN+(D).”

In Asia

Pacific conference on services computing,

2006
,

pp. 26

33.


[13]

Lei

Li, Ian Horrocks.


A software framework for matchmaking based on semantic web
technology
.” In WWW,
2003
, pp. 331
-
339
.


[14]

Lei Ye and Bin Zhang
.


Web Service Discover
y Based on Functional Semantics.”

Proc. of
the Second International Conference on Semantics, Knowledge, and Grid,

2006
,

p.57.


Farhad Zamiri Zeraati
,

Mohammad Reza Khayyambashi

International Journal of Computer Science and
Security

(IJCSS), Volum
e (1)

: Issue (3)
,
2011

9

[15]


Tian Qiu , Lei Li and Pin Lin.


Web Service Discovery with UDDI Based on Semantic
S
imilarity of Serv
ice Properties.”

Proceedings of the Third International Conference on
Semantics,

Knowledge and Grid,
2007
, pp.454
-
457
.