6
A Heuristic-based Runtime Ranking for Service Composition Frederico G. A. de Oliveira Jr. and Jos´ e M. Parente de Oliveira Technological Institute of Aeronautics (ITA), Brazil fred, parente{@ita.br} Abstract Web services are becoming de facto a standard for data exchanging, since they provide a clear way to express and access information throughout the Internet. Sometimes, one service alone is not able to perform a certain task, and it might be necessary to compose two or more services in or- der to accomplish that task. In this context, semantic web services play an essential role, since they provide a frame- work to formally describe services in a way that it is pos- sible to machines to automatically discovery, compose, in- voke, and monitor them. On the other hand, only function- ality is not enough to fulfill users’ satisfaction, in the sense that service providers should guarantee the quality deliv- ered by their services. In this paper, we present a heuristic- based approach for automatic semantic web services com- position. Besides considering the functional correctness, the proposed heuristics also takes into account the over- all quality of the composite service during the composition process. 1. Introduction A web service can be defined as a piece of software that conforms to a set of open interoperability standards [13] such as WSDL (Web Service Description Language), SOAP (Simple Object Access Protocol), and UDDI (Universal De- scription, Discover and Integration), for description, mes- saging protocol and discovering, respectively. In service-oriented architectures, applications can be ac- complished by composing simple services in order to per- form a given task. There are several approaches for au- tomating services composition such as BPEL [9]. However, most of those approaches give just a syntactic description of the offered service allowing only predefined (or static) ser- vice composition. In summary, syntactic services requires human involvement. On the other hand, Semantic Web Services (SWS) aim at automating the discovery, composition, invoking and moni- toring of Web Services [2] by providing an ontology-based description. The main advantage of semantic web services against syntactic ones is the possibility to associate a param- eter to a concept rather than just to a data type. For instance, while a syntactic service can only define a parameter isbn of the type String, a semantic service allows the association of this parameter with a ISBN (International Standard Book Numbers) semantic model (e. g. ontology or taxonomy) so that this parameter is able to expect values related to other concepts, which has some semantic relationship with ISBN concepts. As a result, services are described in a way that machines - and not only humans - are able to understand them [4]. Given that, automatic service composition consists of dynamically discovering and combining existing services in a registry, given a set of input and output concepts. The matching process i. e. the comparison between advertised and required concepts, should take into account some crite- ria to determine if two concepts can be considered the same [11]. Sometimes, however, the matching of services’ function- alities is not enough to fulfill users’ requirements. In such cases, services should guarantee a minimum level of quality delivered to their consumers, which is often expressed by means of non-functional attributes, for example Response Time, Availability, Cost, etc. [1]. In this context, this work proposes an approach for run- time service composition based on composition ranking. The algorithm used to perform service composition ranks candidate compositions considering either the functional and non-functional aspects of the constituent services of those compositions. Furthermore, unlike other approaches, our algorithm considers also parallel composition, which can improve considerably the overall quality of the com- posite service. The remainder of this paper is organized as follows: Sec- tion 2 compares our work with other similar relevant works; Section 3 presents some models for Quality of Service; Sec- tion 4 provides a formal description of the Semantic Web Service Composition problem; Section 5 presents our ap- proach for that problem; Section 6 provides an experiment used to exemplify the proposed approach; and Section 7 Copyright © 2009 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved.

[IEEE 2009 4th International Conference for Internet Technology and Secured Transactions (ICITST 2009) - London (2009.11.9-2009.11.12)] 2009 International Conference for Internet Technology

  • Upload
    jmp

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: [IEEE 2009 4th International Conference for Internet Technology and Secured Transactions (ICITST 2009) - London (2009.11.9-2009.11.12)] 2009 International Conference for Internet Technology

A Heuristic-based Runtime Ranking for Service Composition

Frederico G. A. de Oliveira Jr. and Jose M. Parente de OliveiraTechnological Institute of Aeronautics (ITA), Brazil

fred, parente{@ita.br}

Abstract

