web service planner (wspr): an effective and scalable web service

23
International Journal of Web Services Research, 4(1), 1-23, January-March 2007 1 Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. ABSTRACT As the emergence of service-oriented architecture provides a major boost for e-commerce agility, the number of available Web services is rapidly increasing �o�ever, �hen there are a large rapidly increasing �o�ever, �hen there are a large increasing �o�ever, �hen there are a large number of Web services available and no single Web service satisfies the given re�uest one has given re�uest one has , one has has to �com�ose multi�le Web services to fulfill the goal �n this article to�ard this �roblem �e �com�ose multi�le Web services to fulfill the goal �n this article to�ard this �roblem �e com�ose multi�le Web services to fulfill the goal �n this article to�ard this �roblem �e multi�le Web services to fulfill the goal �n this article to�ard this �roblem �e multi�le Web services to fulfill the goal �n this article to�ard this �roblem �e to�ard this problem, �e �e �resent an A�lanning�based Web service com�osition algorithm named as W� We evaluate �based Web service com�osition algorithm named as W� We evaluate based Web service com�osition algorithm named as W� We evaluate named as W�� We evaluate W�� We evaluate the efficienc and effectiveness of W�� using t�o �ublicl available test sets���� and efficienc and effectiveness of W�� using t�o �ublicl available test sets���� and effectiveness of W�� using t�o �ublicl available test sets���� and of W�� using t�o �ublicl available test sets���� and of W�� using t�o �ublicl available test sets���� and test sets����� and ���� and ���� and �C�B��n addition �e anal�e the t�o test sets and suggest several im�rovements to benchanal�e the t�o test sets and suggest several im�rovements to benchthe t�o test sets and suggest several improvements to bench- test sets and suggest several improvements to bench- improvements to bench- to bench- mark Web service composition better Ke�ords: A�lanning �arameter usage distribution Web services com�osition A� �lanning �arameter usage distribution Web services com�osition �lanning �arameter usage distribution Web services com�osition arameter usage distribution Web services com�osition Web services com�osition Web services composition Web Service Planner (WSPR): An Effective and Scalable Web Service Web Service Composition Al�orit�m Al�orit�m �eog�Chan Oh The �ennslvania �tate Universit U�A Dong�on Lee The �ennslvania �tate Universit U�A �oundar � T Kumara The �ennslvania �tate Universit U�A INTRODUCTION Web Services are often considered one of the most important and vital building blocks for the semantic Web (�erners�ee, 200�. �s �erners�ee, 200�. �s �. �s such, the industrial support of Web services has grown drastically in recent years. For example, it is expected that by 2007, 72 percent of all application development software will support Web services and 45% of all types of software will be Web services enabled (Cantera, 2004�. Cantera, 2004�. �. In Web services enabled networks, typically, a client program first locates a Web services server that can satisfy certain requests from a yellow page (UDDI), and obtain a detailed specification (WS�� about the service. �hen, using (WS�� about the service. �hen, using WS�� about the service. �hen, using about the service. �hen, using about the service. �hen, using the known API in the specification, the client sends a request to the Web service considered Web service considered via a standard message protocol (S��, and a standard message protocol (S��, and a standard message protocol (S��, and in return receives a response from the service. a response from the service. a response from the service. service. Unlike conventional programming interface, interface, interface, Web services are self�explanatory so that by are self�explanatory so that by self�explanatory so that by interpreting XM� tags, applications can interpret the semantics of operations. In particular, In particular, particular, the problem of practical interest concerns the he problem of practical interest concerns the following two issues. Given a request two issues. Given a request . Given a request Given a request a request request r, among thousands of candidate Web services found in UDDI (�) �ow to find matching services that (�) �ow to find matching services that (�) �ow to find matching services that satisfy r; (2� How to compose multiple services multiple services services

Upload: truonganh

Post on 05-Jan-2017

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 1

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

AbstrAct

As the emergence of service-oriented architecture provides a major boost for e-commerce agility, the number of available Web services is rapidly increasing oever, hen there are a largerapidly increasing oever, hen there are a largeincreasing oever, hen there are a large number of Web services available and no single Web service satisfies the given reuest one hasgiven reuest one has, one hashas to comose multile Web services to fulfill the goal n this article toard this roblem ecomose multile Web services to fulfill the goal n this article toard this roblem ecomose multile Web services to fulfill the goal n this article toard this roblem e multile Web services to fulfill the goal n this article toard this roblem e multile Web services to fulfill the goal n this article toard this roblem etoard this problem, ee resent an A lanningbased Web service comosition algorithm named as W We evaluatebased Web service comosition algorithm named as W We evaluatebased Web service comosition algorithm named as W We evaluatenamed as W We evaluate W We evaluate the efficienc and effectiveness of W using to ublicl available test sets and efficienc and effectiveness of W using to ublicl available test sets andeffectiveness of W using to ublicl available test sets and of W using to ublicl available test sets andof W using to ublicl available test sets and test sets and and and CB n addition e anale the to test sets and suggest several imrovements to benchanale the to test sets and suggest several imrovements to bench the to test sets and suggest several improvements to bench-test sets and suggest several improvements to bench- improvements to bench- to bench-mark Web service composition better

Keords: A lanning arameter usage distribution Web services comositionA lanning arameter usage distribution Web services comositionlanning arameter usage distribution Web services comositionarameter usage distribution Web services comosition Web services comositionWeb services composition

Web service Planner (WsPr): Ann Effective and scalable Web service Web service

composition Aloritm AloritmeogChan Oh The ennslvania tate Universit UADongon Lee The ennslvania tate Universit UA

oundar T Kumara The ennslvania tate Universit UA

INtrODUctIONWeb Services are often considered one of

the most important and vital building blocks for the semantic Web (ernersee, 200. sernersee, 200. s. s such, the industrial support of Web services has grown drastically in recent years. For example, it is expected that by 2007, 72 percent of all application development software will support Web services and 45% of all types of software will be Web services enabled (Cantera, 2004.Cantera, 2004.. In Web services enabled networks, typically, a client program first locates a Web services server that can satisfy certain requests from a yellow page (UDDI), and obtain a detailed specifica

tion (WS about the service. hen, using(WS about the service. hen, usingWS about the service. hen, using about the service. hen, usingabout the service. hen, using the known API in the specification, the client sends a request to the Web service consideredWeb service considered via a standard message protocol (S, and a standard message protocol (S, anda standard message protocol (S, and in return receives a response from the service. a response from the service.a response from the service.service.. Unlike conventional programming interface, interface,interface, Web services are selfexplanatory so that byare selfexplanatory so that by selfexplanatory so that by interpreting XM tags, applications can interpret the semantics of operations. In particular,In particular,particular,, the problem of practical interest concerns thehe problem of practical interest concerns the following two issues. Given a request two issues. Given a request. Given a request Given a requesta request request r, among thousands of candidate Web services found in UDDI () ow to find matching services that () ow to find matching services that () ow to find matching services that satisfy r; (2 How to compose multiple servicesmultiple servicesservices

Page 2: Web service Planner (WsPr): An Effective and scalable Web service

2 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

to satisfy r when a matching service does not exist. We motivate our work through the folWe motivate our work through the folthe following example.

Motivatin ExampleConsider the four Web services in able

illustrates in WS notation:

• Given the hotel, city, and state informaGiven the hotel, city, and state informathe hotel, city, and state information, findotel retrns the address and, findotel retrns the address andfindotel retrns the address and returns the address and zip code of the hotel..

• Given the zip code and food preference,Given the zip code and food preference,the zip code and food preference,, findRestarant retrns the name, phone returns the name, phone number, and address of the restaurant with matching food preference and closest to the zip code..

• Given the current location and foodGiven the current location and food the current location and food preference,, gideRestarant retrns the returns the address of the closest restaurant and its rating..

• Given thestart anddestinationaddresses,Given the start anddestinationaddresses,the start and destination addresses,, findDirection retrns detailed stepb returns detailed stepby

step driving direction and a map image of the destination address.

Now, consider the following two requestsconsider the following two requests from “State College, , US”:

( r find the address of the hotel Atherton, and

(2 r2 find a Thai restaurant near the hotel Atherton along with driving directions.s..

To flfill r, invoking the Web service findHotel is sfficient. That is, b invoking findHotel(“therton,” “State College,” “”, one can get the address of the hotel as “00 therton ve” with the zip code ofwith the zip code ofthe zip code of of “680.” However, none of the four Web ser However, none of the four Web serHowever, none of the four Web services can satisfy r2 alone. oth Web services, findRestaurant and guideRestaurant, can find a Thai restaurant near the hotel, but cannot provide driving directions. n the others. n the other. n the other hand, the Web service findDirection can give

<message name=“findHotel_Request”> <part name=“hotel” type=“xs:string”> <part name=“city” type=“xs:string”> <part name=“state” type=“xs:string”></message><message name=“findHotel_Response”> <part name=“address” type=“xs:string”>ess” type=“xs:string”>” type=“xs:string”> <part name=“zip” type=“xs:string”></message>

<message name=“findRestaurant_Request”> <part name=“zip” type=“xs:string”> <part name=“foodPref” type=“xs:string”></message><message name=“findRestaurant_Response”> <part name=“name” type=“xs:string”> <part name=“phone” type=“xs:string”> <part name=“address” type=“xs:string”>ess” type=“xs:string”>” type=“xs:string”></message>

(a findHotel (b findRestaurant

<message name=“guideRestaurant_Request”> <part name=“foodPref” type=“xs:string”> <part name=“currAddress” type=“xs:ess” type=“xs:” type=“xs:string”></message><message name=“guideRestaurant_Re-sponse”> <part name=“rating” type=“xs:string”> <part name=“destAddress” type=“xs:ess” type=“xs:” type=“xs:string”></message>

<message name=“findDirection_Request”> <part name=“fromAddress” type=“xs:ess” type=“xs:” type=“xs:string”> <part name=“toAddress” type=“xs:string”>ess” type=“xs:string”>” type=“xs:string”></message><message name=“findDirection_Response”> <part name=“map” type=“xs:string”> <part name=“direction” type=“xs:string”></message>

(c guideRestaurant (d findDirection

Table 1 xamle eb services

Page 3: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 3

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

driving directions from one location to another, directions from one location to another,s from one location to another, from one location to another, but cannot locate any restaurant. herefore, one has to use a chain of Web services to fullyof Web services to fullyWeb services to fully satisfy r2. wo possible ways exist. fter ob ways exist. fter ob. fter obtaining the hotel address using findHotel, one can do either:

• First, invoke guideRestaurant(“Thai,” “100 Atherton Ave, 16801, PA”) to get the address of the closest restaurant, say “410 S. Allen St. 16802, PA.” hen, invoke the Web service findDirection(“00 therton ve, 680, ,” “40 S. llen St. 6802, ” to get the driving directions.s..

• Second, invoke findRestaurant (“16801,” “Thai”) to get the address of the closest restaurant, say “410 S. Allen St. 16802, PA.” hen, invoke the Web service findDirection(“00 therton ve, 680, ,” “40 S. llen St. 6802, ” to get the driving directions.s..

Web service, Web service, , has typically two sets of parameters: i=12, for S request (as input and o=O1O2, for S response (as output. When is invoked with all input parameters, i, it returns the output parameters, o. We assume that in order to invoke , all input parameters in i must be provided (i.e., i are mandatory. Given a request r with input parameters r i and output parameters ro, finding findinging a set of Web servicesset of Web servicesWeb services ∈W such thatsuch that ri⊇i and ro⊆ o is referred to as the Web ervice Discover (WD) problem.. With a simple lookup table,lookup table,, the WS problem can be trivially solved. solved.solved.. herefore, in the remainder of the article, weremainder of the article, weof the article, we, we focus on the case where no single Web servicecase where no single Web servicewhere no single Web service no single Web servicesingle Web serviceWeb service can fully satisfy the requestthe requestrequest r and therefore onetherefore oneone has to compose multiple Web services. his. his type of the problem is referred to as the Web ervices Comosition (WC) problem, and is elaborated in subsequent section.

FOrMALIZING tHE WscWsc PrObLEM

he problem of interest in the I planning community primarily concerns scenarios which

allow interleaving of actions from different subplans within single sequence. y contrast,y contrast, contrast, the WSC problem can be considered as the problem can be considered as thethe in-formation gathering gathering problem (wok Weld,(wok Weld,wok Weld, 996whereWebservicesrepresent informationwhereWebservicesrepresent information where Web services represent information sources, and interleavingbetweenWebservices, and interleavingbetweenWebservices and interleaving between Web services are not found; this enables a highly specialized planning algorithm. he only preconditions to Web services are knowledge preconditions.knowledge preconditions. preconditions. Furthermore, there are no sibling subgoal interactions such as those characterizing the Sussman anomaly. For that reason, a Web service composition algorithm does not model the world state as do many other complete I planners; instead it models the world state asthe world state as in-formationstate state, a description of the information collected by the algorithm at a particular stage in composition (Rssel orvig, ).(Rssel orvig, ).Rssel orvig, )...

We first cast the WSC problem as a planning problem in STRIPS model of the of the 4 the 4the 4 44tuple: Π=<Wri,ro> where::

( is a set of parameters. In the motivating example, =“hotelname,”“hotelcity,”name,”“hotelcity,”,” “hotelcity,”hotelcity,”city,” “hoteladdress”,hoteladdress”,address”,ess”,”,,,

(2 W is a set of Web services. In thethe motivating example, W=findHotel, findRestaurant, …,

(3 ri⊆ is the initial input parameters,, and

(4 ro⊆ is the desired output parameters..

Note that Π is a propositional STRIPSa propositional STRIPS planning in which an initial state is a finite setin which an initial state is a finite set of ground atomic formulas, indicating that the corresponding conditions are initially true, and that all other relevant conditions are initiallyinitially false. In addition, the preconditions and postconditions and postconditions and postconditions of an operator are the ground literalsthe ground literalsground literals and the goals are also ground literals (ylander,(ylander,ylander, 99). igre . illstrates the STRIPS model). igre . illstrates the STRIPS model. igre . illstrates the STRIPS model. illstrates the STRIPS model illstrates the STRIPS model of the motivation example. A STRIPS model Π defines a state space Ψ=<sG,Ω(.,f,c> where::

( hestateshestatese states s∈ are collection of parameters in ,

(2 he initial stateinitial state state s∈ is such that s=rri,

Page 4: Web service Planner (WsPr): An Effective and scalable Web service

4 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

(3 he goal state G∈ is such that ro⊆ G,(4 Ω(s) is the set of Web services ∈W such

that i⊆s. hat is, can be invoked or applicable in the state s,

(5 he transition function f(s)=s' that maps a state s into another state s' such that s'=s o for ∈ΩΩ(s, and, and

(6 c( is the invocation cost of .

A soltion of the state model is a finite sequence of Web services ,2,...,n such that for a sequence of states s,s2,...,sn+ where si+=f(i, si for i=,...n, i∈ΩΩ(si, s∈s, and G∈sn+. ased on Ψ=<sG,Ω(.,f,c>, thethe Web service composition problemcanformallyproblemcanformally can formally be defined.

Definition 1 (Web Service Composition) uose that a reuest r has initial inuta reuest r has initial inut has initial inputhas initial input parameters ri and desired output param-eters ro Web ervice Comosition (WC) roblem is to find a finite seuence of Web is to find a finite seuence of Web services,,2,...,n such that (1) i can be invoked seuentiall from 1 to n (2) (ri

o1 ... o

n⊇ro and (3) the total cost

n

i=∑c(i is minimiedminimied

Definition 2 (State node network) A state node netork refers to a directed graphrefers to a directed graph a directed graph Gs(Vsshere i∈Vs represent the state si∈ and p is a set of directed edges (i,jthat connects ordered pairs of i∈Vs and j∈Vs ver arc (i,j∈s is eighted by the invocation cost c( here i and j represent si and sj respectively such thatthat ∈ΩΩ(si and sj=(,si (ie, sj=sio).

Given a networkGs(Vss, we consider, we consider paths in which arcs are traversed in the forward which arcs are traversed in the forwardwhich arcs are traversed in the forward direction only. he cost of a path is the sum of a path is the sum ofa path is the sum of the costs of the associated arcs. ur interestur interestinterest is to obtain a shortest path between s and sn ⊇G. Figure 2 illustrates the Gs(Vss of the motivating example. It is evident that if c(i= for ∀i∈W, then the shortest paths are: ( then the shortest paths are: ( s0, s, s2, s5 and (2and (2 s0, s, s3, s7. Indeed, it can bet can be can becan be formlated as the minimm cost flow problem. Moreover, there are polynomial algorithms tohere are polynomial algorithms to polynomial algorithms topolynomial algorithms to solve the minimm cost flow problems sch minimm cost flow problems schsuch as labelsetting algorithms (whensetting algorithms (whensetting algorithms (when (when c( ≥ 0 or or labelcorrecting algorithms2. However, there are problems with this idea. hese algorithms problems with this idea. hese algorithmsproblems with this idea. hese algorithms are polynomial in the size of nodes of nodesof nodesVs but the

AhotelName

FhotelZipcodeEhotelAddressDfoodPreferenceChotelStateBhotelCity

guideRestaurant

findDirection

findRestaurant

findHotel

P: parameter set W: web services set234

StartBA

2

3

4

FinishLK

C

BA

D

E JID

FHG

I

EI

LK

EF

DC

JrestaurantRateKmapHotelRestaurant

GrestaurantNameHrestaurantPhonenumberIrestuarantAddress

LdirectionHotelRestaurant

Figure 1 T model of the motivation examleure 1 T model of the motivation examle 1 T model of the motivation examle1 T model of the motivation examle T model of the motivation examleT model of the motivation examle

Page 5: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

number of nodes is exponential in the numberis exponential in the number exponential in the number numbernumber of parameters because nodes are states. efore we proceed to investigate the complexity of WSC problem in detail, we need to introduce two matching operations described below:

Definition 3 (Full matching) uose that a state s∈ is given Let a Web service i∈ΩΩ(s f for 2∈W,,

o ⊇ 2i , then can

“fully match fully match match match 2

Definition 4 (Partial matching) uose that a state s∈ is given Let a Web service ∈ΩΩ(s f for 2∈W,,

o 2i and

o ' 2i ¹Æ,

then can “partially match “partially match partially match match match 2

In the motivation example, findHo-tel partially matches findRestaurant and guideRestaurant. In turn, findRestaurant and guideRestaurant partially match find-Direction. However, if both findHotel and findRestaurant is composed then findDirecDirec-tion can be fully matched.

When only full matching is considonly full matching is considered in the WSC problem, it can be seen as a WSC problem, it can be seen as a problem, it can be seen as a, it can be seen as a singlesorce shortest path problem defined over Gs(Vss because the total number of input and

output parameter sets is 2×W thereby Vs=2W. hus, its computational complexity is tractable. n the other hand, when bothboth full and partial matching must be consideredl and partial matching must be considered and partial matching must be consideredconsidered concurrently, the problem becomes a decisionbecomes a decision a decision problem to determine the existence of a solution of k operators or less for propositional STRIPS planning (Nilsson, 200 with restrictions(Nilsson, 200 with restrictionsNilsson, 200 with restrictions with restrictions with restrictions on negation in pre and postconditions. Its computational complexity is proved to be Nto be NNcomplete (ylander, 994. herefore, when (ylander, 994. herefore, whenylander, 994. herefore, when. herefore, when. herefore, whenherefore, when the number of Web services to search is not number of Web services to search is notis not not small, finding an optimal soltion to the WSC problem (i.e., the sequence of a sequence of Web services from ri to ro is prohibitively expensive, leading to approximate algorithms instead. oo address this intractable WSC problem, we will suggest a polynomialtime Iplanning based heuristic algorithm in the following sections.

cLAssIFIcAtION OF Wsc PrObLEMs AND rELAtED

rEsEArcH WOrKWe can classify the WSC problem using

the following four facetsfour facets facets3:

A,B,C,D

irs ←0

A,B,C,D,E,F

s

A,B,C,D,E,F,I,J

2s

A,B,C,D,E,F,G

,H,I

3s

A,B,C,D,E,F,I,J,K,L

5sr o ∈

A,B,C,D,E,F,G,H,I,

K,L

7sr o ∈( 3c

( c( 2c

( 4c

A,B,C,D,E,F,G,H

I,J

4sA,B,C,D,E,F,I,J

6sr o ∈

( 3c

( 2c

( 4c

( 4c

Figure 2 Gure 2 G 2 G2 G GGs(Vss of the motivation examle

Page 6: Web service Planner (WsPr): An Effective and scalable Web service

6 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

• Manual vs. Automatic Workflow composition: In bilding workflows b means of Web services, one can do either ( manual composition in cooperation with domain experts; or (2 automatic composition by software programs. Inoftware programs. Inprograms. In the manual approach, human users who know the domain well (e.g., domain ontology select proper Web services and weave them into a cohesive workflow. Althogh sers ma rel on some GUIbased software to facilitate theoftware to facilitate the to facilitate the composition, in essence, it is a manual and laborintensive task, and thus is not appropriate for largescale WSC.

• Determinis t i c vs . stocast ic Environment: If we view the WSC as a designoriented process by ignoring the stochastic realworld environment, Iinspired planning techniques are suitable for the WSC. However since the classical STRIPSstle planning algorithms assume deterministic behavior of Web services, additional overhead is required to monitor execution time to recover from unexpected behavior of Web services (e.g., failure. here are some research efforts to suggest approaches for dynamically composing Web services in runtime with considerations to the stochastic environment.environment..

• simple vs. complex Operator: hehe simple WSC involves only two types ofWSC involves only two types oftwo types of matching operations: ( fullmatching operator and (2 partialmatching and (2 partialmatchingand (2 partialmatching operator. If WSC involves the two operators alone, it can be considered as a linear planning (i.e., there are no sib(i.e., there are no siblingsub goal interactions such as those characterizing the Sussman anomaly4.. More complex WSC, however, can useore complex WSC, however, can usehowever, can usecan use other operators (e.g., OR, XOR, OT) or constraints (e.g., request prefers sources in sia to the ones in urope in bothsia to the ones in urope in boththe ones in urope in bothones in urope in bothin urope in both urope in both sequential and parallel modes. Note that Note that throughout our article, WSC means the simple WSC.

• small vs. Lare scale: General WSCGeneral WSC problem to find an optimal workflow canworkflow can can be formulated as an I planning problem, into which the Satisfiabilit problem canatisfiabilit problem cancan be reduced (ossen et al., 999. We(ossen et al., 999. Weossen et al., 999. We. We. We know that the satisfiabilit problem issatisfiabilit problem isatisfiabilit problem is Ncomplete and therefore, it is unlikelycomplete and therefore, it is unlikely and therefore, it is unlikely, it is unlikely to have a polynomial algorithm for the WSC problem. ote that we definedote that we defined the WSC problem as an optimization problem. However, it is true that many solutions are currently available withare currently available withcurrently available withwith capability of dealing with large scale of dealing with large scalescale problems and it is possible because of theirtheir polynomialtime nature to approximate optimal solutions..

In Figure 3., we present a decision tree toFigure 3., we present a decision tree to., we present a decision tree to help select the right solution using the aforementioned four facets.he manual composition apfour facets.he manual composition apfacets. he manual composition aphe manual composition approach can rely on software programs that havesoftware programs that haveoftware programs that have programs that have that have functions to bind manuallygenerated workflows to the corresponding concrete resorces. To that end, METEORS (Sivashanmgam etSivashanmugam et al., 2003androteus (Ghandeharizadeh,2003 and roteus (Ghandeharizadeh,2003Ghandeharizadeh, 2003 weresuggested.epler (ltintasetal.,2004, in suggested. epler (ltintasetal.,2004, inepler (ltintasetal.,2004, inltintas et al., 2004, in, in particlar, provides a scientific workflow editor which allows scientists to effectively query and compose distributed data sources on the Grid. Ths, it is possible to bild scientific workflows across diverse scientific domains for analsis and modeling tasks. METEORS, Protes and epler adopt the idea of semiautomatic service composition and indicate the trend that GUIbased software and human expertsoftware and human experts and human expertss can work together to generate the composite service. However, we believe that by leveraging on various planningbased solutions of I community, people can solve WSC problem better. If one knows that an automatic composition is plausible for the given WSC problem, then she may apply planningbased automatic composition soltions first to get the initial set the initial set initial set of candidate workflows, and performadditionalperformadditional additional finetning later.

Regarding AI planning soltions for WSC in igre ., STRIPS (ilsson, ) is the firstigre ., STRIPS (ilsson, ) is the first ., STRIPS (ilsson, ) is the first., STRIPS (ilsson, ) is the first., STRIPS (ilsson, ) is the firstilsson, ) is the first) is the first

Page 7: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 7

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

major I planning system which represents acrepresents ac actions in terms of their preconditions and effects and describes the initial and goal states as conjunctions of positive literals. Graphplan (lumlum Furst, 995 is a general purpose planner for is a general purpose planner for STRIPSstle domains, based on ideas sed in graph algorithms. Given a problem statement, Graphplan uses a backward search to extract a plan and allows for some partial ordering among actions. As a satisfiabilitapproachfor theplanasatisfiabilitapproachfor theplan satisfiabilit approach for the planning problems, the Slan algorithm (autzautz Selman, 999 was introduced. Slan was introduced. Slan belongs to the greedy local search methods for solving S problems. he Slan algorithm translates a planning problem into propositional axioms and applies a satisfiabilit algorithm to find a model that corresponds to a valid plan. An excellent survey of modern planning algorithms and their application to WSC problems can be fond (Oh, ee mara, Rao S,Oh, ee mara, Rao S, 2004; Weld, 999. However, we should note Weld, 999. However, we should noteWeld, 999. However, we should note. However, we should note that these algorithms cannot handle the case when a semantic match is desired. In other words, for the purpose of the semantic match, a promise to use agreedupon ontology is required between participating parties in advance.

From a planning objective point of From a planning objective point ofFrom a planning objective point of view, Graphplan and Sbased planning systems have the same objective (i.e., minimizingminimizing the number of time steps but not necessarily the number of actions to reach a goal. However, to reach a goal. However, through an integer linear programming (I fromulation, other various oS factors (e.g.,, other various oS factors (e.g., response time, service cost, or availability of sources can be incorporated and optimized.incorporated and optimized. and optimized. Clearly, exhaustive search is unrealistic because combinatorial explosion renders it nonpractical. When the scale is large but WSC problem is free of negation, we can use heuristic search algorithms like * variant algorithms (hetal.,h et al., ). SWORD (Ponnekanti ox, ) is a). SWORD (Ponnekanti ox, ) is aonnekanti Fox, 2002 is a is a rulebased expert system which can automatically determine whether a desired composite service can be realized using existing rules. However, considering the fast growth of Webgrowth of WebWeb services, building a full knowledge base by converting all Web services into axioms will will be expensive.

ifferent from the deterministic environment composition above, there are some studies to address the nondeterminism inherent in realworld Web services. Markov decision

CompositionComposition

ScaleScale

OperatorOperator OperatorOperator

Workflow methods

KeplerProteusMETEOR-S

:Facet

:Methods

A* variants algorithms

Satisfiability algorithmSATPlan + WalkSAT

Tabu search,Genetic algorithm etc.

Local search

Integer linear programming

Graphplan, Partial order planningTheorem proving

(Pre-defined workflow required)

Manual(Syntactic or Semantic Web

enabled)

SmallLarge

simple complex complex

Deterministic

Heuristic Search algorithm

Rule based planning

simple

EnvironmentEnvironment

Automatic

Network algorithm

Markov Decision ProcessMulti-Agent

System

Stochastic(Design-oriented WSC) (Execution-oriented WSC)

Figure 3 A decision tree for classifing WC roblemsure 3 A decision tree for classifing WC roblems 3 A decision tree for classifing WC roblems3 A decision tree for classifing WC roblems A decision tree for classifing WC roblems WC roblemsWC roblemss.

Page 8: Web service Planner (WsPr): An Effective and scalable Web service

8 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

processes can be used to utilize a stochasticstochastic optimization framework in this context butframework in this context but in this context but main focus is on the abstractlevel strategies instead of the implementationlevel details (oshi et al., 2005. multiagent perspectiveoshi et al., 2005. multiagent perspectivei et al., 2005. multiagent perspective et al., 2005. multiagent perspective. multiagent perspective. multiagent perspective can be sed to compose adaptive workflows in dynamic environment (uhler idal, 2003.(uhler idal, 2003.uhler idal, 2003... However, it is likely to be expensive to enable Web services with agentlevel intelligence.

In database community, one of the recent works attempts to support an automated service discover sing Information Retrieval (IR)Retrieval (IR) (IR)like similarity search (ong et al., 2004. he(ong et al., 2004. heong et al., 2004. he. he. he he emergent need of workflows to model eservice applications makes it essential that workflow tasks be associated with Web services. s a result, research efforts have been carried outresearch efforts have been carried out have been carried outve been carried out been carried out to enhance workflow sstems in their spport of Web service composition (Shegalov el al., el al., 2002..

s an independent research branch, Web service ualit testing has been established where quality and trustworthiness of Web services are considered (hanghang,2005.(hanghang,2005.hang hang, 2005... It is very unlikely that a business organizationorganization will dynamically select a partner from the Internet merely based upon the information found from some public registry without high confidence. Therefore, the test of qalit and trustworthiness of Webservice based software is a critical work for the success of Web service paradigms..

tHE WsPr (WsPr (WEb sErVIcE PLANNEr) ALGOrItHM ALGOrItHMIn the earlier section, we formulatedearlier section, we formulatedsection, we formulated

the state model for the WSC problem asΨ=<sG,Ω(.,f,c> and showed that theshowed that the that thethe size of state space is exponential to the sizeexponential to the size to the size of parameter set. o address this intractable problem, we suggest a polynomialtime algorithm, W (pronounced like “whisper”.. When a request r is given, WSPR activates twostep search. First, it computes the cost ofsearch. First, it computes the cost of. First, it computes the cost of achieving individual parameters staring from ri by conducting the forward search; second, it approximates the optimal sequence of Web services that connects ri to ro by conducting

regression search leveraging on the results obtained from the first step as guidance. hese twostep based approach is essentially in accordance to Graphplan (lum urst,(lum urst,lum urst, 995. However, our method is different in. However, our method is different in. However, our method is different in that we used a noble heuristic to minimize thenoble heuristic to minimize the heuristic to minimize theheuristic to minimize the to minimize theminimize the the number of Web services in a solution while Graphplan and other I planners originated from Graphplan typically aim at minimizing the number of time steps but not necessarily the number of actions. Note that due to the crossover between STRIPS model and the state model, in the forward searching, forward searching, s0=ri and G⊇ro while in the regression searching, G=ro and s0⊆ri. Since this crossover can cause additional confusion, we will use ro and ri as it is in the algorithmthe algorithm algorithm rather than s0 and G. However, we will use

Ss∈ in the algorithm so it must be noted thatalgorithm so it must be noted that so it must be noted thatnoted that that the state ss in the progression space has differentdifferent meaning with in the regression space. While in the progression space, the states can be thoughtthe states can be thought can be thoughtcan be thought as setsofpreconditions, in the regressionspace,sets of preconditions, in the regression space, the states can be thought as sets of effects. hesets of effects. heeffects. hes. he. he differences will be described in detail below.

(step1) Forward searcinsearcin

In the first stage, WSPR obtains ( irg p

– the cost of achieving the cost of achievingachieving p∈ from a state ri. his cost can be characterized by the solution of the recursive equation as follows:

( ’

( ’

( min [ ( max ( ’]

min [ max ( ’]

i ii

ii

r r O p p

r O p p

g p c g p

g p∈ ∈

∈ ∈

= +

= +

(

where,here, c( is an invocation cost of a Web service and it is assumed to be . O(p is a set of Web services, ∈W such that p∈o. t first, ( ir

g p are initialized to 0 ifare initialized to 0 if p∈ri and to ∞otherwise. hen, the current information state the current information stateinformation state state s is set asis set asset as ri. very time for ∀∈ΩΩ(s, each parameter p∈o is added to s and ( ir

g p is updated until for ∀p∈ro, ( ir

g p are obtained. We obtained. Weobtained. We name a Web service as a predecessor Web predecessor WebWeb service of p∈ if is the first Web service to generate p. We denote Ds(p to be an invertedan inverted index that contains the set of predecessor Web that contains the set of predecessor Web the set of predecessor WebWeb

Page 9: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

services ofof p. In this article, we assume that the that thethat the invocation cost of Web services is nonnegative. However, it is possible to have a negative However, it is possible to have a negativeHowever, it is possible to have a negative Web service invocation cost if various oS are considered (e.g., cost, quality, security. In that security. In thatsecurity. In that case, rather than quation (, labelcorrecting (, labelcorrecting labelcorrecting algorithms such as ellmanFord algorithm must be selected. selected.

(Step2) Regression SeringsearcinIn the second stage, WSPR approximates approximates

the optimal sequence of Web services that connects ri to ro by conducting the regression search leveraging on ( ir

g p andand Ds(pobtained obtained from the first step as gidance. In this article, In this article,In this article, we propose a heuristicbased greedy algorithm for the backward search. ackward search is anbackward search. ackward search is ansearch. ackward search is an ackward search is an old idea in planning that is known as known asknown as regression search. In regression search, the state s can becan be thought as a set of effects and we can specifya set of effects and we can specifyset of effects and we can specify of effects and we can specify a subgoal from the statethe state s. his algorithmhis algorithmis algorithm denotes its subgoal by subGoal and starts byby setting subGoal to(ro \ ri. When we denote. When we denote ace to be a set of Web servicesto be a set of Web services Web servicesWeb services ∈W such that i∈ Ds(p, p∈subGoal, WSPR selects a selects aselects a Web service from ace by considering their considering their heuristics at each backward step.hisbackward hisbackwardhis backward selection procedure is repeated until subGoal⊆ri.heheuristicused to select aWebserviceand heheuristicused to select aWebserviceandheheuristicused to select aWebserviceand heuristic used to select aWebserviceandto select a Web service andand its underlying hypothesis is as follows:underlying hypothesis is as follows:is as follows:as follows:

Hypothesis: Choosing a Web service ith bigger contribution to match the subgoal earlierthe subgoal earlier subgoal earlier in the search helps reaching to the initialhelps reaching to the initial initialinitial state faster

( osgh subGoal=

(2

hsg()shows that WSPR favors a Web service whose contribution tomatch thesubgoal is tomatch thesubgoal isto match thesubgoal isthe subgoal issubgoal isgoal isoal is large. However,However, hsg( has other interpretation. Web service, with biggerhsg( can have a higher chance to match the subgoal fully to match the subgoal fullyto match the subgoal fullygoal fullygoal fully leading to preventing proliferation of followpreventing proliferation of following proliferation of follow proliferation of following search space. In other words, our heuristic search space. In other words, our heuristicsearch space. In other words, our heuristic attempts to avoid a partial matching case or partial matching case orpartial matching case or reduce the size of partial matching Webservices servicesservices as much as possible.

remarkshe forward searching procedure hasforward searching procedure hasprocedure has

polynomial computation timecomputation time O(W2) . Note that the length of a sequence of Web services to satisfy a request is limited by W.. herefore, there are at most there are at most W iterations and at and at each iteration, at most iteration, at most , at most W Web services and and parameters are examined. n the contrary, theare examined. n the contrary, the. n the contrary, the regression searching procedure has polynomial computation time O(W2log) because it has at most at most W iterations and at each iterations, and at each iterations, at most O(W log) time is required to

Input: ir , or Output: sD

: \( oi rrs = ; φ=C ; d=

2 : while ( ors ⊇¬ do 3 : ,( Cs ∉Ω∈=δ // if φ=Ω (s , no solution exists.

4 : for p in o ( δ∈ 5 : if ∞=( pg ir 6 : ( pg ir = d; ( pDs = ; pss = 7 : δCC = ; d++

Figure 4 Forard search algorithm of W

Page 10: Web service Planner (WsPr): An Effective and scalable Web service

10 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

deal with the task to select a Web service with the largestlargest hsg(. he time for printing. he time for printing solution can be ignored. In general, since logW,O(W2) O(W2log) . Ths, the performance of WSPR algorithm is controlled b the first forward searching procedure. We verify this experimentally in subsequent sections. Consequently, the three significant dimensions to determine the performance of WSPR algorithm are () the length of a sequence Web service in a solution, (2 W of the Web service size and (3 of the Web service size and (3 and (3 and (3 of the of the parameter set size.

With r2 of the motivating example in the introduction section, we can illustrate the forward searching algorithm.

• t the beginning, s= 2ir . Since Ω(s=

findHotel we can invoke findHo-tel. We can updateupdate ( ir

g p , Ds(p andand s as follows: ( ir

g (“hotelddress”= and ir

g (“hote lipcode”=, (2 Ds(“hotelddress”= [findHotel] and Ds (“hotelipcode”= [find-Hotel], (3 s=s “hotelddress”, “hotelipcode”.

• With s, we can obtain Ω(s = find-Restaurant, guideRestaurant. y invoking findRestaurant and guideRestaurant, we can maintain

( irg p , Ds(p andand s as follows: ( ir

g(“restarantRate”)=, ir

g (“restaurantddress”=2, ir

g (“restaurantName”= 2, and ir

g (“restauranthonenumber”=2, (2 Ds (“restarantRate”) = (“restarantRate”) = guideRes-taurant], Ds (“restaurantddress”=(“restaurantddress”= [guideRestaurantfindRestaurafindRestaurafindRestaurant], Ds (“restaurantName”= [(“restaurantName”= [fin-dRestaurant], and Ds (“restaur(“restauranthonenumber”= [findRestau-rant], (3 s=s “restarantRate”, “restaurantddress”.

• With s, we can obtain Ω(s= find-Direction. lso, we can maintain

( irg p , Ds(pandand s as follows: ( ir

g(“mapotelRestarant”)= and ir

g(“directionotelRestarant”)=, ()Ds (“mapotelRestarant”) =findDirec-tion] and Ds (“directionotelRestaurant”=[findDirection], (3 s=s “mapotelRestarant”, “directionotelRestarant”.

Input: ir , or , and sD Output: n ⇒⇒

: \( io rrs = ; ssubGoal = 2 : while ( φ=¬ subGoal do 3 :

subGoalps pDpace

= (

4 : (maxarg hsgace∈=χ // a tie breaks at random.

5 : \( io rss χ= 6 : soln = soln χ

7 : ssubGoalsubGoal i \( χ=

8 : irs = // a sequence of web service print in forward direction. 9 : while ¬ (soln=φ do 0: if (s Ω∈ and ∈ soln

: rint , ⇒ ; oss = ; soln = soln \

Figure egression search algorithm of W

Page 11: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 11

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

• We can stop the procedure because s ⊇2or .

We illustrate the regression planning algorithm continued from the end of the forward searching procedure above.

• t the beginning, bothboth s= 2or and

subGoal=s hold.• Since both Ds (“mapotelRestarant”)

and Ds(“directionotelRestarant” are findDirection, we getwe getget χ=findDirection even without applying the heuristic. hen, we obtainhen, we obtaine obtain soln=findDirection, and update, and update and update s=s “restaurantddress”, “hotelddress” and subGoal=“restaurantddress”,ddress”,”,, “hotelddress”.hotelddress”.”..

• Since Ds (“restaurantddress”=[(“restaurantddress”=[guideRestaurant findRestaurant findRestaurant] and Ds (“hotelddress”= [(“hotelddress”= [findHotel], ace = findHotel findRestau-rant guideRestaurant . Since each Web service in ace has hsg(= uniformly, we can randomly select = findHotel and then, we can update s=s “hotelddress”, “hotelipcode” and subGoal=“restaurantddress”“restaurantddress”restaurantddress””. We can update soln = findHotel findDirection.

• Since Ds(“restaurantddress”=[guideRestaurant findRestaurant findRestaurant], ace=f i n d R e s t a u r a n t guideRestaurant. Since each Web service in ace has hsg( =uniformly,=uniformly, uniformly, we can randomly select = find-Restaurant and then, we can update s=s “hotelddress”, “hotelipcode” and subGoal =φ. We can update soln = findHotel findDirection find findDirection find find-Restaurant.

• Since subGoal =φ, we stop the repetistop the repetirepetitions.s.

• Setet s= 2or and print ““findHotel” andand ⇒

because Ω(s = [findHotel].• S e t s = s “ h o t e l d d r e s s ” ,

“ h o t e l i p c o d e ” a n d p r i n t “findRestaurant” andand ⇒ because

Ω(s = [findRetaurantRetaurant].• Set s=s “restaurantddress”,

“ r e s t a r a n t R a t e ” a n d p r i n t “findDirection” andand ⇒because Ω(s = [findDirectionDirection].

• Since soln =φ, we stop the regression search with a solution: “with a solution: “ a solution: ““find-Hotel” ⇒ “findRestaurant” ⇒ “findDirection”..

EXPErIMENtAL VALIDAtION

To validate the efficienc of the WSPR,ienc of the WSPR,c of the WSPR, we conducted extensive experiments usingextensive experiments usingexperiments using usingusing two publicly available test sets05publicly available test sets05test sets0505055 and IC056. oth test sets contain artificiall oth test sets contain artificiall created composition scenarios, and are used for two recent Web services discovery and composition contests. However, the test sets inin 05 appear tobemanuallycreatedbyhumanappear to be manually created by human experts (thus smaller in size while those in IC05 appear to be synthetically generatedappear to be synthetically generated by software. hroughout the experiments, we hroughout the experiments, we sed two evalation metrics () Rnning timetwo evalation metrics () Rnning time Rnning timeRnning timeime (in millisecond is measured to see how long it takes for a method to find a soltion, and ()The, and (2heand (2 he number of Web services in the solution (#W is counted to measure the quality of the found solution. Methods that take smaller running time while producing solutions that use less number of Web services are considered to be “good” ones. ll experiments were performed on a C ll experiments were performed on a Cexperiments were performed on a C platform with entium 4 (.7GHz, Windows XP, and M RAM. All algorithms were. ll algorithms werell algorithms were algorithms were implemented in ython 2.3.in ython 2.3. ython 2.3.

Experiments wit EEE05his test set contains 00 Web services.

lthough small, it is still challenging because it is not simple for humans to solve for thefor the optimal configration in short time. It sholdin short time. It should be noted that 05 contest had offered 5 test requests but six test sets was not able to be solved syntactically; we discard those six test requests (i.e., 4, 6, 7, 9, , and 2. Since, thisSince, this, this test set and test requests were made by humanss and tried to imitate real public Web services so that it is possible to identify parameters used in it. For example, 55th test request hastest request has rin

Page 12: Web service Planner (WsPr): An Effective and scalable Web service

12 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

=“pickupocationName,” “pickupocationID,” “firstame,” “lastame,” “middleInitial,” “custStreetddress,” “custCityddress,” “custStateddress,” “custipddress” and rout=“shipmentrackingNumber,””shipmentCost”. or each algorithm, we first checked whether WSPR solves the problem, and if so,WSPR solves the problem, and if so,solves the problem, and if so, we compute Time andand #W.heresultsareshown he results are shown in Table . or each reqest, WSPR generatedTable . or each reqest, WSPR generated. or each reqest, WSPR generated or each reqest, WSPR generated answers that are identical to the right answers announced by 05 with reasonable speedwith reasonable speed reasonable speed (. sec).. sec).0.0 sec.

Experiments wit IcEbE05ccording to the description from

IC05, the construction of test data is varied in different dimensions as follows:

• Minimal #Minimal ##W: hey provide test sets withhey provide test sets withhey provide test sets with their minimal #W between 2 and 4 (test set names starting with Composition and other test sets with their minimal #W between 6 to 8 (test set names staring with Composition2.

• he number of Web services in a test set

(i.e., W: Wof test sets is one among 3,356 and 5,356 and 8,356. Wof test sets can be identified from their test set name becase , , and figres inclded in the name indicate 3,356, 5,356, and 8,356 respectively.

• Number of input and output parameters: he size of input and output parameters size of input and output parameters were differentiated in the range of 48, 620, and 3236.

he test set names in IC05 indicate the combination of the parameters by labeledparameters by labeled by labeled Composition and Composition2 followed by the test set size and the number of parameters. For example, Composition5032 means the test set representing service composition with a minimal ##W between 2 to 4 and W of 5,356 and the number of input and output parameters being in the range of 32 to 36.

oth Composition and Composition2 have nine test sets respectively and each test set has queries. s our experiments will show,experiments will show, will show, solving requests in Composition2 is harder than Composition in terms of #W and Time. For example, #W in Composition is in the range of 2 and 4 as shown in able 3. while. while while #W in Composition2 is in the range of 6 andis in the range of 6 and in the range of 6 and 8 as shown in able 5. In terms of Time, Time in Composition is in the range of 49~703 while Time in Composition2 is in the range of 96~228. his implies that we need more resources (i.e., longer Time and larger #W in Composition2 than Composition. We also checked how resource consumption is divided into two phases of WSPR. or this prpose, first, we denoted fTime to represent the time consumed in forward search and bTime to represent the time consumed in backward search. hen, we recorded fTime and bTime in each search.

(1) composition-1From the perspective of #W, as shown in

able 3., we discovered that ., we discovered that , we discovered that discovered that that th request was the simplest while requests from 7th to 0th were the hardest in the sense that th request was solved with just one Web service, requests from 7th to

Reqest o.No.( est number

WSPR

#W Time

( 4 10

2(2 4 10

3(3 3 10

4(5 1 10

5(8 2 10

6(0 1 10

7(3 2 10

8(4 2 10

9(5 1 10

Table 2 W erformance on in terms of #W and Time (ms) (ms)

Page 13: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 13

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

Reqest o. 2 3 4 5 6 7 8 9 0

#W 2 2 2 3 3 3 4 4 4 4 1

Table 3 Comarison of #W over reuests All test sets have the same #W for the same reuest No

Reqest No. Time 204 206 2032 504 506 50

32 004 006

0032

fTime 46.9 09.9 87 46.9 25 202.9 94 29 344

bTimeTime 6 2 2 5. 2 3 4.9 2 4.9

2fTime 47 0 72 62 7.9 27.9 09.9 203 343.9

bTimeTime 2 2 2 2 2 2 2 2 5

3fTime 62 09.9 7.9 62 4 27.9 0 29 358.9

bTimeTime 6 2 2 2 2 6 2 2 2

4fTime 62.9 40.9 250 08.9 202.9 328.9 39.9 32 500

bTimeTime 2 2 2 2 2 2 2 2 2

5fTime 62.9 40 234.9 78 87.9 328.9 39.9 296.9 67.9

bTimeTime 2 2 5. 6 5. 2 2 6 2

6fTime 62.9 4 265.9 09.9 250 258.9 57 297 55

bTimeTime 5. 2 5 2 2 6. 2 2 2

7fTime 78 87 328 09.9 250 406 87.9 39 639.9

bTimeTime 6 2 2 5. 2 2 2 2 6

8fTime 92.9 203 328 25 328 42 7.9 389.9 67.9

bTimeTime 6 2 2 2 6 2 2 2 2

9fTime 92.9 28.9 328 09.9 250 406 203 375 671

bTimeTime 2 2 2 2 2 2 2 2 32

0fTime 92.9 87 327.9 08.9 233.9 453.9 87 407 657

bTimeTime 2 2 2 2 6. 2 2 4.9 2

fTime 77.9 87 359 78.9 56 344 92.9 87.9 32

bTimeTime 2 2 2 2 2 2 2 2 2

Table 4 Comarison of 11 ueries over 9 test sets in terms of their fTime and bTime (ms)bTime (ms)Time (ms)e (ms)

Page 14: Web service Planner (WsPr): An Effective and scalable Web service

14 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

0th required as many as four Web services.rom the perspectiveof test setsdifficltperspectiveof test setsdifficlt of test setsdifficltsdifficlts difficlt

level, as shown in able 4 and (a(c of Figure 6, we found that 204 test set is the simplest while 0032 test set is the hardest. hese results are very closely related with the size of test sets. In other words, since 204 and 0032 have 3,356 and 8,356 Web services respectively, the search space of 0032 becomes much bigger than that of 204.

In terms of Time, 9th request in 0032 test set takes the longest one (i.e., 703 ms. When it comes to resource consumption in two different phases, most resource consumption was assigned to the forward reasoning stage. No bTime did exceed 3 ms as shown in able 4. It is caused by two reasons: ( all requests all requestsall requests are solved by linearly sequential fullmatchinglinearly sequential fullmatching sequential fullmatching composition. Consequently, in the test sets in IC05, we can save O(WlgW) computations because we need not measurebecause we need not measure we need not measure hsg( at all. Instead, we can just select one Web service listed in ace. In other words, while first forward reasoning step keeps theforward reasoning step keeps the reasoning step keeps the computational cost as high asO(W2), second regression planning step brings the cost down to O(W) (2 the solution length obtained is very small. For example, in 0032 test set, 0th request can be solved with 4 Web services. hat is, regression planning reaches to ri starting from ro with 4 iterative steps (iterative steps ( steps ( W).

(2) Composition-2

ike Composition, from the perspective of #W, we discovered that discovered that that th request was the simplest but requests from 7th to 0th were the hardest as illustrated in able 5. While the the th request requires just one Web services, request

from 7th to 0th requires eight Web services. Similar to Composition, From the

perspectiveof testsetsdifficlt level,wefond of test setsdifficlt level,wefondsdifficlt level,wefonds difficlt level, we fond that 204 is the simplest but 0032 is the hardest as shown in able 6 and (d(f of Figure 6. In terms of Time, 0th request in 0032 takes the longest one (i.e., 2280.9 ms. When it comes to.9 ms. When it comes to9 ms. When it comes toms. When it comes to. When it comes to resource consumption in two different phases, most resource consumption was assigned to the forward reasoning stage. No bTime did exceed 30 ms as shown in able 6.0 ms as shown in able 6. ms as shown in able 6.ms as shown in able 6. as shown in able 6.

summary. Althogh WSPR spends extra reWSPR spends extra respends extra resources to maintain auxiliary structures such as ( ir

g p and Ds(p in theparameter in the parameter space, overall we concluded that it is, overall we concluded that it isoverall we concluded that it iswe concluded that it is beneficial becase WSPR can be morebecase WSPR can be more informed in regression searching stepin regression searching step due to the guidance of ( ir

g p and Ds(p. owever, most rnning time of WSPR, most rnning time of WSPR is spent in the forward reasoning stage due to the sheer number of Web servicesWeb services to visit. hus, in order to improve thehus, in order to improve theimprove the overall speed of WSPR, better was to, better ways tobetter ways to be more informed about parameter spacemore informed about parameter space are needed in the future research. in the future research..

DIscUssION ON EEE05 AND IcEbE05 tEst sEts tEst sEtssEtsEtstss

In this section, we describe the result of study on the test sets used in 05 and ICEE. eing featred as the first and second worldwide contest, the two challengesworldwide contest, the two challengeswide contest, the two challenges obviously attracted considerable interest of man researchers working in the frontier field of Web service research. s the results of our study will show, however, some directions

Reqest o. 2 3 4 5 6 7 8 9 0

#W 6 6 6 7 7 7 8 8 8 8 1

Table Comarison of #W over ueries All test sets have the same #W for the same reuest No

Page 15: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 1

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

ReqestNo. Time 204 206 2032 504 506 5032 004 006 0032

fTime 87.9 828.9 672 32 64 093 500 05.9 734.9

bTimeTime 2 2 2 2 2 5.9 6 2 2

2fTime 87 780.9 67.9 328.9 655.9 4 56 06 733.9

bTimeTime 6 6 2 2 2 4.9 2 5 2

3fTime 203 796.9 67.9 32.9 64 094 500 05.9 77.9

bTimeTime 2 2 6 6 2 2 5 2 6

4fTime 234.9 906 780.9 359.9 750 32.9 594 7.9 2000

bTimeTime 2 6 2 5. 2 5 5.9 2 6

5fTime 233.9 922 782 390.9 750 282 594 87 2000

bTimeTime 2 5 5 2 5.9 5 5 6 5.9

6fTime 28.9 905.9 78 359.9 750 250 592.9 7.9 2000

bTimeTime 5 6 2 5. 2 32 6 5. 6

7fTime 39 030.9 890 42.9 842.9 467.9 655.9 328.9 2266

bTimeTime 2 6 5.9 6 6 5.8 32 2 6

8fTime 264.9 046.9 875 437 828 42 657 327.9 2266

bTimeTime 2 6 30.9 2 6 6 30 2 2

9fTime 266 046.9 875 42 844 469 67 327.9 2264.9

bTimeTime 2 2 6 2 6 2 6 6 2

0fTime 250 030.9 875 42.9 844 546.9 67.9 328.9 2265.6

bTimeTime 2 5. 30.9 2 4.9 2 2 2 15.3

fTime 94 296.9 406 08.9 250 453 25 266 468.9

bTimeTime 2 5. 2 2 6 2 2 2 2

Table 6 Comarison of 11 ueries over 9 test sets in terms of their fTime and bTime (ms)

Page 16: Web service Planner (WsPr): An Effective and scalable Web service

16 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

0

0

100

10

200

20

300

30

400

1 2 3 4 6 7 8 10 11

Query #

Tim

e(m

s)20-4 20-16 20-32

0

0

100

10

200

20

300

30

400

40

00

1 2 3 4 6 7 8 10 11

Query #

Tim

e(m

s)

0-4 0-16 0-32

(a) Comarison of Time in Comosition1 (b) Comarison of Time in Comosition1

0

100

200

300

400

00

600

700

800

1 2 3 4 6 7 8 10 11

Query #

Tim

e(m

s)

100-4 100-16 100-32

0

200

400

600

800

1000

1200

1 2 3 4 6 7 8 10 11

Query #

Tim

e(m

s)

20-4 20-16 20-32

(c) Comarison of Time in Comosition1 (d) Comarison of Time in Comosition2

0

200

400

600

800

1000

1200

1400

1600

1800

1 2 3 4 6 7 8 10 11

Query #

Tim

e(m

s)

0-4 0-16 0-32

0

00

1000

100

2000

200

1 2 3 4 6 7 8 10 11

Query #

Tim

e(m

s)

100-4 100-16 100-32

(e) Comarison of Time in Comosition2 (f) Comarison of Time in Comosition2

Figure 6 Comarison of test sets in CB in terms of their Time

Page 17: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 17

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

pursued in both challenges are on differing expectations on the current status and future evolution of Web services. For that reason, we attempt to describe some improvements sought to guide the next challenges to take more fritfl directions. To this end, first, we took snapshots of the challenges in the perspective of parameter usage distributions. Second, we investigated the difficlt level of compositions by checking whether the queries can be solved by using fullmatching operator alone. astly, we discuss the evolution of syntactic to semantic matching approaches.

Parameter usae distributionWe can define the parameter sage tohe parameter usage toe parameter usage to

be the occurrence number of the parameter in the corresponding Web service repository and denote it by #(p, where ∀p∈. In order to help readers understand the new concept of #(p and #(p distribution, we illustrate the #(p distribution of existing public Webdistribution of existing public Web of existing public Web services as shown in Figure 7. o obtain this distribtion, we first downloaded , raw WSD files7. Those WSD files were originall distributed in different registries (indingpoint,(indingpoint,inding point, Salcentral, Web service list, WebserviceX.N XMethod but gathered by crawlers (Fan but gathered by crawlers (Fan but gathered by crawlers (Fan (Fan ambhampati, ).Sincea lotoffilesamong, ).Sincea lotoffilesamong).Sincea lotoffilesamong. Since a lot of files among them had been proved to be invalid judging from their conformity with WS (i.e., sntactic grammar error and missing field), we had to prne ot those invalid ones first. At thet the end, we had validWSDfiles left.Then,we validWSDfiles left.Then,wevalid WSD files left.Then,wefiles left.Then,weleft.hen,we hen, we converted semantically meaningless parameters into semantically meaningful parameters when they have evident semantic sources. or example, man operations of WSD files have terms like “result(s” or “return(s” in“result(s” or “return(s” inresult(s” or “return(s” in” or “return(s” in or “return(s” in“return(s” inreturn(s” in” in in their output parameters which do not provide any semantics required to understand what thethe results or returns are. In this case, we replaceor returns are. In this case, we replaceare. In this case, we replace. In this case, we replace the terms with their operation name or Web service name. Sometimes, an operation name is a sequence of concatenated words thereby being hard to conduct the replacement tasks. In that case, we did a proper token segmenta proper token segmentation and extract primal terms from the tokens and extract primal terms from the tokens

using the lexical analysis. For example, if an the lexical analysis. For example, if an operation name is “getuthornamefromaper”“getuthornamefromaper”getuthornamefromaper”” or “searchuthornamesbyaper,”weextracted“searchuthornamesbyaper,”weextractedsearchuthornamesbyaper,”weextracted,”weextracted we extracted “uthornames” and replaced “result(s” oruthornames” and replaced “result(s” or” and replaced “result(s” or and replaced “result(s” or“result(s” orresult(s” or” or or “returns(s” with the “uthornames.”returns(s” with the “uthornames.”” with the “uthornames.” with the “uthornames.”“uthornames.”uthornames.”.”

fter the preprocessing tasks above, we built a set, =all parameters found in the valid WSD files and then, we measred #(p for ∀p∈. hen, we draw the #(p distribution where xaxis represents #(p and yaxis represent the number of parameters with same #(p. he distribution has no humps. We also plotted a powerfunction, α(/kβ over the #(p distribution and obtained that the exponent,exponent,, βis .. Althogh . does not sffice the requirement to assert that the distribution follows the power law (enning, 2004, the(enning, 2004, theenning, 2004, the, the, the distribution is highly skewed enough to be seen as a ipf distribution. Indeed, the parameters such as “licensekey,”“start date,”“enddate”or“licensekey,”“start date,”“enddate”orlicense key,”“start date,”“enddate”or,”“start date,”“enddate”or “start date,”“enddate”or“start date,”“enddate”orstart date,”“enddate”or,”“enddate”or “enddate”or“enddate”orend date”or”or or “password” have large #(password” have large #(” have large #( have large #(p but most variables appear just once. his observation also implies the existence of hub parameters which appear in Web service frequently and serve important roles on the interconnections between Web services.

Similarly,wehavegeneratedtheparameter, we have generated the parameter usage distributions and plotted the powerfunction for the test sets used in 05 and IC05. s shown in Figure 8(a., the test., the test, the test set used in 05 has a highly skewed ipf distribution without any hump. Interestingly, exponent, β=1.3012 of 05 is as high as that of the existing public Web services. s a whole, 05 test set can be seen as existing public Web services in terms of #(p distribution shape. However, the size of the 05 is just 00 which is too small to represent the current state or future evolution of Web services.

Regarding ICEE test sets, in this article, we just show three distributions for 004, 006 and 0032 of Composition2 due to the lack of space. However, we can simply assert that the rest of the distributions show a similar shape as the three distributions.similar shape as the three distributions.as the three distributions. the three distributions.the three distributions.three distributions. s opposed to the 05, all IC05 test sets have β≤0.5 and four equal humps. For example, Figure 8(d shows four humps at

Page 18: Web service Planner (WsPr): An Effective and scalable Web service

18 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

around , 00, 200, and 800 with the highestwith the highest the highest at third hump. his shape of distribution differsdistribution differs differs considerably from 05 and existing public Web services. However, before we proceed to point out that the assumptions to build thoseassumptions to build those to build those test sets are conflicting with the state of existing public Web services, one thing should be noted. hat is, many researchers claim that most applications of Web services are likely to be in intracorporate scenarios rather than on thethe public Web. Under the intracorporate scenarios, it is questionable as to whether their #(questionable as to whether their #( as to whether their #(p still follow ipflike distributions. In fact, rather than a ipf distribution, it is likely to be either a bellshape or a uniformshape distributionbellshape or a uniformshape distributionellshape or a uniformshape distribution because in general, intracorporate Web services tend to be accessrestricted or welldesigned to avoid such an extreme hub parameters because of the load balancing and efficienc problems or the network survivability issues.survivability issues. issues.

However, even though we allow exceptions by acknowledging the existence of different Web service applications, #(p distributions with four hmps of ICEE still look too artificial.

Linearly seuential full-matcin seuential full-matcins mentioned before, WSC problem canproblem can can

be addressed in the linear planning approach in I community. he linear planning approach requires only N operator. In the WSC context, the N operator can be partitioned into “fullmatching” operation and “partial“fullmatching” operation and “partialfullmatching” operation and “partial” operation and “partial operation and “partial“partialpartialmatching” operation. Interestingly, 05” operation. Interestingly, 05 operation. Interestingly, 05 and IC05 can be solved by using “full“fullfullmatching” operation alone. hat is, all requests” operation alone. hat is, all requests operation alone. hat is, all requests can be satisfied b chaining Web services inchaining Web services in Web services in such a way that a predecessor Web service can fully match the successor Web service.successor Web service. Web service. Formally speaking, suppose that Sol denotes the answer to a request r provided, then ∃i ∈ol such that

i⊆ri and eitherand either ii⊆

oi − or ( i

i\ri⊆

outi − for ∀i=2,...,ol. For example, the

2nd request of 05 can be solved by a chain of Web services: findMostelevanttock → gettockriceMan → erformtockesearch → u r c h a s e O t i m a l t o c k s u c h t h a t f i n d M o s t e l e v a n t t o c k i ⊆ r i , gettockriceMani ⊆ findMostelevanttocko, e r f o r m t o c k e s e a r c h i ⊆gettockriceMano urchaseOtimaltocki

⊆ erformtockesearch o, and or ⊆ urchaseOtimaltocko. ikewise, the 4th request in Composition20032 of IC05 can be solved by a chain of Web servicess8: s34a1827462

y = 4.26x-1.026

0

00

1000

100

2000

200

3000

300

0 100 200 300#(p)

# of

par

amet

ers

Figure 7 arameter degree #(p distribution for existing eb services

Page 19: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 1

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

→ s3a216269 → s92a346444 → s6a432873 → s19a32284 → s9a7634 → s8a476217 such that s34a182746i ⊆ri, (s3a216269i\ri = p76a0550626p76a0550626⊆ s 3 4 a 1 8 2 7 4 6 2 o , ( s 9 2 a 3 4 6 4 4 4 i \ri = p5a682354p5a682354 ⊆ s3a216269o, (s6a432873 i\r i = p54a2653485p54a2653485 ⊆ s 9 2 a 3 4 6 4 4 4 o , ( s 1 9 a 3 2 2 8 4 i \ri = p30a6922384p30a6922384 ⊆ s6a432873o, (s9a7634 i\ri = p53a0652249p53a0652249 ⊆ s19a32284 o, (s8a476217 i\r i = p67a926643p67a926643 ⊆s9a7634o and finall, ro ⊆ s8a476217s8a476217o.

Note that other queries in 05 and that other queries in 05 and IC05 also take the same solution schemethe same solution schemesame solution schemescheme (i.e., linearly and sequential fullmatchingsequential fullmatching fullmatching as the examples described above. When an information gathering problem takes this specialspecial scheme, the problem can be solved quickly. In

particular, if every step of a composition process requires only one parameter, it can be seen ascan be seen as a simple single source shortestpath problem. For example, in the 4th request in Composition20032 of IC05, the problem can be solved b finding a shortestpath conversel from the goal parameter, ro = p94a3566970 top94a3566970 to to ri by gathering p67a926643, p53a0652249,p67a926643, p53a0652249,, p53a0652249,p53a0652249,, p 3 0 a 6 9 2 2 3 8 4 , p 5 4 a 2 6 5 3 4 8 5 ,p 3 0 a 6 9 2 2 3 8 4 , p 5 4 a 2 6 5 3 4 8 5 , , p 5 4 a 2 6 5 3 4 8 5 ,p 5 4 a 2 6 5 3 4 8 5 , , p5a682354 and p76a0550626, subsep5a682354 and p76a0550626, subse and p76a0550626, subsep76a0550626, subse, subse, subsequently..

semantic matcin matcin oth 05 and IC05 assumed only 05 and IC05 assumed onlyonly

syntactic (textbased matching among Web among Web servicesif two parameters have the same spellings, then they are matched. In general, however, such restriction is too rigid to be useful. For instance, two parameters with different

y = 72.4x-1.3012

0

0

100

10

200

20

0 10 20 30 4#(p)

# of

par

amet

ers

0

y = 17.21x-0.23

0

10

20

30

40

0

60

70

0 200 400 600 800#(p)

# of

par

amet

ers

(a) (b) 14 in Comosition2 of CB

y = 1.63x-0.4243

020

4060

80100

120140

0 00 1000#(p)

# of

par

amet

ers y = 66.883x-0.34

0

0

100

10

200

20

300

0 200 400 600 800 1000#(p)

# of

par

amet

ers

(c) 116 in comosition2 of CB (d) 132 in comosition2 of CB

Figure 8 arameter degree#(pdistribution for and CB

Page 20: Web service Planner (WsPr): An Effective and scalable Web service

20 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

spellings may have same semantic meaning,have same semantic meaning,same semantic meaning, and thus are interchangeable (e.g., “price” and “fee”. Conversely, two parameters with the same spelling may have different meanhave different mean different meaning too (e.g., “title” may mean either “book title” or “job title”. herefore, solely relying on the syntactic similarity of parameters for for determining if two Web services can be composed together is insfficient. or instance,is insfficient. or instance, insfficient. or instance, one request in IC05 had its compositionrequest in IC05 had its compositionin IC05 had its compositionits composition composition length as long as eight. It is questionable if itlong as eight. It is questionable if it as eight. It is questionable if itquestionable if it if itif it it is reasonable to compose eight Web services inreasonable to compose eight Web services in to compose eight Web services ineight Web services in Web services in chain with only syntactic matching approaches. lthough the preponderance of Web services is expected in future, syntactic matching is not likely to achieve such a long composition. nene of the recent works (ong et al., 2004 attemptsong et al., 2004 attemptsong et al., 2004 attemptsng et al., 2004 attempts attempts attemptsattempts to suggest plausible composition of serviceplausible composition of service composition of service operations in real public Web services usingusing “approximate” matching via IRstle keword search. Interestingly, they found out that there found out that thereout that therethat there are no compositions with more than two Web no compositions with more than two Webwith more than two Webmore than two Webtwo Web WebWeb services linked. heir results points out two. heir results points out twoheir results points out two results points out two lessons: First, we are still in the formative stageFirst, we are still in the formative stageirst, we are still in the formative stagein the formative stageformative stage as far as publicly available Web services are concerned, and second, it is not easy to discover, and second, it is not easy to discoverand second, it is not easy to discover correlations between Web services even while using the semantic description matching.

summary ased on the above analysis, we suggestased on the above analysis, we suggestabove analysis, we suggestanalysis, we suggest

three improvements as follows:

• It would be more realistic if test sets are constructed such that their parameterir parameter parameter usage distributions follow either ipf,either ipf,ipf, ellshape, or uniform distributions., or uniform distributions. or uniform distributions.or uniform distributions. uniform distributions. distributions.s. he ipf distribution is more appropriate ipf distribution is more appropriatemore appropriate to reflect pblic Web services with hbwith hubhub parameters, while bellshape or uniform, while bellshape or uniform bellshape or uniformbellshape or uniformellshape or uniform distribtion is more appropriate to reflect is more appropriate to reflectmore appropriate to reflectappropriate to reflect intracorporate style Web services.corporate style Web services. style Web services.style Web services.Web services.

• Itwouldbe intellectuallymore interesting would be intellectually more interesting if test queries require more complextest queries require more complex operators such as combination of fullcombination of full and partial matching operation. Such an. Such an Such anSuch an extension would make the WSC problem much harder yet more practical.

• y allowing semantic matching, test sets can mimic real semanticWebservicesbetsemantic Web servicesbetservices better. Not only the approximate syntacticalsyntactical matching but also the semantic reasoningthe semantic reasoningsemantic reasoning sing RD or OW can make test sets richer and more realistic. eveloping novel ways to measure the “semantic” distance between parameters and Web services would be an interesting research issue..

cONcLUsIONIn this article, we have considered the

Web services composition (WSC problem, and proposed the WSPR, an AI planning basedWSPR, an AI planning basedan I planning basedI planning baseding based based twostep algorithm that is effective with respect to the speed and the quality of solutions. We experimentally validated our claims using two publicly available test sets05 and05 and IC05. Finally,wesuggested three improveFinally, we suggested three improvements to test sets for WSC problem in future..

rEFErENcEsAhja, R., Magnanti, T. Orlin, . (99). Orlin, . (99). Orlin, . (99). (993.. Net-

ork flos., ew ersePrenticeall., ew ersePrenticeall.ersePrenticeall.Altintas, I., aeger, E., in, ., daescher, .

Menon, . (2004.(2004.. A Web ervice Com-position and Deployment Frameork for cientific Workflos. roceedings of theeedings of theof thethe 2nd I International Conference on Web Services (ICWS), San iego, C..

ernersee, T., endler, . assila, O. (200. he Semantic Web. he Semantic Web cientific American. ne. ne.

ertsekas, . (2000.(2000.. Dynamic programming and optimal control, 1(2. oston:thenaoston:thena:thena Scientific..

inding point. http://www.bindingpoint.comlum, . Furst, M. (997. Fast plan(997. Fast plan. Fast plan Fast planFast plan

ning through planning graph analysis. Artificial ntelligence,9, 28300.

onet, . Geffner, H. (200. lanning as (200. lanning as. lanning as heuristic search,, Artificial ntelligence, 129(2, 533., 533.533.

hler, P. Vidal, . M. ().. Adaptive Work-Work-ork-flo nactment=Web ervices Agentsnactment=Web ervices Agentsnactment=Web ervices Agents ervices Agentservices + AgentsAgentsgents. roceeding of the eeding of the of the the st I International Conference on Web Services (ICWS),

Page 21: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 21

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

as egas, N.ylander, . (994. he computational. he computational he computational

complexit of propositional STRIPS planning, Artificial ntelligence, 69(2, 65204.

Cantera, M. (2004. (2004.. T rofessional services forecast and trends for Web services. ISWWM06, Gartner Inc.

Carman, M., Serafini . Traverso, P. ().(2003.. Web service composition as planning roceedings of the 13eedings of the 13 of the 13 the 13 1313th nternational Conference on Automated lanning and cheduling (CA) rento, Italy.

Christophides, ., C. Houstis, C., alis, S. salapata, H. (999.(999.. Ontologdriven ntegration of cientific eositories roceedings of the 4th Workshop on Next Generation Information echnologies and Systems (NGIS, (NGIS, Habart Habaron, Israel.

Constantinescu, I., Faltings, . inder, W. (2004.(2004.. Large cale Testbed for Te Comatible ervice Comosition roceedings of the 4eedings of the 4th International Conference on utomated lanning and Scheduling (ICS, Whistler, ritish Columbia, Canada..

Denning, . Peter. (). etwork laws.. Network laws. Network laws.laws.aws. Communications of the ACM 47(, 520.

Dong, X., alev, A., Madhavan, ., emes, E. Zhang, . ().(2004.. imilarit earch for Web ervices. roceedings of the 30roceedings of the 30th ery arge ata ases (, oronto, ntario, Canada.

Doshi, P., Goodwin, R., Akkiraj, R. Verma, . (). Dnamic workflow composi. Dnamic workflow composi Dnamic workflow composiDnamic workflow composition: Using markov decision processes. nternational ournal of Web ervicesernational ournal of Web ervices of Web ervices esearch, 2(2, 7.

an, . ambhampati S. (). A snapshot(2005. snapshot. snapshot snapshot snapshot of public web services. GMOD ecord, 34(, 2432., 2432.

Ghandeharizadeh, S. et al., (2003.(2003.. roteus: A stem for Dnamicall Comosing and ntelligentl xecuting Web ervices roceeding of the eeding of the of the the st I International Conference on Web Services (ICWS,

as egas, N.Haslum, . Geffner, H. (2000.(2000.. Admis-

sible Heuristics for Otimal lanning. roceedings of the 5eedings of the 5of the 5the 5th International Conference on Artificial Intelligence lanning and Scheduling Systems (IS, reckenridge, C.IS, reckenridge, C., reckenridge, C., reckenridge, C.reckenridge, C..

autz, H. Selman, . (999.(999.. Unifing ATbased and Grahbased lanning roceedingsof the6eedings of the 6th International oint Conference on Artificial Intelligence (ICAI), Stockholm, Sweden.

wok, C. . Weld, . S. (996.. lanning to Gather nformationather nformationnformationnformation roceedings of the 3th ational Conference on Artificial Intelligence (I, ortland, regon.

Mcermott, . (996.(996.. A Heuristic stimator for Meansends Analsis in lanning. roceedings of the 3eedings of the 3rd International Conference on Artificial Intelligence lanning Systems (IS, dinburgh, Scotland.

ilsson, ils . (), Artificial ntelligence: A Ne nthesis. San Francisco: Morgan: Morgan Morgan aufmann.

h, S.C., ee, . and umara, S. (2005, comparative illustration of I planningbased Web services composition, ACM Gecom xchanges, 5(5, 0.

Oh, S.C., On, ., arson, E. . ee, D.C., On, ., arson, E. . ee, D., On, ., arson, E. . ee, D. (2005.. BF*: Web ervices Discover and Comosition as Grah earch rob-lem roceedings of the 7eedings of the 7of the 7the 7th International I Conference on eechnology, eConference on eechnology, eCommerce and eService (, Hong, Hong ong, China.

Ponnekanti, S. R. ox, A. ().(2002.. WOD: A developer toolkit for Web service com-position. roceedings of the eedings of the th World Wide Web (WWS, Honolulu, HI. Honolulu, HI.

Rao, . S, X. ().(2004.. A urve of Automated Web ervice Comosition Methods roceedingsof theeedings of the st International Workshop on Semantic Web Services and Web rocess Composition (SWSWC, San (SWSWC, San(SWSWC, SanSWSWC, San, San iego, C.

Rssell, S. . orvig, P. (). (2002.. Artificial intelligence: A modern approach, 2nd edn,

Page 22: Web service Planner (WsPr): An Effective and scalable Web service

22 International Journal of Web Services Research, 4(1), 1-23, January-March 2007

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

ew erse Prenticeall.erse Prenticeall.Salcentral. http://www.salcentral.com..Shegalov, G., Gillmann M. Weikum G.

().XMenabledworkflowmanage.XMenabledworkflowmanage XMenabledworkflowmanageXMenabled workflow management for eservices across heterogeneous platforms. The VLDB ournal, 1(,, 90.

Sivashanmugam, ., erma, ., Sheth, . Miller, . ().(2003.. Adding emantics to Web ervices tandards roceeding ofeeding of of the st I International Conference on Web Services (ICWS), as egas, N.

uomas S. (999.(999.. An Algorithm for Otimal Winner Determination in Combina-torial Auctions roceedings of theeedings of the 6th International oint Conference on Artificial Intelligence (ICAI).. Stockholm, Sweden.

ossen, ., all, M., otem, . Nau, . (999.. On the use of integer rogram-ming models in A lanning roceedeeding of the 6th National Conference on Artificial Intelligence (AAAI), Orlando,I, rlando,, rlando, F.

Web service list.http://www.Webservicelist.com

WebserviceX.N http://www.webserviex.com

Weld, D. S. (999).Recent advances inAIplan(999).Recentadvances inAIplan.Recent advances inAIplan Recent advances inAIplanRecent advances in AI planning. A Magaine, 2(2, 9323., 9323..

xMethod http://www.xmethod.comZhang, . Zhang, .. (). Web services Zhang, .. (). Web services Zhang, .. (). Web services. Web services Web services

quality testing, nternational ournal ofernational ournal ofl ournal ofournal of of

Web ervices esearch, 2(2), 4.

ENDNOtEs Suppose that the amount of material must

flow from a sorce node to a sink node. The minimm cost flow problem is to find paths with the minimm total flow cost.

2 etet iv be the shortest distance from node i to the root node n. hese quantities are known as labels. Algorithms which findlabels. Algorithms which find. Algorithms which find labels through a sequence of iterations through a sequence of iterations are called label-correcting algorithms.

3 We do not advocate the four facets forfour facets forfacets for WSC classification – we merel se them to simplify the comparison of our approaches against existing ones from literatures.

4 he problem is considered anomaloushe problem is considered anomalousproblem is considered anomalous is considered anomalous because the noninterleaved planners cannot solve it..

The UR of EEE Web service contestThe UR of EEE Web service contest is http://www.comp.hkbu.edu.hk/~eee05/contest/

The UR of ICEE Web serviceThe UR of ICEE Web service contest http://www.comp.hkbu.edu.http://www.comp.hkbu.edu.hk/~ctr/wschallenge//

7 he data is available at http://rakaposhi.he data is available at http://rakaposhi.he data is available at http://rakaposhi.e data is available at http://rakaposhi.eas.asu.edu/ublicWebServices.zip

8 In the original data set, s34a1827462 is called servicep34a1827462 (and others as well. We shortened them here for a simpler presentation.

Page 23: Web service Planner (WsPr): An Effective and scalable Web service

International Journal of Web Services Research, 4(1), 1-23, January-March 2007 23

Copyright © 2007, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited.

eogChan Oh has been a hD student in the ndustrial and Manufacturing ngineering deartment since 22 He earned his B and M from Dongguk Universit (1993 and 1996 resectivel) Before he began his hD studies he orked as an T consultant for seven ears at Daeoo nformation stems His research interests include Web service comosition and otimiation A MA and Web intelligence He has the certification of rofessional ngineer at nformation Management issued b the Korean government

Dongon Lee has been an assistant rofessor in the College of nformation ciences and Tech-nolog at ennslvania tate Universit since 22 He earned a B from Korea Universit (1993) an M from Columbia Universit (199) and a hD from UCLA (22) all in comuter science His research interests include database XML and Web analsis and eb services and semantic eb He has (co)authored about 4 scholarl articles in conferences or journals

oundar T Kumara is distinguished rofessor of ndustrial and Manufacturing ngineering department is research interests are in intelligent systems ith an emphasis on sensor-based euiment monitoring and diagnosis softare agents and comlexit in sul chain He has more than 1 ublications He has on several aards and is an elected member of the nter-national Academ of roduction esearch