Web services are becoming de facto a standard for dataexchanging, since they provide a clear way to express andaccess information throughout the Internet. Sometimes, oneservice alone is not able to perform a certain task, and itmight be necessary to compose two or more services in or-der to accomplish that task. In this context, semantic webservices play an essential role, since they provide a frame-work to formally describe services in a way that it is pos-sible to machines to automatically discovery, compose, in-voke, and monitor them. On the other hand, only function-ality is not enough to fulfill users’ satisfaction, in the sensethat service providers should guarantee the quality deliv-ered by their services. In this paper, we present a heuristic-based approach for automatic semantic web services com-position. Besides considering the functional correctness,the proposed heuristics also takes into account the over-all quality of the composite service during the compositionprocess.

1. Introduction

A web service can be defined as a piece of software that

conforms to a set of open interoperability standards [13]

such as WSDL (Web Service Description Language), SOAP

(Simple Object Access Protocol), and UDDI (Universal De-

scription, Discover and Integration), for description, mes-

saging protocol and discovering, respectively.

In service-oriented architectures, applications can be ac-

complished by composing simple services in order to per-

form a given task. There are several approaches for au-

tomating services composition such as BPEL [9]. However,

most of those approaches give just a syntactic description of

the offered service allowing only predefined (or static) ser-

vice composition. In summary, syntactic services requires

human involvement.

On the other hand, Semantic Web Services (SWS) aim at

automating the discovery, composition, invoking and moni-

toring of Web Services [2] by providing an ontology-based

description. The main advantage of semantic web services

against syntactic ones is the possibility to associate a param-

eter to a concept rather than just to a data type. For instance,

while a syntactic service can only define a parameter isbnof the type String, a semantic service allows the association

of this parameter with a ISBN (International Standard Book

Numbers) semantic model (e. g. ontology or taxonomy) so

that this parameter is able to expect values related to other

concepts, which has some semantic relationship with ISBN

concepts. As a result, services are described in a way that

machines - and not only humans - are able to understand

them [4].

Given that, automatic service composition consists of

dynamically discovering and combining existing services

in a registry, given a set of input and output concepts. The

matching process i. e. the comparison between advertised

and required concepts, should take into account some crite-

ria to determine if two concepts can be considered the same

[11].

Sometimes, however, the matching of services’ function-

alities is not enough to fulfill users’ requirements. In such

cases, services should guarantee a minimum level of quality

delivered to their consumers, which is often expressed by

means of non-functional attributes, for example Response

Time, Availability, Cost, etc. [1].

In this context, this work proposes an approach for run-

time service composition based on composition ranking.

The algorithm used to perform service composition ranks

candidate compositions considering either the functional

and non-functional aspects of the constituent services of

those compositions. Furthermore, unlike other approaches,

our algorithm considers also parallel composition, which

can improve considerably the overall quality of the com-

posite service.

The remainder of this paper is organized as follows: Sec-

tion 2 compares our work with other similar relevant works;

Section 3 presents some models for Quality of Service; Sec-

tion 4 provides a formal description of the Semantic Web

Service Composition problem; Section 5 presents our ap-

proach for that problem; Section 6 provides an experiment

used to exemplify the proposed approach; and Section 7

Copyright © 2009 by the Institute of Electrical and Electronics Engineers, Inc. All rights reserved.

Page 2: [IEEE 2009 4th International Conference for Internet Technology and Secured Transactions (ICITST 2009) - London (2009.11.9-2009.11.12)] 2009 International Conference for Internet Technology

gives the final remarks and future works.

2. Related Work

In this section, we discuss a selected set of recent rele-

vant works related to our proposal.

In [5], Chafle et. al. have proposed an approach for adap-

tation of service composition that considers QoS properties.

The adaptation is performed by a monitoring system that

triggers adaptation procedures in different stages (runtime,

physical, and logical). It was not clear how the overhead

of that spread of information on every environment change

impacts the proposal feasibility. In addition, their focus is

on the adaptation rather than the dynamic composition.

Claro et. Al [6] proposed a framework for semantic web

service composition that relies on GPA (Goal-oriented Plan-

ning Algorithm), and allows re-planning of compositions.

In addition, the composition is based upon user profiles,

which besides grouping personal information (name, con-

tact, etc.), non-functional informations (Cost, Turnover, Ex-

ecution Time and Reputation) are considered. The profile is

saved as a predicate along with a user rate on the service.

Contrary to our approach, the framework provides all pos-

sible plans of compositions before ranking them. This can

become infeasible for large service repositories.

Oh et al. [8] have proposed an algorithm for seman-

tic and syntactic service composition. Similarly to our ap-

proach, their algorithm takes into account the overall cost of

invoking a service in order to improve the quality of compo-

sitions. However, unlike our approach, their algorithm does

not consider parallel execution in order to improve execu-

tion performance.

In [14], three different approaches for service compo-

sition were proposed. An uninformed approach, which

is based on a Depth-First Search, an informed approach,

which is based on a heuristics that guides the composi-

tion process, and a generic approach, which is based on

evolutionary algorithms. Experiments have shown that the

heuristic-based approach outperformed the others. In fact,

our approach was developed based on that informed ap-

proach. However, we add to that algorithm QoS properties.

Yan et al. [15] have proposed an approach for automated

semantic service composition based on And/Or Graph. Al-

though experiments have shown that the proposed algorithm

performs well, specially in cases of parallel composition of

web services, quality issues are not discussed.

3. Quality of Service Models

Quality of Service (QoS) is the quality delivered by one

service, expressed by means of non-functional characteris-

tics with quantifiable parameters [1, 10]. Examples of those

parameters are described as follows:

• Duration (qdu(s)): of a service s measures the ex-

pected delay between the moment when a request is

sent and the moment when the result are received;

• Reputation (qrep(s)): of a service s is a measure of

its trustworthiness. It is given by end users’ opinions

on the service;

• Availability (qav(s)): of a service s is the probability

that it is accessible and

• Price (qpr(s)): of a service s is the fee that its re-

questers have to pay for invoking it.

In order to provide the QoS models of a composite ser-

vice S = {s1, s2, . . . , sn}, i.e. a service composed of sev-

eral services, Zeng et al. [17] defined a set of aggregation

functions, which are presented as follows.

The Equation 1 defines the overall price of a composite

service by summing all elementary service’s price.

qpr(S) =n∑

i=1

qpr(si) (1)

Since a composition can be both sequential or parallel,

the overall duration is computed by applying the Critical

Path Algorithm [12] in order to always capture the execu-

tion duration of the most time-consuming path in a parallel

composition, as expressed in Equation 2.

qdu(S) = CPA(S, qdu) (2)

The overall reputation is the avarage of the reputation of

all constituent services of the composition, as expressed in

Equation 3.

qrep(S) =1n

N∑i=1

qrep(si) (3)

The overall availability is defined as the probability of all

events happen together. So, it is computed by the product

of all probabilities, as defined in Equation 4.

qav(S) =n∏

i=1

(qav(si))zi

(4)

where zi is 0 if service si is part of a critical path and 1otherwise. It means that if a service si is not available, the

execution engine have some time (since si is not in a critical

path) to replace si for another service.

4. Semantic Web Service Composition

Semantic Web Service Composition consists in compose

two or more well-described services in order to accomplish

a given request. By well-defined, we mean to provide a

Page 3: [IEEE 2009 4th International Conference for Internet Technology and Secured Transactions (ICITST 2009) - London (2009.11.9-2009.11.12)] 2009 International Conference for Internet Technology

formalization which allows services to enrich its parameters

description with semantic annotations.

We extend the definition provided in [14] by adding

Quality of Service (QoS) parameters in order to formally

define the problem of Semantic Web Service Composition.

Thus, the main concepts involved in this kind of problem

are defined as follows:

• Q: Quality VectorVector of quality criteria Q = (q1, q2, . . . , qk), where

qi is a quality criterion.

• O: Semantic Concepts (Ontology)Concepts are related to each other following a certain

semantic structure.

• R: Composition RequestConsists of a set of available input concepts R.in ⊆O, a set of available output concepts R.out ⊆ O,

and a tuple of required quality values R.qos = (<q1, v1, w1 >, < q2, v2, w2 >, . . . , < qn, vk, wk >),where qi is a criterion, vi is the required value for cri-

terion qi, and wi is the weight the user assign to this

criterion.

• S: set of available services, i. e. the service reposi-toryEach service s ∈ S has a set of required input concepts

s.in ⊆ O, a set of output concepts s.out ⊆ O, and a

quality vector S.qos = (qv1, qv2, . . . , qvk), where qvi

is the quality value corresponding to criterion qi.

• S: Composite ServiceTopological sorted set of n services {s1, s2, . . . , sn} :s1, s2, . . . , sn ∈ S.

The relationship between concepts of O are determined

according to subsumption reasoning [3, 11]. So, given a

required concept (outR) and a advertised concept (outA),

the relationship between them can be labeled as follows:

• Exact: If outA and outR are exactly the same con-

cepts;

• Plug-in: If outR is subsumed by outA i. e. outR is

a subconcept of outA;

• Subsumes: If outR subsumes outA i. e. outR is a

superconcept of outA;

• Fail: Failure occurs when there is no subsumption

relation between request and advertisement.

A service is selected to take part of certain composition

if at least one of its output concepts is subsumed (or equal)

to a required concept (request output or a required input of

another service in the composition).

Therefore, a valid composition S is the one that has no

missing concepts among its services’ required inputs and

request’s required output. In addition, when dealing with

Quality of Service characteristics, a valid composition also

must meet the required QoS constraints.

5. An Approach for Semantic Web ServiceComposition

Besides dealing with the functional composition’s cor-

rectness, this approach also takes into account the non-

functional aspects of services. These aspects have straight

impact on end user’s satisfaction related to the composition

to be consumed.

In this section, we explain our algorithm (Algorithm 1)

for service composition, which is an extension of the heuris-

tic approach proposed in [14], but considering QoS con-

straints in the composition process. Thus, the proposed ap-

proach relies on a heuristics that guides the composition al-

gorithm to find out a candidate composition which is the

most prospective solution. This heuristics is derived as a

comparator function, which is defined as follows:

Heuristic 5.1. Prioritize the compositions by the following

order:

1. Pick up the composition that has less unknown re-

quired concepts.

2. If two candidate composition have the same number of

unknown required concepts, pick up the composition

with the highest overall quality score, which can be

obtained by following the Simple Additive Weighting

(SAW) [16] technique. This technique consists of two

phases:

Scaling: First, it is necessary to put all criteria in the

same scale. Equation 5 defines the scaling for posi-

tive criteria i.e. when the higher the value the higher

the quality. Similarly, Equation 6 defines the scaling

for negative criteria i.e. when the higher the value the

lower the quality.

sc(S, q) =

{ov(S,q)−qm(q)qM (q)−qm(q) if qM (q)− qm(q) �= 0

1 otherwise

(5)

sc(S, q) =

{qM (q)−ov(S,q)qM (q)−qm(q) if qM (q)− qm(q) �= 0

1 otherwise

(6)

where qM = Max{ov(S, q) : S ∈ X} and qm =Min{ov(S, q) : S ∈ X}, X is the list of candidate

Page 4: [IEEE 2009 4th International Conference for Internet Technology and Secured Transactions (ICITST 2009) - London (2009.11.9-2009.11.12)] 2009 International Conference for Internet Technology

compositions, and ov(S, q) is the quality calculation

for the composite service S and criterion q, which is

provided by Equations 1, 2, 3, and 4.

Weighting: This phase computes the overall score

taking into account all the involved criteria and the

weight assigned to each one of them.

score(S) =∑

∀(q,v,w)∈R.qos

sc(S, q) ∗ w (7)

3. If two or more candidate compositions have the same

overall degree of match, pick up the composition that

has less services.

4. If two of more candidate compositions have the same

size, pick up the one that provides more concepts.

In order to execute the algorithm, it is necessary to pro-

vide user requirements for the composition. The algorithm

starts a search for services that provides the required con-

cepts (R.out), restraining those that do not meet partially

the QoS constraints (line 5). In fact, this checking should

be only about absolute values, for instance Duration and

Price and Availability. Criterion such as Reputation, how-

ever, can not be checked, since it is based on the average

of all services’ reputation and the algorithm does not know

how many services each candidate composition will have

neither their criteria values.

The algorithm runs until a candidate composition be-

comes a valid composition (line 13) or there is any candi-

date compositions left (line 22). A candidate composition

is chosen among others according to the Heuristics 5.1. In

order to determine if a candidate composition is a valid one,

the algorithm checks if there is any required concepts (line

13) to be discovered, and if the composition meet the QoS

constraints (line 13), by comparing required values with

values obtained from the aggregation functions described

in Equations 1, 2, 3 and 4. Otherwise, the the algorithm

searches for the concepts needed to complete the composi-

tion (lines 15-20).

The main contribution given by this algorithm is to pro-

vide semantic web service composition that besides tak-

ing into account the functional correctness, also considers

quality aspects provided by means of non-functional val-

ues, which impact directly on end users’ satisfaction. The

proposed heuristics helps to rank the most likely service to

satisfy the constraints imposed by the users.

It is worth mentioning that the algorithms have been im-

plemented, and different input scenarios have been experi-

mented.

Input : R - the user request

Output: S the solution composition found, or ∅Data : candidates - the set of candidate compositions

begin1

foreach outR ∈ R.out do2

foreach s ∈ findServices(outR) do3

S ←− {s}4

if meetCandidateQoS(R,S) then5

candidates.append(S)6

end7

end8

end9

while candidates �= 0 do10

S ←− candidates.removeBest(heuristics)11

if required(R,S) = ∅ ∧meetQoS(R,S)12

thenreturn S13

end14

foreach outR ∈ required(R,S) do15

foreach s ∈ findServices(outR) do16

newCandidate←− S ∪ {s}if meetCandidateQoS(R,newCandidate)17

thencandidates.append(newCandidate)18

end19

end20

end21

return ∅22

end23

Algorithm 1: Composition Algorithm

6. Scenario

In this section, we provide an example scenario in order

to show the practical usage of the proposed approach.

Let us suppose an ontology O = {c1, c2, c3, . . . , c20},where c12 is subclass of c17 and c3 is subclass of c10 and

c8. A quality vector Q = {qdu, qpr, qav, qrep} for dura-

tion, price, availability and reputation. A user request R,

where R.in = {c11, c5}, R.out = {c10} and R.qos =(< qdu, 150, 0.3 >, < qpr, 0.80, 0.3 >, < qav, 0.2, 0.2 >, < qrep, 0.72, 0.2 >). And a service repository S, which is

shown in Table 6.

Setup: The algorithm starts to find out the services that

produces as output concept c10 or any other concept that

are related to it (via subsumption reasoning). Then, it forms

two candidates compositions S1 = {s11} and S2 = {s3},since both of them provide the concept c10 and satisfy the

imposed constraints. In fact, service s3 provides concept c3

which is subsumed by c10.

Page 5: [IEEE 2009 4th International Conference for Internet Technology and Secured Transactions (ICITST 2009) - London (2009.11.9-2009.11.12)] 2009 International Conference for Internet Technology

Table 1. Service repository(S)S s.in s.out qdu qpr qav qrep

s1 c10 c5 30 0.15 0.8 0.8

s2 c11, c5 c12 29 0.2 0.7 0.7

s3 c2, c7 c3 24 0.1 0.8 0.9

s4 c13 c6 22 0.12 0.6 0.5

s5 c12 c20, c15 40 0.25 0.6 0.4

s6 c17 c13 35 0.1 0.9 0.9

s7 c20 c14 30 0.05 0.9 0.8

s8 c6 c2, c7 25 0.15 0.8 0.8

s9 c12 c9 32 0.18 0.9 0.7

s10 c15 c18 27 0.15 0.8 0.9

s11 c14, c18 c10 20 0.1 0.8 0.9

Iteration 1: The next step is to apply the proposed heuris-

tics in order to choose the best candidate composition. At

that moment, both of candidates need two concepts, have

overall score 1 and have the same size. So, composition

S1 will be chosen since it provides more concepts than S2.

The algorithm will expand the candidate S1 by adding its

required concepts and forming two new candidates: S3 ={s7, s11} and S4 = {s10, s11}.

Iteration 2: Now, all candidates need two concepts to be

completed, but candidate S2 has score 1 against 0.32 from

S3 and 0.23 from S4. The candidate S2 will then be ex-

panded and another composition S5 = {s8, s3} will be cre-

ated.

Iteration 3: Again, all the candidates need two concepts

to be completed, but candidate S3 has score 0.74 against 0from S5 and 0.71 from S4. So, candidate S3 is expanded

and two new candidates are created: S6 = {s10, s7, s11}and S7 = {s5, s7, s11}.

Iteration 4: All candidates need two concepts to be com-

pleted, but S4 have the greatest score (0.88), against 0.84

from S6, 0 from S7 and 0.67 from S5. Candidate S4

is exapanded and one more candidate is created: S8 ={s5, s10, s11}.

Iteration 5: Candidate S6 should be chosen to be ex-

panded, since all candidates need two concepts to be com-

pleted, but S6 has score 0.95, whereas S7,S8,S5 have score

0.25, 0.06 and 0.87, respectively. Then, S6 is expanded and

a new candidate is created: S9 = {s5, s10, s7, s11}.

Iteration 6: Candidate S9 should be chosen to be ex-

panded, because it requires only one concept to be com-

pleted. Thus, candidate S10 = {s2, s5, s10, s7, s11} is cre-

ated and returned as a valid composition (Figure 1), since

it does does not need any concept to be executed and meet

the QoS constraints imposed in request R, since it has over-

all duration qdu = 119, overall price qpr = 0.50, overall

availability qav = 0.5 and overall reputation qrep = 0.82.

Another valid solution for request R could be found by

deriving composition S5 (Figure 2).

Figure 1. Primary Composition

Figure 2. Secondary Composition

It is important to notice that the heuristics may lead to

a solution that is not optimal, because the functional cor-

rectness is prioritized. For instance, if service s5 required

only one concept to execute, the algorithm would lead first

to the solution of Figure 2, which is not the optimal one.

Eventhough, the algorithm is able to approximate to an op-

timal solution by considering the the QoS criteria when two

candidates are functionally similar.

7. Conclusions

In this work, we have presented an approach for auto-

matic semantic web service composition based on runtime

ranking of composite services. The ranking of composi-

tions relies on a heuristics that considers either the func-

tional correctness, and the overall quality of the composite

service. An example of application was presented in order

to show the practical usage of the proposed approach. As

main contributions, this work provides an algorithm for se-

mantic web service composition, which takes into account

semantic annotations and QoS properties to guide the com-

position process.

As future works, the service description should be ex-

tended to incorporate preconditions and effects rather than

just inputs and outputs. Another important thing is to exper-

iment the proposed approach in large scale service reposito-

ries. In addition, we plan to investigate and make use of op-

timization techniques, such as Dynamic Programming [7],

in order to efficientlly provide optimal solutions (consider-

ing QoS).

Page 6: [IEEE 2009 4th International Conference for Internet Technology and Secured Transactions (ICITST 2009) - London (2009.11.9-2009.11.12)] 2009 International Conference for Internet Technology

8. Acknowledgement

Our thaks to CAPES and FAPESP for funding this work.

9. References

[1] Uml profile for modeling qos and ft characteristics and

mechanisms v1.1. Technical report, Object Manage-

ment Group, April 2008.

[2] Grigoris Antoniou and Frank vanHarmelen. A Seman-tic Web Primer. MIT Press, Cambridge, MA, USA,

2004.

[3] Franz Baader, Diego Calvanese, Deborah L. McGuin-

ness, Daniele Nardi, and Peter F. Patel-Schneider, ed-

itors. The Description Logic Handbook: Theory, Im-plementation, and Applications. Cambridge Univer-

sity Press, 2003.

[4] Tim Berners-Lee, James Hendler, and Ora Lassila.

The semantic web (berners-lee et. al 2001). May 2001.

[5] Girish Chafle, Koustuv Dasgupta, Arun Kumar, Sumit

Mittal, and Biplav Srivastava. Adaptation in web ser-

vice composition and execution. In Web Services,2006. ICWS ’06. International Conference on, pages

549–557, 2006.

[6] Daniela Barreiro Claro, Oriana Licchelli, and Patrick

Albers. Personalized reliable web service composi-

tions. In WONTO ’08: In Proceedings of 3rd Work-shop on Ontologies and their Applications held in con-junction with 19th Brazilian Symposium on ArtificialIntelligence (SBIA2008), Salvador-Bahia, Brazil, Oc-

tober 2008.

[7] Thomas H. Cormen, Charles E. Leiserson, and

Ronald L. Rivest. Introduction to algorithms. MIT

Press and McGraw-Hill, 1990.

[8] Seog-Chan Oh, Jung-Woon Yoo, Hyunyoung Kil,

Dongwon Lee, and Soundar R. T. Kumara. Semantic

web-service discovery and composition using flexible

parameter matching. E-Commerce Technology, IEEEInternational Conference on, and Enterprise Comput-ing, E-Commerce, and E-Services, IEEE InternationalConference on, 0:533–542, 2007.

[9] Organization for the Advancement of Structured In-

formation Standards (OASIS). Web Services BusinessProcess Execution Language (WS-BPEL) Version 2.0,

April 2007.

[10] Justin O’Sullivan, David Edmond, and Arthur Ter

Hofstede. What’s in a service? Distrib. ParallelDatabases, 12(2-3):117–133, 2002.

[11] Massimo Paolucci, Takahiro Kawamura, Terry R.

Payne, and Katia P. Sycara. Semantic matching of web

services capabilities. In ISWC ’02: Proceedings of theFirst International Semantic Web Conference on TheSemantic Web, pages 333–347, London, UK, 2002.

Springer-Verlag.

[12] M. Pinedo. Scheduling: Theory, Algorithms and Sys-tems. Prentice Hall, second edition, 2001.

[13] Eric Pulier and Hugh Taylor. Understanding Enter-prise SOA. Manning Publications Co., Greenwich, CT,

USA, 2005.

[14] Thomas Weise, Steffen Bleul, Diana Comes, and Kurt

Geihs. Different approaches to semantic web service

composition. In ICIW ’08: Proceedings of the 2008Third International Conference on Internet and WebApplications and Services, pages 90–96, Washington,

DC, USA, 2008. IEEE Computer Society.

[15] Yixin Yan, Bin Xu, and Zhifeng Gu. Automatic ser-

vice composition using and/or graph. E-CommerceTechnology and Enterprise Computing, E-Commerceand E-Services, IEEE Conference and Fifth IEEEConference, 0:335–338, 2008.

[16] Paul K. Yoon, Ching-Lai Hwang, and Kwangsun

Yoon. Multiple Attribute Decision Making: An Intro-duction (Quantitative Applications in the Social Sci-ences). Sage Pubn Inc, March 1995.

[17] Liangzhao Zeng, Boualem Benatallah, Anne H.H.

Ngu, Marlon Dumas, Jayant Kalagnanam, and Henry

Chang. Qos-aware middleware for web services com-

position. IEEE Transactions on Software Engineering,

30(5):311–327, 2004.