two-stage approachforreliable dynamicweb...

21
Knowledge-Based Systems 97 (2016) 123–143 Contents lists available at ScienceDirect Knowledge-Based Systems journal homepage: www.elsevier.com/locate/knosys Two-stage approach for reliable dynamic Web service composition Zhi-Zhong Liu a,b,, Dian-Hui Chu b , Zong-Pu Jia a , Ji-Quan Shen a , Lei Wang a a College of Computer Sciences and Technology, Henan Polytechnic University, Jiaozuo 454000, China b College of Computer Science and Technology, Harbin Institute of Technology, Harbin 150006, China article info Article history: Received 30 November 2014 Revised 7 January 2016 Accepted 9 January 2016 Available online 16 January 2016 Keywords: Web service Web service composition Quality of service QoS prediction abstract Web service composition is a key technology for creating value-added services by integrating available services. With the rapid development of Service Computing, Cloud Computing, Big Data, and the Internet of Things, mass services with the same functionalities and different quality of service (QoS) values are available on the Internet. Moreover, due to the uncertainties of services’ application environment, a ser- vice’s QoS is highly dynamic; these two factors cause reliable dynamic Web service composition to be a challenge. To address this issue, this paper proposes a two-stage approach for reliable dynamic Web ser- vice composition. In the first stage, the top K Web service composition schemes based on each service’s historical QoS values are selected with the proposed algorithm named Culture Genetic Algorithm (CGA). Then, component services in the top K schemes are filtered out and employed as the candidate services for dynamic service composition. This operation can greatly reduce the number of available services and filter out better candidate services for dynamic service composition. Next, the global QoS constraints are decomposed into local QoS constraints with the CGA algorithm, and the global optimal problem of ser- vice composition is transformed into a local optimal service selection problem; this conversion increases the flexibility of dynamic service composition and provides a chance to predict QoS values of services before service selection. In the second stage, before selecting the best service for each task during the running of the service composition workflow, QoS values of each candidate service are predicted based on the improved case-based reasoning, and the best service is selected according to the predicted QoS values. Through QoS prediction, the reliability of the composite Web service can be greatly enhanced. Finally, experimental results show that the proposed method is feasible and effective. © 2016 Elsevier B.V. All rights reserved. 1. Introduction Web service is a type of distributed computing model that is self-contained, modular, loosely coupled, standards-based, and high capacity. Web services can provide a type of distributed in- formation sharing computing technology that can be used on the Internet or an intranet with standard XML protocols and mes- sage formats to eliminate the discrepancies of different applica- tion systems [1–3]. Industry standards such as WSDL, UDDI, and WS-BPEL have been provided for describing, locating, and combin- ing Web services. The service-oriented computing paradigm and its realization through standardized Web service technologies pro- vide an encouraging solution for the seamless integration of busi- ness applications. Currently, composite Web services (CWSs) [4–6] have been used in many areas, such as virtual enterprise, supply Fully documented templates are available in the elsarticle package on CTAN. Corresponding author at: College of Computer Sciences and Technology, Henan Polytechnic University, Jiaozuo 454000, China. Tel.: +8615838939240. E-mail address: [email protected], [email protected] (Z.-Z. Liu). chain, accounting, finances, and eScience. Following the service- oriented architecture paradigm, dynamic Web service composition is described as a process consisting of several tasks. Then, based on running time, concrete optimal Web services are selected and bound for each task. Using the business strategy making process in supermarkets as a use case (UC), in brutal commercial competition, to provide better services and obtain greater benefits, large supermarkets always making business strategies (such as developing a rea- sonable order plan, determining scientific placement of articles, and predicting the inventory) through data mining. This business process involves data collection, data transmission, data storage, data mining, decision making, and decision-execution monitoring, as illustrated in Fig. 1. To realize this process, supermarkets must develop their own software and hardware facilities and have sufficient computing power and storage capacity. They also need to employ hardware, network, and software maintenance workers; moreover, they should have a data analysis technician and a decision support expert. therefore, the cost will be large for supermarkets to build http://dx.doi.org/10.1016/j.knosys.2016.01.010 0950-7051/© 2016 Elsevier B.V. All rights reserved.

Upload: others

Post on 27-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Knowledge-Based Systems 97 (2016) 123–143

Contents lists available at ScienceDirect

Knowledge-Based Systems

journal homepage: www.elsevier.com/locate/knosys

Two-stage approach for reliable dynamic Web service composition�

Zhi-Zhong Liu a,b,∗, Dian-Hui Chu b, Zong-Pu Jia a, Ji-Quan Shen a, Lei Wang a

a College of Computer Sciences and Technology, Henan Polytechnic University, Jiaozuo 454000, Chinab College of Computer Science and Technology, Harbin Institute of Technology, Harbin 150006, China

a r t i c l e i n f o

Article history:

Received 30 November 2014

Revised 7 January 2016

Accepted 9 January 2016

Available online 16 January 2016

Keywords:

Web service

Web service composition

Quality of service

QoS prediction

a b s t r a c t

Web service composition is a key technology for creating value-added services by integrating available

services. With the rapid development of Service Computing, Cloud Computing, Big Data, and the Internet

of Things, mass services with the same functionalities and different quality of service (QoS) values are

available on the Internet. Moreover, due to the uncertainties of services’ application environment, a ser-

vice’s QoS is highly dynamic; these two factors cause reliable dynamic Web service composition to be a

challenge. To address this issue, this paper proposes a two-stage approach for reliable dynamic Web ser-

vice composition. In the first stage, the top K Web service composition schemes based on each service’s

historical QoS values are selected with the proposed algorithm named Culture Genetic Algorithm (CGA).

Then, component services in the top K schemes are filtered out and employed as the candidate services

for dynamic service composition. This operation can greatly reduce the number of available services and

filter out better candidate services for dynamic service composition. Next, the global QoS constraints are

decomposed into local QoS constraints with the CGA algorithm, and the global optimal problem of ser-

vice composition is transformed into a local optimal service selection problem; this conversion increases

the flexibility of dynamic service composition and provides a chance to predict QoS values of services

before service selection. In the second stage, before selecting the best service for each task during the

running of the service composition workflow, QoS values of each candidate service are predicted based

on the improved case-based reasoning, and the best service is selected according to the predicted QoS

values. Through QoS prediction, the reliability of the composite Web service can be greatly enhanced.

Finally, experimental results show that the proposed method is feasible and effective.

© 2016 Elsevier B.V. All rights reserved.

1

i

h

f

I

s

t

W

i

i

v

n

h

P

c

o

i

o

b

a

b

a

s

a

p

d

a

h

0

. Introduction

Web service is a type of distributed computing model that

s self-contained, modular, loosely coupled, standards-based, and

igh capacity. Web services can provide a type of distributed in-

ormation sharing computing technology that can be used on the

nternet or an intranet with standard XML protocols and mes-

age formats to eliminate the discrepancies of different applica-

ion systems [1–3]. Industry standards such as WSDL, UDDI, and

S-BPEL have been provided for describing, locating, and combin-

ng Web services. The service-oriented computing paradigm and

ts realization through standardized Web service technologies pro-

ide an encouraging solution for the seamless integration of busi-

ess applications. Currently, composite Web services (CWSs) [4–6]

ave been used in many areas, such as virtual enterprise, supply

� Fully documented templates are available in the elsarticle package on CTAN.∗ Corresponding author at: College of Computer Sciences and Technology, Henan

olytechnic University, Jiaozuo 454000, China. Tel.: +8615838939240.

E-mail address: [email protected], [email protected] (Z.-Z. Liu).

s

p

n

s

e

ttp://dx.doi.org/10.1016/j.knosys.2016.01.010

950-7051/© 2016 Elsevier B.V. All rights reserved.

hain, accounting, finances, and eScience. Following the service-

riented architecture paradigm, dynamic Web service composition

s described as a process consisting of several tasks. Then, based

n running time, concrete optimal Web services are selected and

ound for each task.

Using the business strategy making process in supermarkets

s a use case (UC), in brutal commercial competition, to provide

etter services and obtain greater benefits, large supermarkets

lways making business strategies (such as developing a rea-

onable order plan, determining scientific placement of articles,

nd predicting the inventory) through data mining. This business

rocess involves data collection, data transmission, data storage,

ata mining, decision making, and decision-execution monitoring,

s illustrated in Fig. 1.

To realize this process, supermarkets must develop their own

oftware and hardware facilities and have sufficient computing

ower and storage capacity. They also need to employ hardware,

etwork, and software maintenance workers; moreover, they

hould have a data analysis technician and a decision support

xpert. therefore, the cost will be large for supermarkets to build

Page 2: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

124 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

Fig. 1. A case of service composition.

C

o

c

a

f

i

h

t

m

i

c

p

c

fi

t

n

a

t

o

c

Q

v

i

b

t

i

c

a

t

S

p

p

t

v

s

a

p

d

v

t

o

S

p

their own business information platform. However, with the

emergence of Cloud Computing [7], Web services [8], Big Data

[9], and the Internet of Things [10], many services are provided

by different companies. The aim of business strategy creation

can be realized by combining different services through a third

party service system; supermarkets only need to pay some fee

for the whole service. Obviously, service composition can create

value-added services and can provide great convenience to users.

It is expected that with the proliferation of Cloud Computing,

Software as a Service [11], Big Data, and the Internet of Things,

more and more Web services will be available on the internet. For

example, there are mass services that can complete the data min-

ing task in the UC, but each of these services has a different qual-

ity of service (QoS, such as price, response time, availability, and

reliability). Mass candidate services for each task will increase the

complexity of service composition, and cause the problem of Web

service composition to be an NP-hard problem [12].

Moreover, the QoS of a Web service is dynamic in an open net-

work environment, take the data transmission service in the UC,

for example, when the service is idle, its transmission speed will

be fast, its reliability will be high, and its response time will be

short. Alternatively, when the service is very busy, its transmission

speed will be slow, its reliability will be low, and its response time

will be long. Moreover, other factors such as task type and task

volume greatly influences service QoS. Take data transmission ser-

vice in the UC as an example, when the data volumes to be trans-

ferred are large, the response time will be long; otherwise, the re-

sponse time will be short. Research [13,14] also demonstrates that

service QoS is highly dynamic; thus, the QoS of the CWSs may sat-

isfy users QoS constraints in the design phase, but it may be not

able to satisfy users QoS constraints at the running time. How-

ever, most studies on QoS-aware Web service composition define

the QoS of component services as deterministic quantities [15–18].

These studies utilize a pre-specified model of the process environ-

ment in which composition solutions are based on point estimates

such as average values.

In recent years, intensive studies have been performed on QoS-

aware Web service composition [4,5,19,20]. Several Web service

composition methods (such as service composition based on non-

linear programming and swarm intelligent algorithms) have been

proposed [21–39]. However, issues remain to be solved:

First, most existing Web service composition methods [21–39]

try to create an optimal Web service composition scheme in the

design phase, but due to the large number of candidate Web ser-

vices, the time complexity of these methods is much higher. Thus,

such Web service composition methods cannot be used to solve

the problem of dynamic Web service composition. Therefore, im-

proving the efficiency and flexibility of dynamic Web service com-

position remains an open issue.

Second, most existing service composition methods take the

QoS values of component services as static, wherein an optimal

WS is constructed based on determined QoS values. These meth-

ds neglect the dynamic QoS features, and always violate the QoS

onstraints when the CWS is executed. Therefore, creating a reli-

ble CWS is also an open issue.

Recently, new techniques have been developed to predict the

uture QoS values of services. Such a predictive ability will facil-

tate the selection of single services. Nonetheless, limited effort

as been devoted to QoS prediction for a CWS. In fact, because

he environment of Web services is very complex and there are

any available candidate services, predicting the QoS of a CWS

s very difficult. It is obvious that reliable dynamic Web service

omposition cannot be realized in one step. Therefore, this paper

rovides a two-stage approach for reliable dynamic Web service

omposition.

The main idea of this approach is described as follows. In the

rst stage, the top K Web service composition schemes are ini-

ially identified based on historical QoS values, and the compo-

ent services involved in the K Web service composition schemes

re selected as candidate services. This operation can not only fil-

er out better candidate services but also can reduce the number

f candidate services to improve the efficiency of service dynamic

omposition. Then, transform the global optimization problem of

oS-aware service composition problem to a local optimal ser-

ice selection problem by decomposing the global QoS constraints

nto local QoS constraints. This operation can increase the flexi-

ility of Web service dynamic composition and provide a chance

o predict services’ QoS before service selection. The problems of

dentifying the top K Web service composition schemes and de-

omposing the global QoS constraints into local QoS constraints

re solved by the proposed swarm intelligence algorithm, the Cul-

ure Genetic Algorithm (CGA), which will be presented in detail in

ection 4.

In the second stage, during the execution of the service com-

osition workflow, the QoS values of the candidate services are

redicted before selecting a concrete service for each task. Then,

he optimal services are selected according to the predicted QoS

alues. consider UC as an example, before concrete services are

elected for each task (such as data collection, data transmission,

nd data storage), the QoS values of the candidate services are

redicted, and then the best service is selected based on the pre-

icted QoS. In this stage, the QoS accuracy of the component ser-

ices is improved through QoS prediction; thus, the reliability of

he CWS is enhanced. The QoS dynamic prediction method based

n improved case-based reasoning (CBR) will be introduced in

ection 6.1. The process of two-stage dynamic Web service com-

osition is illustrated as Fig. 2.

The contributions of this paper are summarized as follows.

(1) This paper proposes a new idea for reliable dynamic Web

service composition through two stages. This idea can

not only improve the flexibility of dynamic Web service

Page 3: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 125

Fig. 2. Two-stage approach for dynamic Web service composition.

d

p

t

t

t

fi

i

2

s

d

2

s

a

M

p

o

b

d

k

[

fi

[

s

m

w

e

n

a

s

c

s

a

w

a

c

p

a

t

c

f

s

s

A

t

p

c

p

s

t

a

v

o

r

m

a

composition but also can enhance the reliability of the com-

posite service.

(2) This paper proposes an optimization algorithm named CGA

by integrating Genetic Algorithm (GA) into the framework

of the Culture Algorithm (CA); moreover, a learning oper-

ator based on collaborative learning is introduced into the

CGA. the CGA is applied to solve the problems of finding the

top K Web service composition schemes and global QoS con-

straints optimal decomposition. Moreover, CGA can be used

to solve other combinatorial optimization problems.

(3) This paper presents a global QoS constraints optimization

decomposition method, a new quality level combination

evaluation model is provided to find the optimal local QoS

constraints for each service class.

(4) This paper proposes a dynamic QoS prediction method

based on improved CBR. This method considers key environ-

mental factors, such as service load, task type, task volume,

cooperation service, and timeliness, which greatly influence

QoS.

The rest of this paper is organized as follows. Section 2 intro-

uces related work; Section 3 presents Web services dynamic com-

osition problem; Section 4 introduces the CGA. Section 5 presents

he first stage of service dynamic composition; Section 6 describes

he second stage of service dynamic composition. Section 7 gives

he local optimal Web service selection method. Section 8 veri-

es the effectiveness of our approaches through simulating exper-

ments. Finally, summary and future work are presented.

. Related work

To place our work in a state-of-the-art context, we briefly de-

cribe the related work on Web service composition and QoS pre-

iction.

.1. Web service composition

Recently, QoS-aware Web service composition is an active re-

earch issue in Service Computing and Cloud Computing, which

ttracting a lot of researchers from both academia and industry.

any studies have been carried out on this issue. Liu et al. [21]

roposed an extensible QoS computation model that supports an

pen and fair management of QoS data by incorporating user feed-

ack. However, the problem of QoS based composition is not ad-

ressed by this work. In paper [22], multidimensional multi-choice

napsack problem has been used to model this problem. In works

23,24], linear and nonlinear programming methods are used to

nd the optimal solution for this problem. Ardagna and Pernici

25] propose an approach for service selection with QoS con-

traints in global view. Huang et al. [26] adopted integer program-

ing approach to solve service selection problem. These methods

ere very effective when the size of the problem is small. How-

ver, these methods suffer from poor scalability due to the expo-

ential time complexity.

To achieve higher scalability, GA and Ant Colony Optimization

lgorithm are used to solve the problem of Web service compo-

ition. Liang et al. [27] provide a hybrid approach for the multi-

onstraint Web service composition problem. Gao et al. [28] used

imulated annealing-based GA to solve the problem of QoE/QoS-

ware Web services composition. Simulations showed that SGA

as better than GA and SA in efficiency. Jiang et al. [29] proposed

variable length chromosome GA for handling QoS-aware service

omposition among multiple paths problem. Liang et al. [30] pro-

osed an approach for service selection based on improved genetic

lgorithm (HPGA) where the hamming similarity degree is used

o avoid inbreeding and the pheromone strategy is designed with

onsidering not only the individual fitness but also the global in-

ormation of best chromosomes.

Li and He [31] solved the problem of QoS-aware service compo-

ition with Multi-objective Chaos ACO, experiment results in [31]

howed that Chaos ACO demonstrates better performance than the

CO and GA algorithms. An improved discrete immune optimiza-

ion algorithm based on particle swarm optimization (IDIPSO) is

roposed for QoS-driven Web service composition with global QoS

onstraints in work [32], empirical comparisons with recently pro-

osed algorithms on various scales of composite Web service in-

tances with global QoS constraints indicate that IDIPSO has bet-

er searching capability and stability. In Wang et al. [33], C-MMAS

lgorithm was devised and used to solve the problem of Web ser-

ice composition with multi-paths, and verified the performance

f C-MMAS surpasses the performance of ACO and MMAS algo-

ithm. Rostami et al. [34] propose a novel architecture for se-

antic Web service composition using clustering and Ant colony

lgorithm.

Page 4: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

126 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

w

v

r

a

a

d

Q

c

a

v

v

i

t

i

i

t

b

Q

t

s

fl

H

o

e

s

p

f

3

s

W

b

k

I

p

a

v

n

o

p

q

p

u

p

t

t

c

[

l

s

a

U

e

s

o

c

k

t

e

t

In order to improve the flexibility of Web service composition,

Alrifai et al. [35] proposed a dynamic Web service composition

method based on global QoS decomposition, their research work

open a new research direction of Web service dynamic composi-

tion. Mardukhi et al. [36] propose a top-down structure (named

quality constraints decomposition) to decompose the global con-

straints into the local constraints, using the GA, then the best Web

service for each task is selected through a simple linear search. Liu

et al. [37] propose an approach for Web service dynamic composi-

tion based on global QoS constraints decomposition with new eval-

uation model and hybrid swarm intelligent algorithm. However, for

these work, the reliability of the CWS are still need to be improved.

Most of the current Web service composition methods are de-

signed to find the optimal Web service composition scheme prior

to the execution of CWS. Although these methods can solve the

problem of QoS-aware Web service composition to certain degree,

they still have some flaws, such as higher complexity, poor relia-

bility, lower user satisfaction, and so on.

Recently, in order to improve the reliability of CWS, researchers

began to focus on QoS prediction method for composite service.

Hwang et al. [38] take QoS as a random variable, and estimate the

QoS of a Web service workflow probabilistically. In this paper, they

identify a set of QoS metrics in the context of Web service work-

flows, and propose a unified probabilistic model for describing QoS

values of a broader spectrum of atomic and CWSs. However, the

prediction method only can compute the probability that the QoS

of composite service can satisfy service-level agreement, cannot

predict concrete QoS values, moreover, when there are mass candi-

date Web services, the complexity of this approach is higher. Wang

et al. [39] propose a Web service composition method integrating

QoS prediction with service composition, however, the factors that

influence the QoS are considered incomplete.

2.2. Web service QoS prediction

In order to improve the accuracy of services’ QoS, researchers

have carried out work on Web service QoS prediction. The authors

[40–42] propose QoS prediction approaches based on collaborative

filtering method, the main idea of this approach is to make sim-

ilarity mining among consumers and QoS data, and then predict

QoS of the unused Web services based on other consumers expe-

riences. Zhang et al. [43] propose a prediction method based on

other users QoS experiences, this method uses similarity mining

and prediction from users experience by selecting a set of Web

services that have the highest degree of similarity with the target

service, then, predict QoS data for the target user. Shi et al. [44]

provide a Web service QoS prediction method based on historical

using information, this method firstly cluster the users based on

location and network condition, then according to the QoS histori-

cal statistics of users in the same cluster, use the linear regression

algorithm to predict the QoS value based on invocation time and

workload. Zheng et al. [45] propose a collaborative QoS prediction

approach for Web services by taking advantages of the past Web

service usage experiences of service users.

As above QoS predicting methods are all focused on predicting

individual QoS, without considering the relationship between

services. In Liang et al. [46], for the problem of Multi-QoS Effective

Prediction, a Multi-QoS Effective Prediction approach is proposed.

For cloud service composition, Ngoko et al. [47] propose to use a

probabilistic modelling in which the QoS of an operation is drawn

from a finite set of discrete values, according to a probability mass

function, and an existing graph reduction algorithm is adapted

for such representations. In order to improve the quality of CWS,

Geebelen et al. [48] propose a technique for predicting whether

the execution of a service composition will be compliant with

service level objectives, they use a kernel based quantile estimator

ith online adaptation of the constant offset to predict future QoS

alues.

Existing QoS prediction approaches above have promoted the

esearch work of Web service QoS prediction and improved the

ccuracy of QoS values, however, most of the existing prediction

pproaches forecast Web services QoS only based on historic QoS

ata, do not consider critical factors that influence Web service

oS greatly. Hwang et al. [12] pointed out that Web service QoS

hange dynamically under the open internet environment, there

re several primary factors cause the dynamic nature of Web ser-

ice QoS.

In fact, the load of Web service has great influence on Web ser-

ice performance. Obviously, QoS of Web service will be different

f the service load is distinct when it deals with the same tasks,

he performance of Web service will be better when the service is

dle, the performance of the service will be poor when the service

s very busy. Secondly, task type and task amount are also key fac-

ors that can influence Web service QoS. QoS of Web service will

e different when it processes tasks of different types. In addition,

oS of Web service will be different when it deals with tasks of

he same type but with different amount. Moreover, QoS of Web

ervice will be distinct when it cooperating with different services.

Thus, it is necessary to consider these main factors that in-

uence service performance when to predict Web service QoS.

owever, existing prediction approaches forecast Web services QoS

nly based on historic QoS, do not take above factors into consid-

ration, this may lead to inaccurate QoS prediction. To predict Web

ervice QoS accurately, this work proposes a new QoS dynamic

rediction method based on improved CBR considering above key

actors.

. The problem of dynamic Web service composition

Based on the time when CWSs are created, Web service compo-

ition could be categorized into static or dynamic[n1sheng], static

eb service composition is also known as workflow-based (model-

ased)service composition, and the dynamic service composition is

nown as direct service composition without any model guidance.

n static service composition, the aggregation of services takes

lace at design time. Component service required for composition

re selected, bound together and then deployed. Static Web ser-

ices composition always works well when there exist fixed busi-

ess flow that can satisfy users demand, and service functionalities

r composition requirements do not, or rarely, change. Static com-

osition is not flexible and adaptable in cases when there are fre-

uent runtime changes of requirements or services that cannot be

redicted at design time. Once an early binding service becomes

navailable, or if there is a better alternative service, static com-

osition will not be able to provide better support for the execu-

ion of composite service in real-time. This kind of composition is a

ime-consuming procedure with no guarantee that the QoS of the

omposite service will indeed satisfy the users QoS requirements

20].

In contrast, a dynamic Web services composition allows se-

ecting and bounding services during runtime. Dynamic Web

ervices composition requires the execution system to support

utomatic discovery, selection, and binding of service components.

ndoubtedly, dynamic composition is ideal as the Web services

nvironment is highly dynamic in nature. However, dynamic

ervices composition is a very challenging task and a number

f important issues need to be considered such as composition

orrectness, time limits, transactional support, and so on [20]. This

ind of services composition is a sort of “service semantic integra-

ion system”. Automated services composition approaches typically

xploit the semantic Web and artificial intelligence planning

echniques. By giving a set of component services and a specified

Page 5: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 127

Fig. 3. Process of Web service composition.

r

c

a

s

i

w

s

i

s

w

t

a

b

s

s

t

s

Q

3

c

t

s

i

W

e

b

d

s

Table 1

QoS aggregation formulas for the sequential model.

(1) Cost (2) ResT (3) Ava (4) Rel

C =m∑

i=1

Ci T =m∑

i=1

Ti Ava = ∏mi=1Avai Rel = ∏m

i=1Reli

a

p

a

t

n

3

u

r

e

s

v

t

t

s

C

t

h

a

t

a

o

l

t

i

a

t

s

3

m

a

a

{

equirement (e.g., users request), a composite service specification

an be generated automatically [49]. However, realizing a fully

utomated services composition is still very difficult and presents

everal open issues. Moreover, in dynamic service composition, it

s also difficult to guarantee that the QoS of the composite service

ill satisfy users QoS requirements due to the volatility of QoS.

The work studied in this paper is categorized as model-based

ervice composition but not static service composition; this work

ncludes the idea of service dynamic composition, that is, optimal

ervices are selected for tasks comprising the service composition

orkflow at run time. In this work, CWSs are not determined in

he design phase, and optimal services are dynamically selected

t run time. This mechanism can improve the flexibility of model-

ased service composition and can address the runtime changes in

ervices that cannot be predicted at design time, better alternative

ervices can also be used. Moreover, in our work, the QoS predic-

ion method is adopted to improve the accuracy of QoS values of

ervices. This improvement can address the problem of unreliable

oS in static and dynamic service composition.

.1. Model-based dynamic Web service composition

Model-based dynamic Web service composition with global QoS

onstraints is illustrated as Fig. 3, in which Ti(1 ≤ i ≤ m) denotes

he tasks of the service composition process. Each task Ti has a

ervice class SCi that includes many candidate Web services with

dentical functionalities and different QoS. The problem of dynamic

eb service composition is to find the optimal Web service for

ach task at run time, so that the composite service constructed

y the selected services can satisfy the global QoS constraints and

eliver the global optimal QoS.

Some preliminary concepts about dynamic Web service compo-

ition are introduced as follows:

T = {T1, . . . , Ti, . . . , Tm} indicates tasks comprising the service

composition workflow; m is the number of tasks.

SCi = {si1, . . . , si j, . . . , siNi} (i = 1, 2, . . . , m) denotes the service

class for task Ti. Ni indicates the number of candidate ser-

vices in SCi. Web services in SCi have the same functionality

and different QoS.

QoS = {q1, . . . , qi, . . . , qk} indicates QoS attributes of Web ser-

vices; k is the number of QoS attributes.

W = {w1, . . . , w j, . . . , wk} indicates user QoS preferences for

each QoS attributes; wj(1 ≤ j ≤ k) indicates user preference

for the jth QoS attribute.

C = {C1, . . . ,Cj, . . . ,Ck} indicates global QoS constraints; Cj(1 ≤ j

≤ k) is a global constraint on QoS attribute qj of a CWS.

In practice, various composition styles, e.g., sequential, parallel,

lternative, and loops can be engaged in a composition plan. In this

aper, we focus on investigating the sequential composition model

s other research works do [50–52]; other styles can be reduced or

ransformed into the sequential model with present mature tech-

iques as mentioned in [53].

.2. QoS aggregation for a composite Web service

QoS values of CWSs can be calculated according to the QoS val-

es of the component Web services and composite models. Cur-

ently, there are several studies on Web service composition mod-

ls and QoS aggregation formulas. Cardoso et al. [54] devised a

tochastic workflow reduction algorithm to compute overall QoS

alues of service processes. Based on different workflow patterns,

hey defined QoS aggregation formulas for QoS attributes. QoS at-

ributes usually considered in a service composition include Re-

ponse Time, Throughput, Reputation, Reliability, Availability, and

ost. For the definitions of these properties can refer to the litera-

ure [48]. Because the focus of QoS prediction is on the attributes

aving a volatile nature, we do not consider static attributes such

s fixed costs and membership fees. Reputation is also an attribute

hat offers a general impression about users’ opinions of a service,

nd is not meant to change frequently over time. The throughput

f services often largely depends on the hardware of the under-

ying infrastructure; throughput is not considered in our work. In

his work, we concentrate on non-static QoS attributes. Interest-

ng attributes for our approach are response time, reliability, and

vailability [48]. The aggregation formulas for the four key QoS at-

ributes ( Cost, ResponseTime, Availability, and Reliability) are pre-

ented in Table 1.

.3. Global QoS constraints and utility function

Global QoS constraints indicate users’ end-to-end QoS require-

ents. Such constraints can be expressed in terms of upper

nd/or lower bounds for the aggregated values of different QoS

ttributes. Let CWSR be a given composition request and C =C1, . . . ,Cj, . . . ,Ck} be a vector of global QoS constraints on CWSR.

Page 6: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

128 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

U

U

Fig. 4. Framework of CGA.

p

r

a

H

o

m

c

k

d

T

p

t

i

a

o

a

t

b

c

u

u

r

c

C

d

i

t

a

5

s

e

Let CWS be an instantiation of a CWSR in which a concrete Web

service is selected for each task. A CWS is considered as a feasi-

ble solution if its QoS values can satisfy all of the global QoS con-

straints, that is, QiSatis f yCi(i = 1, 2, . . . , k)), where Qi is the ith ag-

gregate value of the CWS.

A utility function is usually used to evaluate the multi-

dimensional quality of a CWS [50,55,56]. This function can map

the quality vector into a single real value. The evaluation value

is used to sort and rank candidate CWSs. Similar to previous re-

search [50,53,55,56], this work uses the simple additive weight-

ing approach as the utility function. Before computing the utility

value of a CWS, each QoS attribute value should be transformed

into a value between 0 and 1 by comparing it with the minimum

and maximum possible values [53]. Examining composite Web ser-

vice CWS = {S1, S2, . . . , Sn}, the aggregated QoS values are com-

pared with the minimum and maximum aggregated values. The

minimum or maximum aggregated values can be easily estimated

by aggregating the minimum or maximum value of each service

class. Formally, the minimum and maximum aggregated values of

the kth QoS attribute of the CWS are computed as (1) and (2):

Q′min(k) =

n∑i=1

Qmin( j, k) (1)

Q′max(k) =

n∑i=1

Qmax( j, k) (2)

where

Qmin( j, k) = min

∀s ji ∈ S j

qk(s ji) (3)

Qmax( j, k) = max

∀s ji ∈ S j

qk(s ji) (4)

Here, Qmin (j, k) is the minimum value and Qmax (j, k) is the max-

imum value that can be expected for service class Sj. The utility

function of component Web service s ∈ Sj is defined as (5), and

the whole utility of a CWS is defined as (6).

(s) =r∑

k=1

Qmax( j, k) − qk(s)

Qmax( j, k) − Qmin( j, k)· wk. (5)

(CWS) =r∑

k=1

Q′max( j, k) − qk(s)

Q′max( j, k) − Q

′min

( j, k)· wk. (6)

here wk ∈ (0, 1) and∑r

k=1 wk = 1. wk represents users preference

for the kth QoS attribute qk.

4. Culture Genetic Algorithm (CGA)

The first stage of the reliable dynamic Web service composition

aims to reduce the scale of candidate services by finding the top K

service composition schemes and transform the global optimal ser-

vice composition problem to a local optimal service selection prob-

lem by decomposing global QoS constraints into local QoS con-

straints. In fact, finding the top K service composition schemes and

decomposing global QoS constraints are two typical combinatorial

optimization problems; the solutions of these two problems influ-

ence the performance of the proposed method. The GA [57–59] is

a global optimization algorithm based on selection and natural ge-

netics that was developed from evolution theory and genetic the-

ory. The main characteristic of the GA that it does not depend on

gradient information. Thus, it is especially suited to address com-

plex and nonlinear problems that are difficult to solve by tradi-

tional search methods. Many research results prove that GA is a

owerful tool for solving continuous optimization and combinato-

ial optimization problems [60–62]. Therefore, the GA is also suit-

ble for solving these two combinatorial optimization problems.

owever, the prematurity phenomenon of the GA is the largest

bstacle to obtaining a better solution. Therefore, some measures

ust be implemented to ensure that the global optimal solution

an be obtained.

CA is derived from the culture evolution and is based on the

nowledge of an evolutionary system. This algorithm was intro-

uced by Reynolds as a means of simulating culture evolution [63].

he CA is composed of a population space and a belief space. The

opulation space is the main space of the algorithm, with evolu-

ion operation and outcome assessment for the self-iteration solv-

ng, and thus generates knowledge constantly. Then, through the

ccept operation, it saves the knowledge in the belief space. More-

ver, the belief space update operates through the self-evolution,

nd through the “influence” operating guidelines for further evolu-

ion of the main population space. This mechanism communicates

etween the main population space and belief space information

alled dual evolution and promotion. the CA has been successfully

sed in many fields [64–66]. Moreover, Bin proved that evolution

nder the influence of culture was far better than evolution solely

elying on biological genetic evolution [67].

To solve the two combinatorial optimization problems effi-

iently, this paper integrates the GA into the framework of the

A and constructs a new evolution algorithm named the CGA. Ad-

itionally, a learning mechanism inspired by correlation learning

s introduced into the CGA. The framework of the CGA is illus-

rated in Fig. 4. The computing process of the CGA is described

s Algorithm 1.

All of the functions involved in the CGA are defined as follows.

(1) Evaluate(): Calculate the fitness of each individual; in this

paper, the fitness function is designed according to the spe-

cific optimization problem.

(2) Accept(): Absorb δ excellent individuals to the belief space.

(3) Update(): Replace individuals absorbed from the population

space with poor individuals in the belief space.

(4) BEvolve(): Perform the evolution based on learning opera-

tion. Learning operations can be designed for specific opti-

mization problems.

(5) PEvolve(): Carry out the selection, crossover, and mutation

operation designed for optimization problems.

(6) Influence(): Take solutions in the belief space to replace

poor solutions in the population space.

. The first stage of reliable dynamic Web service composition

Too many candidate services will increase the complexity of

ervice dynamic composition. It is time-consuming to predict ev-

ry candidate service’s QoS. To improve the efficiency of service

Page 7: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 129

Algorithm 1: Pseudo-code of CGA.

Input: Information about the optimization problem to be solved;

Output: Optimal result of the problem to be solved;

Step1: Generate initial individuals in the population space;

1: Generate initial individuals and evaluate them according to the

problem-oriented evaluation function;

Step2: Evolve in the population space

2: Perform evolution process according to the GA;

Step3: Evolve in the belief space

3: Extract the top d individuals as knowledge to the belief space

according to the Accept() function;

4: Update the knowledge in the belief space according to the

U pdate() function;

5: Perform evolution operation according to the BEvolve() function

in the belief space ;

6: Evaluate the new individuals produced through BEvolve();

7: Screen out δ individuals with better evaluation and remove

other individuals.

Step4. Influence of the knowledge

8: If (the accumulated times of knowledge == η)

9: perform the In f luence() operation upon the population space

10: EndIf

Step5. Determine whether to stop

11: If (IterationTime == Stopcondition) \\ Nmax is the maximum it-

eration time

12: Output the optimal result and stop computing

13: EndIf

14: Else

15: Iteration Time =Iteration +1 and Go to Step2

16: EndElse

c

d

s

t

i

i

t

f

c

f

p

c

5

C

c

d

i

b

t

5

fi

Q

d

s

i

l

i

c

Fig. 5. Chromosome encoding model.

s

o

5

t

v

s

a

l

v

c

c

5

s

r

c

s

fi

5

c

s

b

s

i

o

i

o

s

t

s

p

l

p

a

g

g

o

l

t1 2

Fig. 6. Crossover operation. (For interpretation of the references to color in this

figure legend, the reader is referred to the web version of this article.)

omposition and QoS prediction, in the first stage, we aim to re-

uce the scale of candidate services and filter out better candidate

ervices for each task by identifying the top K service composi-

ion schemes based on historical QoS, and select services involved

n these schemes as candidate services. Then, to increase the flex-

bility of service dynamic composition, we propose to decompose

he global QoS constraints into local QoS constraints, and trans-

orm the global optimization problem of QoS-aware Web service

omposition to the local optimal service selection problem. In the

ollowing sections, the processes of finding the top K service com-

osition schemes and decomposing global QoS constraints into lo-

al QoS constraints will be presented in detail

.1. Finding the top K Web service composition schemes based on

GA

Finding the top K service composition schemes is actually a

ombinatorial optimization problem; this paper proposes the CGA

esigned in Section 4 to solve this problem. The algorithm for solv-

ng the problem of finding the top K service composition schemes

ased on the CGA is named as CGA-SCS. Evolution operators and

he process of the CGA-SCS are presented as follows.

.1.1. Chromosome encoding model in the CGA-SCS

The goal of finding the top K service composition schemes is to

nd K service composition schemes with excellent fitness. For the

oS-aware service composition problem, each task has many can-

idate services. Here, we number the candidate services in each

ervice class with an integer. Therefore, an integer-encoding model

s adopted for the CGA-SCS. The chromosome model for this prob-

em is illustrated in Fig. 5, in which T1, T2, ...,Tn are tasks involved

n the service composition workflow, and numbers in boxes indi-

ate the serial number of services selected from candidate service

ets. A chromosome indicates a service composition scheme; a case

f the chromosome can be illustrated in Fig. 5.

.1.2. Initial population generating in the CGA-SCS

The initial population of the CGA-SCS is generated randomly;

hat is, for each gene in the chromosome, randomly select a ser-

ice from the candidate service set, and take the number of the

elected service as a gene of the chromosome. Then, calculate the

ggregated QoS values of the chromosome according to the formu-

as presented in Table 1, and check whether the aggregated QoS

alues can satisfy the global QoS constraints. If not, discard this

hromosome and construct a chromosome again; repeat this pro-

ess until n valid chromosomes are obtained.

.1.3. Fitness function in the CGA-SCS

For the problem of finding the top K service composition

chemes, the fitness function is defined as (6). As a chromosome

epresents a service composition scheme, so, when evaluating a

hromosome, firstly obtain aggregated QoS values of the chromo-

ome according to formulas presented in Table 1, then calculate

tness of the chromosome according to formula (6).

.1.4. Genetic operators of the CGA-SCS

The GA has three important operators: selection operator,

rossover operator, and mutation operator. The selection operator

elects the most suitable individuals, causing their chromosomes to

e preserved for the next generation. The crossover operator con-

ists of generating children from suitable parents, somehow merg-

ng their chromosomes. The mutation operator consists of changing

ne or more genes of the individuals in the next generation, hop-

ng that such changes at the chromosome level may work in favor

f the population.

In the CGA-SCS, the roulette wheel is adopted to perform the

election of individuals. Specific operation is that once the selec-

ion probabilities are determined for each individual, the wheel is

pun; when it stops, the corresponding individual is selected. This

rocedure is repeated until a percentage of the generation is se-

ected and their chromosomes are cloned onto the next one.

For the CGA-SCS, the gene segment crossing over method is

roposed. The cross over process is illustrated in Fig. 6, in which A1

nd A2 are two chromosomes. Suppose that the randomly selected

ene segments of A1 are marked with red, the randomly selected

ene segments of A2 are marked with yellow, and the crossover

perator is to exchange the red gene segment of A1 with the yel-

ow gene segment of A2. After completing the crossover operation,

wo new individuals A′

and A′

are generated.

Page 8: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

130 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

Fig. 7. Learning operation. (For interpretation of the references to color in this fig-

ure legend, the reader is referred to the web version of this article.)

Algorithm 2: The procedure of finding top k service composition

schemes based on CGA.

Input: m: the number of tasks; QoS values of Web services;

C = {C1, . . .,Cj, . . .,Ck}: Global QoS Constraints; n: the scale of

initial population; p1, p2: probability of crossover and mutation;

δ: the number of solutions extracted to the belief space; η:

knowledge accumulation times in the belief space; P: the number

of individuals in the learning group; and Nmax: the maximum

iteration of the algorithm;

Output: The top K service composition schemes

Step1. Generate initial population in the population space

1: Randomly generate n valid service composition schemes, and

employ them the as initial populations;

2: Evaluate the individuals according to formula (6).

Step2. Evolve in the population space

3: Perform Selectionoperation, Crossoveroperation and

Mutationoperation defined for the CGA-SCS.

Step3. Evolve in the belief space

4: Extract the top δ individuals in the population space to the

belief space according to Accept() function;

5: Update the knowledge in the belief space according to the

U pdate() function;

6: Perform the learning operation in the belief space;

7: Evaluate the new individuals produced by learning;

8: Keep δ individuals with better fitness in the belief space;

Step4. Influence of the knowledge

9: If (the accumulated times of knowledge == η)

10: perform the In f luence() operation upon the population space;

11: EndIf

Step5. Determine whether to stop

12: If (IterationTime == Nmax) \\ Nmax is the maximum iteration

time

13: Output the top K service composition schemes in the popula-

tion space and stop computing;

14: EndIf

15: Else

16: Iteration Time =Iteration +1 and Go to Step2

17: EndElse

Table 2

The complexity of the operators in CGA-SCS.

(1) Selection (2) Crossover (3) Mutation (4) Learning

O(n2) O(nm) O(nm) O(nLP)

5

f

t

S

c

o

s

S

s

f

c

s

d

i

d

In the CGA-SCS, a one-point mutation model is adopted, that is,

randomly select one gene of the chromosome, then randomly se-

lect a new service from the candidate service set that corresponds

to the selected gene, and replace the new selected service with the

service in the selected gene.

5.1.5. Learning operation in the CGA-SCS

Individuals in the swarm intelligence algorithms do not learn

from one another; if individuals can learn from one another, the

performance of swarm intelligent algorithms could be effectively

improved. In human society, collaborative learning is a situation in

which two or more people attempt to learn something together

[68]. Unlike individual learning, people engaged in collaborative

learning capitalize on one another resources and skills [69]. More

specifically, collaborative learning is based on the model that new

knowledge can be created within a population in which members

actively interact by sharing experiences and take on asymmetric

roles. To improve the performance of the CGA-SCS, based on the

idea of collaborative learning, a learning operator for finding the

top K service composition schemes is proposed.

The learning process is described as follows. First, randomly

select several individuals from the population to form a collabo-

rative learning group. Second, divide each individual into several

segments. A segment is a part of a solution (chromosome), and

segments are produced by dividing the solution averagely. Third,

compare the same segments of individuals in the group and select

the best segments. Finally, combine the selected segments to form

a new individual. The learning operator in the CGA-SCS is illus-

trated in Fig. 7; here, I1, I2, ...,Ik are k different individuals that form

a learning group. Segments marked with color are the best seg-

ments among the same segments of individuals. The best segments

are extracted through learning, and form a new individual INew.

The process of the CGA-SCS is described with Algorithm 2.

5.1.6. The complexity of the CGA-SCS

For the CGA-SCS algorithm, let n be the scale of the initial indi-

viduals, m be the number of tasks in the service composition work-

flow, N be the number of the available services for each task, P be

the number of individuals that form a learning group, and L be the

number of segments of the learning individuals. The complexities

of the CGA-SCS in each generation are shown in Table 2. In the

CGA-SCS, typical roulette wheel selection needs n roulette opera-

tions to generate the new population. Each roulette operation con-

tains at least 1 and at most n times comparisons according to the

relative fitness values of individuals. Thus, the average complex-

ity of the selection operator is O(n2). Moreover, the crossover and

mutation operations in the CGA-SCS are only just executed once

for each individual, the complexities are both at least O(nm) and

at most O(nm), and the complexity of the learning operation is

O(nLP). Therefore, the time complexity of the CGA-SCS is O(n2).

.2. Filter out candidate services for each task

Assume that the top K service composition schemes

ound by CGA-SCS are SCSK = {SCS1, SCS2, . . . , SCSK}, assume

hat SCS1 = 〈s1i, s2 j

, . . . , smu〉, SCS2 = 〈s1 j, s2t

, . . . , smp〉, . . . , and

CSK = 〈s1r, s2q

, . . . , sm f〉, where sxy indicates services in service

omposition schemes. Then, collect services at the same position

f the K service composition schemes to form a candidate service

et for the corresponding task, that is, SC1 = 〈s1i, s1 j

, . . . , s1r〉,

C2 = 〈s2 j, s2t

, . . . , s2q〉, . . . , and SCm = 〈smu , smp , . . . , sm f

〉 >. Take

ervice classes SC1, SC2, …, and SCm as the candidate service sets

or the m tasks T1, T2, …, and Tm. The process of filtering out

andidate services can be illustrated as Fig. 8.

By filtering out services from the K service composition

chemes, the number of candidate services will be significantly re-

uced. This reduction can enhance the efficiency of QoS prediction

n the second stage to improve the effectiveness of Web service

ynamic composition.

Page 9: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 131

Fig. 8. Filter better candidate services.

5

s

o

t

d

m

p

n

t

f

c

o

a

e

t

t

Q

o

n

f

5

i

q

k

L

s

Q

Q

c

i

s

f

f

f

d

o

b

n

F

w

c

d

o

m

l

i

t

d

M

t

a

d

i

a

f

5

m

.3. Decomposition of global QoS constraints

To improve the flexibility of dynamic Web service compo-

ition and provide opportunities for QoS prediction, the global

ptimization problem of QoS-aware Web service composition is

ransformed to a local optimal Web service selection problem by

ecomposing global QoS constraints into local QoS constraints, the

ain idea is that, first, each global QoS constraint Ci is decom-

osed into a set of m local constraints {c1, c2, . . . , cm} (m is the

umber of tasks in the service composition workflow). Then, set

hese local QoS constraints as conservative upper or lower bounds

or the local optimal service selection for each task. Global QoS

onstraint decomposition should ensure the following two points:

(1) If a candidate service for a task can meet the local QoS con-

straints, then the aggregated QoS values of the candidate

services for all of the tasks should satisfy the global QoS

constraints.

(2) The local QoS constraints should be relaxed as much as pos-

sible to avoid missing any candidate service that might be

part of a feasible CWS.

To decompose global QoS constraints optimally, the value range

f each QoS attribute of all of the service classes is divided into

set of discrete quality values that are called quality levels. Then,

ach global QoS constraint is mapped onto a set of quality levels

hat will be used as local QoS constraints.

Usually, a user always proposes several global QoS constraints;

hus, each service class should satisfy the same number of local

oS constraints simultaneously. The aim of global QoS constraints

ptimal decomposition is to find an optimal quality level combi-

Fig. 9. The process of prod

ation for each service class. To solve this problem, an evaluation

unction for quality level combination must be constructed.

.3.1. Evaluation function for global QoS constraints decomposition

Quality levels for each service class Sj are initialized by divid-

ng the value range of each QoS attribute qk into a set of discrete

uality values as depicted in Fig. 9. q jktindicates the value of the

th QoS attribute of the tth candidate service in service class Sj,djk

represents the dth quality level of the kth QoS attribute in the

ervice class Sj, and

min( j, k) ≤ L1jk ≤ L2

jk ≤ · · · ≤ Ldjk ≤ Qmax( j, k).

Because each service class has several QoS attributes and each

oS attribute has a set of quality levels, these quality levels can

onstitute many quality level combinations. To evaluate these qual-

ty level combinations, an evaluation function F(EQLCij) is con-

tructed to compute the fitness of quality level combinations. The

unction estimates the benefit of using a quality level combination

or service class Sj. The motivation for constructing the evaluation

unction is that a greater number of candidate Web services un-

er a quality level combination is better, and larger utility values

f candidate Web services under a quality level combination are

etter. The evaluation function for evaluating quality level combi-

ations is defined as (7).

(QlCi j) = n(QlCj)

q· Umax

QLCj(S j) (7)

here QLCij indicates the ith quality level combination for service

lass Sj, n(QLCi) represents the number of candidate services un-

er the ith quality level combination, and q is the total number

f all of the candidate services in service class Sj. UmaxQLCj

(S j) is the

aximum utility value of candidate services under the ith quality

evel combination. The objective of the global QoS decomposition

s to find the best quality level combinations for each service class;

herefore, the objective function for global QoS constraints optimal

ecomposition problem is defined as (8).

aximize

(n∑

j=1

F (QLCi j)

)(8)

Global QoS optimal decomposition is a combinatorial optimiza-

ion problem for which the intelligent algorithm CGA is designed

nd to solve this problem. Here we name the global QoS optimal

ecomposition based on CGA as CGA-QD. The chromosome encod-

ng model, selection operator, crossover operator, mutation oper-

tor and learning operation of CGA-QD will be presented in the

ollowing sections.

.3.2. Encoding model for the CGA-QD

The aim of global QoS constraints decomposition is to deter-

ine the optimal quality level combination for each service class.

ucing quality levels.

Page 10: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

132 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

Fig. 10. An instance of chromosome.

5

l

c

a

b

5

t

o

A

g

g

r

c

a

r

a

t

5

s

t

v

t

c

l

i

k

w

T

s

I

5

b

Q

c

v

Because each service class corresponds to a quality level combina-

tion, and a service composition workflow always has several ser-

vice classes, the solution for the problem of global QoS constraint

decomposition is constructed by quality level combinations of each

service class; therefore, a two-dimensional encoding model is suit-

able for the CGA-QD. A chromosome for the problem of global

QoS constraints decomposition is illustrated in Fig. 10, in which

{S1, S2, . . . , Sm} presents service classes, and {Q1, Q2, . . . , Qk} indi-

cates QoS attributes included in global QoS constraints. QmkLe rep-

resents the eth quality level of the kth QoS attribute of service

class Sm. The rows of the chromosome represent quality level com-

binations for different service classes.

5.3.3. Generating initial individuals for the CGA-SCS

The process of generating an initial population for the CGA-SCS

is described as follows: first, randomly select a quality level of each

QoS attribute of a service class to construct a quality level com-

bination for the current service class. Then, assemble the quality

level combinations of all of the service classes together to form a

chromosome. After that, check whether the chromosome is valid;

if not, construct a chromosome again, and repeat this process un-

til n valid chromosomes are obtained. A valid chromosome should

satisfy two points: (a) for each row of the chromosome, there ex-

ist Web services that can satisfy the local constraints in the quality

level combination, and (b) for each column of the chromosome,

the aggregated value of the column can satisfy the corresponding

global QoS constraint.

Fig. 11. Crossover operation. (For interpretation of the references to color in th

.3.4. Evaluation function for the CGA-QD

An evaluation function of the global QoS decomposition prob-

em is used to calculate the sum of evaluations of the quality level

ombinations in the chromosome. The fitness function is defined

s (8). This function is used to find the optimal quality level com-

ination for all of the service classes.

.3.5. Genetic operators for the CGA-QD

In this paper, a roulette wheel model is adopted to complete

he selection operation in the CGA-QD. A gene block crossover

perator is designed and illustrated in Fig. 11, in which A1 and

2 are two chromosomes. Suppose that the randomly selected

ene blocks of A1 are marked with red and the randomly selected

ene blocks of A2 are marked with yellow. Then, exchange the

ed gene blocks of A1 with the yellow gene block of A2. After

ompleting the crossover operator, two new individuals A′1

and A′2

re generated.

In the CGA-QD, a one-row mutation operation is adopted to

andomly select a row of a chromosome, then, new quality levels

re randomly selected from the corresponding quality level collec-

ions to replace the selected quality levels in the chromosome.

.3.6. Learning operation in the CGA-QD

The process of the learning operation in the CGA-QD is de-

cribed as follows: first, randomly select several individuals from

he population to form a learning group. Second, divide each indi-

idual into several segments. Third, for the identical segments of

he individuals in the group, identify the best segments through

omparison among the same segments. Finally, combine the se-

ected segments to form a new individual. The learning operation

n the CGA-QD is illustrated in Fig. 12, in which 〈I1, I2, . . . , Ik〉 are

different individuals in the learning group and segments marked

ith color are the best segments among the identical segments.

hrough learning, the best segments can be selected, and all of the

elected segments composed together can form a new individual

New.

.3.7. The process of global QoS constraint decomposition

The process of global QoS constraints optimal decomposition

ased on CGA is described as Algorithm 3. After obtaining local

oS constraints for all of the service classes, define these local QoS

onstraints as upper/lower bounds for selecting the best Web ser-

ice for each task.

is figure legend, the reader is referred to the web version of this article.)

Page 11: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 133

Fig. 12. The learning process. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Algorithm 3: Global QoS constraints optimal decomposition based

on CGA.

Input—m: the number of tasks; QoS: QoS values of Web services;

C = {C1, . . .,Cj, . . .,Ck}: Global QoS Constraints; n: the size of the

initial population; p1, p2: probability of crossover and mutation; δ:

the number of solutions extracted to the belief space; η: knowl-

edge accumulation iterations in the belief space; p: the number

of individuals in the learning group; Nmax: and the maximum

iteration of the algorithm;

Output—Local QoS constraints for each service class;

Step 1. Generate initial population;

1: Randomly generate n initial individuals in the population space;

2: Evaluate the individuals according to formula (8);

Step 2. Evolution in the population space

3: Perform Selectionoperation, Crossoveroperation and

Mutationoperation which designed for the CGA-QD.

Step 3. Evolution in the belief space

4: Extract the top δ individuals in the population space to the

belief space according to the Accept() function;

5: Update the knowledge in the belief space according to U pdate()

function;

6: Perform the learning operation in the belief space;

7: Evaluate the new individuals produced through learning;

8: Keep δ individuals with better evaluation in the belief space;

9: If (the accumulated times of knowledge == η)

10: perform the influence operation according to the In f luence()

function on the population space

11: EndIf

Step5. Determine whether to stop

12: If (Iteration Time == Nmax) \\ Nmax is the maximum iteration

time

13: Output the local QoS constraints for each service class and

stop computing

14: EndIf

15: Else

16: Iteration Time =Iteration +1 and Go to Step2

17: EndElse

Table 3

The complexity of the operators in CGA-QD.

(1) Selection (2) Crossover (3) Mutation (4) Learning

O(n2) O(nmk) O(nmk) O(nPLk)

5

n

n

a

i

a

l

E

c

a

M

o

b

l

S

6

t

s

d

a

o

i

p

6

t

t

b

Q

d

i

i

a

o

a

r

c

[

[

s

p

(

C

w

m

p

o

t

t

s

a

.3.8. The complexity of the CGA-QD

For the CGA-QD, let n be the scale of the population, m be the

umber of tasks in the service composition workflow, and k be the

umber of QoS attributes. P is the number of individuals that form

learning group, and L is the number of segments of the learn-

ng individuals. The complexities of the CGA-QD in each generation

re shown in Table 3. In the CGA-QD, a typical roulette wheel se-

ection needs n roulette operations to generate a new population.

ach roulette operation contains at least 1 and at most n times

omparisons according to the relative fitness values of individu-

ls. Thus, the average complexity of a selection operator is O(n2).

oreover, crossover and mutation operations in the CGA-QD are

nly executed once for each individual; thus, the complexities are

oth at least O(nmk) and at most O(nmk). The complexity of the

earning operation is O(nPLk). Therefore, the complexity of CGA-

CS is O(n2).

. The second stage of dynamic Web service composition

In the second stage of reliable dynamic Web service composi-

ion, QoS prediction is adopted to enhance the accuracy of each

ervice’s QoS; that is, the QoS of each candidate service is pre-

icted before selecting the best service for each task. To obtain an

ccurate QoS, this paper proposes a QoS prediction method based

n improved CBR. This method considers several key factors that

nfluence a service’s QoS. The QoS prediction method based on im-

roved CBR is introduced in detail in the following sections.

.1. QoS dynamic prediction based on improved CBR

In the dynamic Internet environment, there are several factors

hat greatly influence Web service QoS, such as serviceload, task-

ype, taskvolume, and cooperationservice. There exist relationships

etween these factors and Web service QoS. To predict Web service

oS accurately, this study considers these factors and proposes a

ynamic QoS prediction method based on improved CBR. The main

dea of this QoS prediction method is that when a service operates

n an identical or similar environment, and the cooperation service

nd the task to be processed are identical or similar, then, the QoS

f the service will be identical or similar.

CBR is a popular problem-solving methodology that solves

new problem by remembering previous similar problems and

eusing the solutions of these problems [70,71]. CBR has been suc-

essfully applied in many domains such as dynamic scheduling

72], intelligent stock selection [73], and petroleum engineering

74]. In CBR, a case model consists of two parts: the first part de-

cribes the problem and the second part presents a solution of the

roblem to be solved. A case model of CBR can be illustrated as

9).

ase = 〈Problemdescription(p1, p2, . . . , pr)||Solution(sol1, sol2, . . . , solu)〉; (9)

here Problemdescription(p1, p2, . . . , pr) indicates important ele-

ents of the problem to be solved, and r is the number of the

roblem elements. Solution(sol1, sol2, . . . , solu) presents the solution

f the problem, and u is the number of elements of the solu-

ion. The meaning of the case model is that the current situa-

ion of the problem is Problemdecription(p1, p2, . . . , pr); thus, the

olution of the problem is Solution(sol1, sol2, . . . , solu). CBR is very

ppropriate for QoS prediction because the case model of CBR is

Page 12: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

134 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

t

c

i

r

r

t

t

o

c

c

Q

Q

i

s

v

6

F

T

6

s

o

T

w

t

c

d

t

S

w

a

p

a

b

t

t

s

very suitable for describing the QoS prediction problem. That is,

the first part can describe the current situation of service, such as

serviceload, tasktype, taskvolume, and cooperationservice; the second

part is suitable to describe service QoS values, such as Cost, Respon-

setime, Availability, and Reliability. A QoS case indicates that when a

service is under the situation described in the first part, then QoS

of the service will be the second parts of the QoS case.

The process of CBR consists of four processes: (a) Retrieve simi-

lar historic cases from the case-base. (b) Reuse solutions of similar

historic cases to generate a proper solution to the current prob-

lem. (c) Revise the proposed solution if necessary. (d) Retain the

new case by incorporating it into the existing case-base for future

problem-solving. In the following sections, key elements (such as

QoS case model, QoS case organization, QoS cases retrieval, and

QoS prediction) of the QoS prediction method are presented in de-

tail in the following sections.

6.1.1. QoS case model

The QoS case model is defined as

〈currentsituationofservice‖QoSvalues〉. The first part of the model

describes factors that have great influence on service QoS, and the

second part of the model indicates QoS values when the service

is dealing with the task under the situation described in the first

part. Under the open network environment, factors that influence

service QoS primarily include service load, task type, task volume,

and cooperation service. Moreover, because newer QoS cases

have better reference values, the timeliness of a QoS case is also

important; therefore, a time stamp is added to QoS cases. The QoS

case model is defined in (10).

QoSC = 〈SL, TT, TA,CoS ‖ q1, . . . , qk〉TimeTag (10)

In the QoS case model, SL indicates service load during pro-

cessing a task, TT and TV indicate the task type and task volume,

CoS presents the cooperation service, TimeTag presents the time

when this QoS case was created. 〈q1, . . . , qk〉 indicate QoS values of

the service when it address the task under the situation described

in the first part. This QoS case model is extensible; other factors

that influence service QoS and other QoS attributes can be flexibly

added into the model.

6.1.2. Organization of QoS cases

The basic principle of CBR is to find one or more similar his-

torical cases of the target case, and then generate a solution for

Fig. 13. Organization

he target case based on solutions of the selected similar historic

ases. When the number of historic QoS cases is large, the retriev-

ng process will be time consuming. To improve the efficiency of

etrieving similar cases, historical QoS cases should be organized

easonably. For QoS cases, cooperation service, service load, task

ype, and task volume are key problem features; using these fea-

ures as indexes to organize QoS cases could improve the speed

f case retrieval. The QoS of the service will be different when it

ooperates with different services; therefore, we first classify QoS

ases according to the cooperation services. Because Web service

oS is not comparable when addressing tasks of different types,

oS cases are classified with the same cooperation service accord-

ng to task type. Then, QoS cases are classified according to the

ervice load range. Here the load range is divided into five inter-

als, such as:

0 ≤ SL < 20%, 20 ≤ SL < 40%, 40 ≤ SL < 60%,

0 ≤ SL < 80%, 80 ≤ SL < 100%

inally, QoS cases are stored sequentially according to task volume.

he organization of QoS cases can be illustrated as Fig. 13.

.1.3. Retrieving most similar QoS cases

When receiving a QoS prediction demand, the QoS prediction

ystem constructs a target QoS case based on the current situation

f service. The target QoS case model is defined as (11).

C = 〈SL0, TT0, TA0,CoS ‖?q1, . . . , ?qk〉TimeTag (11)

here SL0 is the current service load, and TT0 and TV0 are task

ype and task volume of the task to be processed, CoS means the

ooperation service, ?q1, . . . , ?qk indicate QoS values to be pre-

icted. TT0 and TV0 can be determined form the description of the

ask. SL0 can be calculated according to (12).

L = w′1 · URCPU + w

′2 · URI/O + w

′3 · URM (12)

here URCPU, URI/O and URM denote the utilization rate of CPU, I/O

nd the Memory of the Server in which the Web service is de-

loyed, w′1, w

′2, and w

′3

indicate the importance of URCPU, URI/O,

nd URM, and w′1

+ w′2

+ w′3

=1. The value of w′1, w

′2, and w

′3

could

e determined through a trial and error method, here we assume

hey are known.

To predict the QoS values of the target QoS case, retrieve the

op d similar historical QoS cases from the QoS case base that are

imilar to the target case from. In this paper, a historical QoS case

of QoS cases.

Page 13: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 135

Q

b

i

a

i

d

t

o

i

s

t

S

w

l

fi

t

b

m

t

s

t

6

t

s

e

s

h

g

t

p

fi

T

w

t

d

t

n

s

t

t

i

6

c

t

Algorithm 4: QoS prediction based on improved CBR.

Input: SL0, TT0, TA0,CooperService, historical QoS cases;

Output: Predicted QoS values;

Step1. Create target QoS case based on SL0,TT0,TA0 and

CooperService;

Step2. Retrieve QoS cases that have the same cooperation service

and task type as the target QoS case;

Step3. Compute the similarities between target case and the

retrieved QoS cases according to (??);

Step4. Select the top d historical QoS cases according to similarity.

Step5. Generate QoS values of the target case based on QoS values

of the d similar QoS cases according to (14).

Step6. Revise the target QoS case according to actual QoS, and

integrate the revised target QoS case into the QoS case base.

Table 4

The complexity of QoS prediction method.

(1) Similarity computing (2) Similar cases selecting (3) QoS predicting

O(n2) O(dn2) O(dk2)

c

T

c

t

c

t

t

7

s

s

t

c

fi

d

d

s

A

I

c

O

S

o

S

i

S

S

7

n

t

fi

l

c

s

oSCi is similar to the target case TC if and only if the similarity

etween QoSCi and TC is greater than a similarity value ν defined

n advance. The process of retrieving similar QoS cases is presented

s follows:

(1) Identify historical QoS cases that have the same cooperation

service as the target QoS case.

(2) Retrieve historic QoS cases that have the same task type as

the target case.

(3) Filter out historical QoS cases in the same time window.

(4) Compute the similarity between the target service and the

retrieved historical QoS cases, and select the top d historical

QoS cases based on the computed similarity.

The similarity between historic QoS cases and the target case

ncludes local similarity and global similarity. Local similarity in-

icates a similarity of factors between historic QoS cases and the

arget case, whereas the global similarity is the weighted average

f local similarities. Pal and Shiu verified that Manhattan distance

s the best method of calculating local similarity [75]; therefore,

imilarity-calculating formula between historic QoS cases and a

arget QoS case based on Manhattan distance is defined as (13):

im(TC, SCi) = sim1 · ws1 + sim2 · ws2; (13)

here ws1 + ws2 = 1, ws1 and ws2 indicate the weight of the two

ocal similarities. Formulas for calculating local similarities are de-

ned as follows:

(1) sim1 = 1 − |SL0 − SL j|: computes the similarity of load be-

ween historic QoS cases and a target case.

(2) sim2 = 1 − |TV0−TVj |TVmax

: computes the similarity of task volume

etween historic QoS cases and a target case, where TAmax is the

aximum of task quantity the service could process.

ws1 and ws2 indicate weights of similarities of service load and

ask volume. Suppose {QC1, QC2, . . . , QCd} are the top d historically

imilar QoS cases; the next step is to generate a solution for the

arget QoS case based on these similar QoS cases.

.2. QoS prediction

After obtaining d similar historic QoS cases, the QoS values of

he target case can be generated based on the QoS values of the d

imilar QoS cases. Currently, there are several approaches for gen-

rating solutions based on similar historic cases. In this paper, time

tamp has been added to the QoS cases; a newer QoS case has a

igher reference value. Before computing the solution of the tar-

et case, we first sort the d similar QoS cases according to time

ag and assume the arrangement is QC1 QC2 . . . QCd . In this

aper, we propose a new solution-generating formula, which is de-

ned as (14).

CQoS = w′′1QCQoS

1+ · · · + w

′′dQCQoS

d; (14)

here w′′1

> w′′2

> · · · > w′′d, w

′′1

+ w′′2

+ · · · + w′′d

= 1, TCQoS denotes

he QoS vector of the target case, and 〈QCQoS1

, QCQoS2

, . . . , QCQoSd

〉 in-

icate the QoS vector of similar historic QoS cases. In this formula,

he weight of the newer QoS case is set higher to ensure that the

ewer QoS case will impose a stronger influence on generating the

olution for the target case. By incorporating the solution parts of

he d similar historic QoS cases into (13), the QoS values of the

arget case can be produced. Web service QoS prediction based on

mproved CBR is described as Algorithm 4.

.3. The complexity of the QoS prediction method

For the QoS prediction method, let n be the scale of the QoS

ases that have the same cooperation service and task type as the

arget QoS case and d be the number of similar QoS cases. The

omplexities of the QoS prediction method are shown in Table 4.

he complexity of computing the similarity between a target QoS

ase and historical QoS cases is O(n), the complexity of selecting

he top d historical QoS cases lies in the sorting operation, and its

omplexity is O(dn2). The complexity of generating QoS values of

he d historical QoS cases is O(dk2). Therefore, the complexity of

he QoS prediction method is O(n2).

. Local optimal Web service selection

During the running of the service composition workflow, before

electing the best service for the current task, predict candidate

ervices’ QoS based on the QoS prediction method. Then, according

o the predicted QoS values, select the optimal Web service that

an satisfy corresponding local QoS constraints and has the best

tness value. the local optimal Web service selection algorithm is

escribed as Algorithm 5. Through this service selection method,

uring the execution of the Web service composition process, best

ervices can be selected for all of the tasks.

lgorithm 5: Local optimal service selection algorithm.

nput: Predicted QoS of candidate services for the current task, lo-

al QoS constraints corresponding to the current task;

utput: Best service for current task;

tep 1. Set local QoS constraints of the current task as the upper

r lower bounds for candidate services;

tep 3. Filter out candidate services whose predicted QoS can sat-

sfy local QoS constraints;

tep 4. Calculate finesses of the filtered services according to (5);

tep 5. Select the service with the best fitness for the current task.

.1. The complexity of the local optimal service selection method

For the local optimal service selection method, let K be the

umber of the candidate services for the current task and r be

he number of QoS attributes. The complexity of computing the

tnesses of candidate services is O(rK). The complexity of se-

ecting the optimal service lies in the sorting operation, and its

omplexity is O(K2). Therefore, the complexity of the local optimal

ervice selection method is O(n2).

Page 14: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

136 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

8. Experimental results

The experiment work contains two major parts. The first part

is to verify the effectiveness of dynamic Web service composition

based on global QoS constraints optimal decomposition; the sec-

ond part is to verify the validity of the QoS prediction method.

8.1. Experiment I

8.1.1. Experiment design

To verify the feasibility and effectiveness of the dynamic Web

service composition method proposed in this paper, we perform

three simulation experiments. The first and second experiments

are used to verify the feasibility and scalability of the approach;

the third experiment is designed to verify the superiority of the

approach. The experimental background is designed as follows.

Suppose that there is a Web service composition process consist-

ing of nine abstract services. Each abstract service has m candidate

services. m varies from 50 to 400, and there are four global QoS

constraints:

(1) Cost < 140Dollar; (2) ResponseTime < 130Sec; (3) Reliability >

0.40; (4) Availability > 0.40;

The number of quality levels is d; d varies from 10 to 40. User

QoS preferences including Cost, ResponseTime, Reliability, and Avail-

ability and are set as 0.35, 0.3, 0.25, and 0.1, respectively. QoS val-

ues of candidate Web services of the nine service classes are ran-

domly generated within certain ranges. The value ranges of Relia-

bility and Availability of all of the service classes are set as follows:

Reliability >= 0.85; Availability >= 0.85.

To be consistent with the actual situation, the value ranges of

Cost and ResponseTime of the services in the nine service classes

are different.Value ranges of Cost and ResponseTime of all of the

service classes are set as follows.

(1) For service class S1: 8 =< Cost <= 25; 1 =< RsponseTime <=20;

(2) For service class S2: 20 =< Cost <= 50; 15 =< Rsponse

Time <= 30;

(3) For service class S3: 1 =< Cost <= 15; 5 =< RsponseTime <=15;

(4) For service class S4: 10 =< Cost <= 25; 2 =< Rsponse

Time <= 8;

(5) For service class S5s: 1 =< Cost <= 10; 10 =< Rsponse

Time <= 20;

(6) For service class S6: 20 =< Cost <= 40; 20 =< Rsponse

Time <= 32;

(7) For service class S7: 12 =< Cost <= 24; 3 =< Rsponse

Time <= 9;

(8) For service class S8: 1 =< Cost <= 5; 12 =< RsponseTime <=25;

(9) For service class S9: 5 =< Cost <= 15; 14 =< Rsponse

Time <= 25;

The GA configuration in this experiment is as follows.

(1) Parameter setting of the GA

Currently, the parameters of the GA are set based on the ex-

perience. The existing research result proves that the bet-

ter experience value for population size is [20, 160], the

experience-based value of the crossover probability is [0.25,

1.0], and the experience-based value of the mutation proba-

bility is [0.005, 0.1]. Here, we set the size of the population

in the GA as 100, the crossover probability is set to 0.85, and

the parameter of mutation is set to 0.05.

(2) Generating initial population of the GA

First, the quality levels for each QoS attribute of each service

class are computed. The process is described as follows. Find

the maximum and minimum value of the kth QoS attribute

by statistical methods. Here assume that the maximum and

minimum values of the kth QoS attribute are maxqkand

minqk, respectively. Then, generate the quality level of each

QoS attributes by formula (15).

L = (maxqk− minqk

)

d(15)

Finally, constructing the quality level set of each QoS at-

tribute, which is presented as (16):

LevelSetqk= {minqk

, minqk+ L, . . . , minqk

+ (d − 1) · L, maxqk} (16)

After obtaining the quality level set of each QoS attribute of

each service class, we can produce chromosomes for the GA.

A two-dimensional array is used to store a chromosome. The

combination of quality levels of the four QoS attributes of a

service class is stored in a row of the two-dimensional array.

Chromosomes are produced randomly, that is, for each ser-

vice class, randomly select a quality level of a QoS attribute

and assemble these quality levels together to form a quality

levels combination(a row of the two-dimensional array). As-

semble all of the quality level combinations together to form

a chromosomes (a two-dimensional array), as illustrated in

Fig. 6. Repeat the chromosomes generating method until 100

individuals are obtained.

(3) Selection operation in the GA

In the GA, the roulette wheel is adopted as the selection

operation. The selection operation is performed as follows.

First, calculate the fitness of each chromosome according to

the fitness function defined as Eq. (3). Here, assume the fit-

ness of the 100 chromosomes are

{ f it1, f it2, . . . , f it100}then, compute the selection probability of the each chromo-

some according to (17).

pi = f iti∑100j=1 f iti

(17)

Each probability value consists of an area, and the sum of

all of the probability values equals 1. When performing the

selection operation, first generate a random number r in the

interval of (0,1); then, select an individual according to the

area in which the random number r appears. Repeat this se-

lection method until the size of the new population is 100.

(4) Crossover operation in the GA

Crossover operation is a major operator in the GA to gen-

erate a new individual by exchanging parts of two spe-

cific chromosomes with a certain probability. In this pa-

per, the gene-segment crossover method is adopted. The

crossover process is described as follows. First, randomly

pair the chromosomes. Then, randomly determine two loca-

tions of the row vector of each chromosomes pair. Finally,

exchange the two gene segments determined by the two lo-

cations. The process of the crossover operation is illustrated

in Fig. 11.

(5) Mutation operation in the GA

Mutation operation in the GA is also a method for gener-

ating new individuals by changing one or some genes in a

chromosome according to a small probability. In this paper, a

single point mutation method is adopted. The process of the

mutation operation is described as follows. First, randomly

determine a gene location of each chromosome, that is, ran-

domly select a column of the two-dimensional array that in-

dicates a chromosome. Then, according to a certain proba-

bility, exchange the quality levels in the determined column

Page 15: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 137

Fig. 14. Running time of the algorithm with different m.

h

g

o

a

i

i

f

o

e

o

g

8

d

r

n

p

t

o

d

c

p

r

c

s

s

8

n

h

q

v

f

n

with quality levels that are randomly selected from quality

level sets to which the determined quality levels belong.

The parameter setting and the setup of operations of the GA

ave some reference value for solving a similar problem with the

lobal QoS decomposition problem. In this experiment, the number

f excellent individuals extracted to the belief space is set to 20,

nd the generations of knowledge accumulation in the belief space

s set to 5. The number of individuals that form a learning group

s 5. The experimental environment is a PC configured with the

ollowing configures, CPU: Intel(R) Core(TM) Duo, 2.93 GHz; Mem-

ry: 1.00 GB; and OS: Windows 7. The time unit of the following

xperiments is one second. The algorithm of global QoS constraint

ptimal decomposition based on the CGA is realized with C++ pro-

ramming language.

.1.2. Experiment 1

In this experiment, set m ∈ {50, 100, 200, 300, 400}, and set

= 20. Then, execute the dynamic Web service composition algo-

ithm, and record the running time of the algorithm with different

umbers of candidate Web services. Experimental results are de-

Fig. 15. Running times of WS

icted in Fig. 14, in which the vertical axis represents the running

ime of the algorithm, and the horizontal axis denotes the number

f iterations.

As Fig. 14 indicates, with an increase in the number of candi-

ate Web services, the running time of the dynamic Web service

omposition algorithm does not significantly increase. By com-

aring we can found that there is linear growth between the

unning time of the algorithm and the increase of the number of

andidate services. Therefore, we can say that the service compo-

ition algorithm proposed in this paper has better feasibility and

calability.

.1.3. Experiment 2

Experiment 2 is used to verify the influence of the quality level

umber on the performance of the service composition method,

ere named WSC−CGA. In this experiment, set m = 100, and the

uality level number d varies from 10 to 40. We iterate the ser-

ice composition method with different quality level numbers

or 100, 200, 300, 400, 500, and 600 times, recording the run-

ing time and evaluation values of the CWS found by the service

C−CGA with different d.

Page 16: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

138 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

Fig. 16. Solutions founded by WSC−CGA with different d.

Fig. 17. Performance comparison.

W

n

q

8

e

i

S

fl

a

a

p

m

a

v

z

composition method. The experimental results are illustrated as

Figs. 15 and 16.

Fig. 15 describes the running time of the WSC−CGA with a dif-

ferent quality level number, in which the vertical axis represents

the running time of the algorithm and the horizontal axis denotes

the number of iterations of the algorithm. As Fig. 15 indicates, the

running time increases rapidly when the number of the quality

level number is large. From this result, we can say that the qual-

ity level number is the main factor that influences the speed of

SC−CGA.

Fig. 16 describes best solutions found by WSC−CGA with a dif-

ferent quality level number, in which the vertical axis represents

the evaluation of CWSs founded by WSC−CGA, and the horizon-

tal axis denotes the quality level numbers. As Fig. 16 indicates

when the quality level number is set to 10, the solution founded

by WSC−CGA is the best. Considering the experimental results, we

can find that when set the quality level number as 10, WSC−CGA

ot only can run fast but also identify a better solution. So, the

uality level number in this paper is set to 10.

.1.4. Experiment 3

Experiment 3 is to verify the superiority of WSC−CGA. In this

xperiment, we use WSC−CGA and the C-MMAS algorithm provided

n works [33] to solve the service composition problem designed is

ection 3.1. The number of tasks in the service composition work-

ow is 9, the number of Web services in each service class is 50,

nd the quality level number is 10. Other parameters of WSC−CGA

re set as in Section 8.1.1. The parameters of C − MMAS are set as

roposed in works [33].

The two methods are executed under in identical environ-

ents. The running time and the solution found by each method

re recorded. Experimental results are presented in Fig. 17. The

ertical axis represents the evaluation of solutions, and the hori-

ontal axis denotes running times of the two algorithms. Solutions

Page 17: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 139

Fig. 18. Solutions and running times of the two algorithms.

f

t

d

c

8

8

s

c

d

a

m

t

v

t

n

b

o

S

W

W

a

v

t

t

t

r

c

i

o

i

v

B

t

e

l

m

t

s

8

t

a

a

d

t

i

s

t

t

t

r

T

o

W

t

8

i

ounded by the two algorithms and the corresponding running

imes are also presented in Fig. 18. From Figs. 17 and 18, we can

etermine that WSC−CGA has better searching capability and a fast

onvergence rate.

.2. Experiment II

.2.1. Experiment design

To verify the validity of the QoS dynamic prediction method,

imulation experiments are conducted on the Web service appli-

ation platform. A Web service with two computing functions is

eveloped; one function is to calculate the rank of a large matrix,

nd another function is to calculate the eigenvalues of the large

atrix. Here, use the calculation of matrices rank as the first task

ype, recorded as type I; use the calculation of the matrices eigen-

alues as the second task type, recorded as type II. The order of

he matrix is used to indicate the task volume.

The simulation experiment platform consists of two compo-

ents. The first component of the platform is the client simulated

y a PC. The configuration of the PC is, CPU2vCPU 1674 MHz, Mem-

ry2048 MB, OSWindows XP. The second component is a Web

erver on which the service is deployed. The configuration of the

eb Server is CPU2vCPU 1674 MHz; Memory1024 MB; and OS-

indows XP. In this experiment, some tasks are randomly gener-

ted, task type is randomly produced between I and II, and task

Fig. 19. Structure of exp

olumes are randomly generated in the interval [500, 2000]. Then,

hese tasks are randomly submitted to the Web service. When a

ask is submitted, the client records the task type, task volume and

he submission time Tsub; when the result is received, the client

ecords the completion time Tcomp; then, the response time T is

omputed by formula: T = Tcomp − Tsub. The experiment platform

s illustrated in Fig. 19.

In this experiment, CPU utilization is used to indicate the load

f the service; during the process of handling tasks, CPU utilization

s recorded every 50 ms. After the task is completed, the average

alue of CPU utilization is interpreted as the load of the service.

ecause there is no cooperation between services in this simula-

ion experiment, the factor of cooperation service is not consid-

red. After a task is completed, create a QoS case according to the

oad, task type, task volume, and processing time. In this experi-

ent, 1750 QoS cases with task type I and 1500 QoS cases with

ask type II are produced. Only the ResponseTime attribute is con-

idered.

.2.2. Experiment 1

This experiment is to verify that Web service QoS is subject to

he influence of several key factors, such as service load, task type,

nd task volume. In this experiment, keep the load of the service

t 30%; then, produce some tasks with different task volumes and

ifferent task types, and submit these tasks to the service. Record

he response time of these tasks. Experiment results are described

n Fig. 20.

Fig. 20 show the following: (1) although the task amount and

ervice load are the same, if the task type is different, the response

imes of these tasks are different; (2) although service load and

ask type are the same, if the volumes of the tasks are different,

he response times of these tasks are different. As seen in Fig. 20,

esponse time increases with the increase of the volume of task.

herefore, it can be concluded that when service load, or task type,

r task volume changes, the QoS will also change. Thus, to predict

eb service QoS, it is necessary to consider the factors that cause

he fluctuation of the Web service QoS.

.2.3. Experiment 2

When using the CBR method to solve a new problem, the qual-

ty of similar historical cases is very important; therefore, it is

eriment platform.

Page 18: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

140 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

Fig. 20. Response time of tasks under the same service load.

Fig. 21. Average forecast error rate for the 20 test cases.

i

a

l

t

i

r

i

c

i

fi

8

d

o

m

Q

o

m

necessary to find the most suitable value of parameter k. This

experiment aims to find a suitable value for parameter k. In this

experiment, a QoS prediction method based on improved CBR is

realized with the C++ programming language. The experiment en-

vironment is a PC configured with CPU: Intel(R) 4 2.40 GHz, Mem-

ory: 512MB; OS: Microsoft Windows 2000. Here, the 10-fold cross-

validation method is adopted. Each data fold includes 30 QoS

cases; then, for each data fold, we set values for parameter k as

1,2,...,10 and predict the QoS of the test cases. The experimental

results are presented as Fig. 21.

From Fig. 21, it can be seen that when the value of k is small,

the average prediction error rate is high, and as the number of

similar QoS cases increases, the average prediction error rate grad-

ually decreases. This result is because that when the number of

similar QoS cases is small, the number of similar QoS cases with

high quality is also small; thus, it cannot give fully apply similar

historical cases to the solving of new problems, leading to a high

average relative prediction error rate. With an increase in the num-

ber of similar cases, more high-quality similar cases are reused,

thereby improving precision of prediction is improved; As seen

n Fig. 20, when the number of similar cases is 6, the prediction

ccuracy is the highest. Subsequently, when the number of simi-

ar cases gradually becomes grater, the prediction accuracies begin

o decrease, this decrease occurs because that with the increase

n the similar cases, some similar cases with poor quality will be

eused, thus affecting prediction accuracy.

To obtain the best prediction effect, the number of similar cases

s set to 6. That is, when predicting the QoS values of a new QoS

ase, select the top six historical QoS cases according to their sim-

larity, and compute QoS values of the new QoS case based on the

ve similar QoS cases.

.2.4. Experiment 3

This experiment is to verify the effectiveness of our QoS pre-

iction method. In this experiment, a QoS prediction method based

n CBR and a QoS prediction method based on an optimized vector

achine [76](O-SVM) are adopted to predict the response time of

oS cases, O-SVM is produced through optimizing the parameters

f SVM by an artificial colony bee algorithm [77]. In this experi-

ent, the scale of the QoS data is 896, the first 800 data points

Page 19: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 141

Fig. 22. Comparison of prediction accuracy.

Fig. 23. Running times of the two QoS prediction methods.

a

d

t

m

o

1

t

S

p

o

c

t

0

b

.

p

t

C

Q

[

t

s

s

i

t

i

o

i

s

t

i

i

t

t

s

s

i

w

re used as training data, and the last 96 are used as a testing

ata set. For each experiment, randomly select 20 data values from

he testing data set and use them as testing data. For the O-SVM

ethod, set the loss function parameter ε = 0.01, the value range

f penalty parameter c and kernel function parameter σ is [0.1,

000], and the value of c and σ are dynamically determined by

he ABC algorithm. In order to verify the performance of the O-

VM method, the QoS data are increased 50 by 50 during the ex-

eriment, and the parameters of SVM is optimized for each group

f data, and is used to train SVM in the next group of data and

omplete the prediction of testing QoS data. For the QoS predic-

ion method based on improved CBR, set ws1 = 0.6,ws2 = 0.4;w1 =.3,w2 = 0.25,w3 = 0.2, w4 = 0.15,w6 = 0.1, QoS prediction is to

e performed when the scale of train QoS data reaches 10, 20, 30,

.., 380, 390 and 400. For each experiment, the accuracy rate of the

rediction is the average value of the 20 iterations. The experimen-

al results are shown in Fig. 22.

Fig. 22 shows that the prediction accuracy of the improved

BR and O-SVM is gradually improved as the scale of the training

oS data increased. When the scale of the training QoS data is in

10, 140], the prediction accuracy of the improved CBR is higher

han that of the O-SVM. This is results occurs because when the

cale of the training QoS data is small, the O-SVM cannot obtain

ufficient training. Therefore, the prediction accuracy of the O-SVM

s lower. When the scale of the training QoS data is in [140, 240],

he prediction accuracy of the O-SVM is greater than that of the

mproved CBR. This difference occurs because that when the scale

f the training QoS data is large, the O-SVM can obtain sufficient

nformation and can be trained fully. So it can exert its nonlinear

imulation advantage, making the prediction accuracy greater than

hat of the improved CBR. When the scale of the training QoS data

s larger than 300, the prediction accuracy of the O-SVM and the

mproved CBR are approximately the same; and when the scale of

he training QoS data is greater than 300, the variation between

he prediction accuracies of the two QoS prediction methods is

mall.

The running times of the two QoS prediction methods are pre-

ented in Fig. 23. Fig. 23 shows that the prediction speed of the

mproved CBR was faster than that of the O-SVM, particularly

hen the scale of the training QoS data increased.

Page 20: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

142 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143

F

a

R

Therefore, from the above experimental results, we conclude

that when the scale of the training QoS data is in [10, 140], the

performance of the improved CBR is better than that of the O-SVM.

When the scale of the training QoS data is in [140, 240], the pre-

diction accuracy of the O-SVM is better than that of the improved

CBR, but the prediction speed of O-SVM is slower than that of the

improved CBR. When the scale of the training QoS data is greater

than 300, the prediction accuracy of the two methods are approx-

imately the same, but the prediction speed of the improved CBR is

faster than that of the O-SVM.

From these experimental results, we can conclude that each

QoS prediction method has its own advantages and disadvantages.

Moreover, there are many dynamic environmental factors; it is dif-

ficult to find a single QoS prediction method that can work well in

different QoS prediction situations. Therefore, in our future work,

we will conduct further study of QoS adaptive prediction and pro-

vide a QoS adaptive prediction model that can schedule the most

appropriate QoS methods for the current QoS prediction situation.

9. Summary and Prospect

QoS-aware Web service composition is an active research issue

in Service Computing and Cloud Computing fields, and attracting

many researchers from industry and academia. Many studies have

been performed on this problem, but dynamically constructing

reliable composite services remains an open issue. For this prob-

lem, unlike existing solutions that model the QoS-aware service

composition problem as a conventional combinatorial optimiza-

tion problem, this paper provides a new two-stage approach for

reliable dynamic Web service composition. In the first stage, in

order to reduce the number of candidate services and improve

the effectiveness of service composition, the top K service com-

position schemes are found, and component services of these

schemes are filtered out and selected as the candidate services for

service dynamic composition. Then, to increase the flexibility of

service dynamic composition and to integrate QoS prediction into

the service dynamic composition process, this paper transforms

the problem of QoS-aware service composition to a local optimiza-

tion problem by decomposing global QoS constraints into a set of

local constraints. In the second stage, during the execution of the

service composition workflow, the QoS of each candidate service

is predicted, and the best services that can satisfy local constraints

are selected for each task. Finally, experimental results show that

our approach is the feasible and effective for reliable dynamic

Web service composition.

In the future work, we will continue to do the following deep

research: (1) study the performance of CGA, and try to propose a

new swarm intelligent algorithm which simulate the learning pro-

cess of human society; (2) study how to decompose the global QoS

constraints adaptively; and (3) study how to predict Web service

QoS adaptively and propose a QoS adaptive prediction model that

can schedule the most appropriate QoS prediction method accord-

ing to the real-time situation. Moreover, we are planning to ver-

ify this two-stage service dynamic composition method in a real

cloud-computing platform and continue to improve it.

Acknowledgments

This work is supported byThe National Natural Sci-

ence Foundation Fund China (nos. 61300124, 61472106, and

61403128), Major projects of science and technology in Shan-

dong Province(2015ZDXX0201B02), Basis and frontier of Henan

Province (152300410212), Soft science research project of

Henan Province(152400410513), Zhengzhou leading talent

project(131PLJRC645), and Henan Polytechnic University Youth

und Project(Q2014-09). The authors would like to thank the

nonymous reviewers for their valuable feedback on this work.

eferences

[1] D. Fensel, C. Bussler, The web service modeling framework WSMF, Electr. Com-

mer. Res. Appl. 1 (2) (2002) 113–137.

[2] W. Kongdenfha, H.R. Motahari-Nezhad, B. Benatallah, R. Saint-Paul, Web Ser-vice Adaptation: Mismatch Patterns and Semi-Automated Approach to Mis-

match Identification and Adapter Development, Web Services Foundations—Springer, New York, 2014, pp. 245–272.

[3] J. Liu, K. He, J. Wang, F. Liu, X. Li, Service organization and recommendationusing multi-granularity approach, Knowl.-Based Syst. 73 (2015) 181–198.

[4] J. Hoffmann, I. Weber, Web Service Composition, Encyclopedia of Social Net-

work Analysis and Mining, Springer, New York, 2014, pp. 2389–2399.[5] M. Moghaddam, J.G. Davis, Service Selection in Web Service Composition:

A Comparative Review of Existing Approaches, Web Services Foundations—Springer, New York, 2014, pp. 321–346.

[6] G. Zou, Y. Gan, Y. Chen, B. Zhang, Dynamic composition of web services us-ing efficient planners in large-scale service repository, Knowl.-Based Syst. 62

(2014) 98–112.

[7] M. Armbrust, A. Fox, R. Griffith, A.D. Joseph, R. Katz, A. Konwinski, M. Zaharia,A view of cloud computing, Commun. ACM 53 (4) (2010) 50–58.

[8] D. Roman, U. Keller, H. Lausen, Web service modeling ontology, Appl. Ontol. 1(1) (2005) 77–106.

[9] A. Jacobs, The pathologies of big data, Commun. ACM 52 (8) (2009) 36–44.[10] L. Atzori, A. Iera, G. Morabito, The internet of things: A survey, Comput. Netw.

54 (15) (2010) 2787–2805.

[11] K.S. Candan, W.S. Li, T. Phan, M. Zhou, Frontiers in information and softwareas services, in: Proceedings of the 25th International Conference on Data En-

gineering (ICDE’09), IEEE, Shanghai, China, 2009, pp. 1761–1768.[12] S.Y. Hwang, H. Wang, J. Tang, A probabilistic approach to modeling and esti-

mating the QoS of web-services-based workflows, Inform. Sci. 177 (23) (2007)5484–5503.

[13] Y. Wang, Y. Wang, A survey of change management in service-based environ-ments, Serv. Oriented Comput. Appl. 7 (4) (2013) 259–273.

[14] W. Wiesemann, R. Hochreiter, D. Kuhn, A stochastic programming approach for

QoS-aware service composition, in: Proceedings of the 8th IEEE InternationalSymposium on Cluster Computing and the Grid, 2008 (CCGRID’08), IEEE, 2008,

pp. 226–233.[15] S. Wang, Q. Sun, H. Zou, Particle swarm optimization with skyline operator for

fast cloud-based web service composition[J], Mobile Netw. Appl. 18 (1) (2013)116–121.

[16] Y. Zhang, W. Fu, K.K.N. Leung, Web service publishing and composition based

on monadic methods and program slicing, Knowl.-Based Syst. 37 (2013) 296–304.

[17] H. Ma, A. Wang, M. Zhang, A hybrid approach using genetic programming andgreedy search for QoS-aware web service composition, Transactions on Large-

Scale Data-and Knowledge-Centered Systems XVIII, Springer, Berlin Heidelberg,2015, pp. 180–205.

[18] H. Wang, B. Zou, G. Guo, J. Zhang, Z. Yang, Optimal and effective web ser-

vice composition with trust and user preference, in: Proceedings of the IEEEInternational Conference on Web Services (ICWS), IEEE, New York, USA, June

27-July 2, 2015, pp. 329–336.[19] A. Strunk, QoS-aware service composition: A survey, in: Proceedings of the

IEEE 8th European Conference on Web Services (ECOWS), IEEE, Ayia Napa,Cyprus, 1-3 December, 2010, pp. 67–74.

[20] Q.Z. Sheng, X. Qiao, A.V. Vasilakos, C. Szabo, S. Bourne, X. Xu, Web services

composition: A decades overview, Inform. Sci. 280 (2014) 218–238.[21] Y. Liu, A.H. Ngu, L.Z. Zeng, QoS computation and policing in dynamic web ser-

vice selection, in: Proceedings of the 13th International World Wide Web Con-ference on Alternate Track Papers Posters, ACM, 2004, pp. 66–73.

[22] T. Yu, Y. Zhang, K.J. Lin, Efficient algorithms for web services selection withend-to-end qos constraints, ACM Trans. Web (TWEB) 1 (1) (2007) 6:1–6:27.

[23] V. Cardellini, E. Casalicchio, V. Grassi, Flow-based service selection for web ser-

vice composition supporting multiple QoS classes, in: Proceedings of the IEEEInternational Conference on Web Services (ICWS’07), IEEE, Salt Lake City, UT,

9-13 July, 2007, pp. 743–750.[24] D.A. Menasc, E. Casalicchio, V. Dubey, On optimal service selection in service

oriented architectures, Perform. Eval. 67 (8) (2010) 659–675.[25] D. Ardagna, B. Pernici, Adaptive service composition in flexible processes, IEEE

Trans. Softw. Eng. 33 (6) (2007) 369–384.

[26] A.F.M. Huang, C.W. Lan, S.J.H. Yang, An optimal QoS-based web service selec-tion scheme, Inform. Sci. 179 (19) (2009) 3309–3322.

[27] Z. Liang, H. Zou, F. Yang, R. Lin, A hybrid approach for the multi-constraint webservice selection problem in web service composition, J. Inform. Comput. Sci.

9 (13) (2012) 3771–3781.[28] Z.P. Gao, J. Chen, X.S. Qiu, QoE/QoS driven simulated annealing-based genetic

algorithm for web services selection, J. China Univ. Posts Telecommun. 16(2009) 102–107.

[29] H. Jiang, X. Yang, k. Yin, S. Zhang, J.A. Cristoforo, Multi-path QoS-aware web

service composition using variable length chromosome genetic algorithm, In-form. Tech. J. 10 (1) (2011) 113–119.

[30] H. Liang, Y. Du, S. Li, An improved genetic algorithm for service selection undertemporal constraints in cloud computing, Web Information Systems Engineer-

ing (CWISE’13), Springer, Berlin Heidelberg, 2013, pp. 309–318.

Page 21: Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing

Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 143

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[

[31] W. Li, Y.X. He, A web service composition algorithm based on global QoS op-timizing with MOCACO, Algorithms and Architectures for Parallel Processing,

Springer, Berlin Heidelberg, 2010, pp. 218–224.32] X. Zhao, B. Song, P. Huang, Z. Wen, J. Weng, Y. Fan, An improved discrete im-

mune optimization algorithm based on PSO for QoS-driven web service com-position, Appl. Soft Comput. 12 (8) (2012) 2208–2216.

[33] Z.J. Wang, Z.Z. Liu, X.F. Zhou, An approach for composite web service selectionbased on DGQos[J], Int. J. Adv. Manuf. Technol. 56 (9-12) (2011) 1167–1179.

34] N.H. Rostami, E. Kheirkhah, M. Jalali, An optimized semantic web service com-

position method based on clustering and ant colony algorithm, Int. J. Web Se-mantic Tech. 5 (1) (2014) arXiv:1402.2271.

[35] M. Alrifai, T. Risse, W. Nejdl, A hybrid approach for efficient web service com-position with end-to-end qos constraints, ACM Trans. Web (TWEB) 6 (2) (2012)

7:1–7:31.36] F. Mardukhi, N. NematBakhsh, K. Zamanifar, A. Barati, Qos decomposition for

service composition using genetic algorithm, Appl. Soft Comput. 13 (7) (2013)

3409–3421.[37] Z.Z. Liu, X. Xue, J.Q. Shen, W.R. Li, Web service dynamic composition based on

decomposition of global QoS constraints, Int. J. Adv. Manuf. Technol. 69 (9-12)(2013) 2247–2260.

38] S.Y. Hwang, H. Wang, J. Tang, A probabilistic approach to modeling and esti-mating the QoS of web-services-based workflows, Inform. Sci. 177 (23) (2007)

5484–5503.

39] H. Wang, H. Sun, Q. Yu, Reliable service composition via automatic qos predic-tion, in: Proceedings of the IEEE International Conference on Services Comput-

ing (SCC’13), IEEE, Santa Clara, CA, June 28-July 3, 2013, pp. 200–207.40] L.S. Shao, L. Zhou, J.F. Zhao, B. Xie, H. Mei, Web service qos prediction ap-

proach, J. Softw. 20 (8) (2009) 2062–2073.[41] Z. Zheng, H. Ma, M.R. Lyu, I. King, Wsrec: A collaborative filtering based web

service recommender system, in: Proceedings of the IEEE International Confer-

ence on Web Services (ICWS), IEEE, Los Angeles, CA, 6-10 July, 2009, pp. 437–444.

42] C.C. Li, L.Q. Cui, Y. Deng, W.X. Feng, A QoS prediction approach based on im-proved collaborative filtering, in: Proceedings of the 2nd International Confer-

ence on Advanced Computer Control (ICACC), vol. 2, IEEE, Shenyang, China,27-29 March, 2010, pp. 519–522.

43] L. Zhang, B. Zhang, J. Na, L.P. Huang, M.W. Zhang, An approach for web service

qos prediction based on service using information, in: Proceedings of the IEEEInternational Conference on Service Sciences (ICSS), IEEE, Hangzhou, China, 13-

14 May, 2010, pp. 324–328.44] Y.L. Shi, K. Zhang, B. Liu, L.Z. Cui, A new QoS prediction approach based on user

clustering and regression algorithms, in: Proceedings of the IEEE InternationalConference on Web Service 2011 (ICWS), IEEE, Washington, DC, 4-9 July, 2011,

pp. 726–727.

45] Z. Zheng, H. Ma, M.R. Lyu M R, I. King, Collaborative web service QoS predic-tion via neighborhood integrated matrix factorization, IEEE Trans. Serv. Com-

put. 6 (3) (2013) 289–299.46] Z. Liang, H. Zou, J. Guo, F. Yang, R. Lin, Multi-QoS effective prediction in web

service selection, Web Technologies and Applications, Springer, Berlin Heidel-berg, 2013, pp. 176–183.

[47] Y. Ngoko, C. Crin, A. Goldman, Graph reduction for QoS prediction of cloudc-service compositions, Int. J. Bus. Proc. Integ. Manage. 7 (2) (2014) 89–102.

48] D. Geebelen, K. Geebelen, E. Truyen, S. Michiels, J.A. Suykens, J. Vandewalle,

W. Joosen, QoS prediction for web service compositions using kernel-basedquantile estimation with online adaptation of the constant offset, Inform. Sci.

268 (2014) 397–424.49] Y. Syu, Y.Y. Fanjiang, J.Y. Kuo, S.P. Ma, A review of the automatic web ser-

vice composition surveys, in: Proceedings of the IEEE International Conferenceon Semantic Computing (ICSC), IEEE, Newport Beach, CA, 16-18 June, 2014,

pp. 199–202.

50] W. Dou, X. Zhang, J. Liu, J. Chen, Hiresome-II: Towards privacy-aware cross-cloud service composition for big data applications, IEEE Trans. Parallel Distrib.

Syst. 26 (2) (2015) 455–466.[51] K. Su, L.L. Ma, X.M. Guo, Y.F. Sun, An efficient parameter-adaptive genetic algo-

rithm for service selection with end-to-end QoS constraints, J. Comput. Inform.Syst. 10 (2) (2014) 581–588.

52] M. Alrifai, T. Risse, Efficient QoS-aware service composition, in: Proceedings of

the Emerging Web Services Technology, vol. III, Birkhäuser Basel, 2010, pp. 75–87.

53] L. Zeng, B. Benatallah, A.H. Ngu, QoS-aware middleware for web services com-position[j], IEEE Trans. Softw. Eng. 30 (5) (2004) 311–327.

54] J. Cardoso, A. Sheth, J. Miller, Quality of service for workflows and web serviceprocesses, Web Semant.: Sci. Serv. Agents World Wide Web 1 (3) (2004) 281–

308.55] L. Zeng, B. Benatallah, M. Dumas M, Quality driven web services composi-

tion, in: Proceedings of the 12th International Conference on World Wide Web,ACM, 2003, pp. 411–421.

56] F. Gao, E. Curry, M.L. Ali, S. Bhiri, A. Mileo, Qos-aware complex event service

composition and optimization using genetic algorithms, Service-Oriented Com-puting, Springer, Berlin Heidelberg, 2014, pp. 386–393.

[57] X. Zuo, C. Chen, W. Tan, M. Zhou, Vehicle scheduling of an urban bus linevia an improved multiobjective genetic algorithm, IEEE Trans. Intell. Transport.

Syst. 16 (2) (2015) 1030–1041.58] K. Rajasekar, R. Saravanan, S. Sowmyashree, Genetic algorithm based optimiza-

tion of box-cross section modulus for heavy vehicle chassis, Int. J. Vehic. Struct.

Syst. 7 (2) (2015) 1–8.59] M.S. Kumar, Genetic algorithm-based proportional derivative controller for the

development of active suspension system, Inform. Technol. Contr. 36 (1) (2007)58–67.

60] K. Deb, A. Pratap, S. Agarwal, T.A.M.T. Meyarivan, A fast and elitist multiobjec-tive genetic algorithm: NSGA-II, IEEE Trans. Evol. Comput. 6 (2) (2002) 182–

197.

[61] F. Küçüksayacigil, G. Ulusoy, A genetic algorithm application for multi-objectivemulti-project resource constrained project scheduling problem, in: Proceedings

of the 15th Workshop of the EURO Working Group, Istanbul, Turkey, 24-25March, 2014, pp. 49–52.

62] Z. Chen, C.C. Mi, R. Xiong, J. Xu, C. You, Energy management of a power-splitplug-in hybrid electric vehicle based on genetic algorithm and quadratic pro-

gramming, J. Power Sour. 248 (2014) 416–426.

63] R.G. Reynolds, An introduction to cultural algorithms, Proceedings of the ThirdAnnual Conference on Evolutionary Programming, World Scientific, River Edge,

NJ, 1994, pp. 131–139.64] C. Soza, R.L. Becerra, M.C. Riff, C.A. Coello, Solving timetabling problems using

a cultural algorithm, Appl. Soft Comput. 11 (1) (2011) 337–344.65] R. Zhang, J. Zhou, L. Mo, S. Ouyang, X. Liao, Economic environmental dispatch

using an enhanced multi-objective cultural algorithm, Electr. Power Syst. Res.

99 (2013) 18–29.66] Q. Luo, Y. Zhou, P. P.Guo, X. Chen, Functional network design using parallel

cultural algorithm, Appl. Math 8 (4) (2014) 1949–1957.[67] P. Bin, Knowledge and population swarms in cultural algorithms for dynamic

environments, Wayne State University, Detroit, 2005 (Ph.D. thesis).68] P. Dillenbourg, Collaborative learning: Cognitive and computational ap-

proaches, Advances in Learning and Instruction Series [M], Elsevier Science,

Inc., New York, NY, 1999.69] O’Donnell, M. Angela, E. Cindy, Hmelo-Silver, E. Gijsbert, Collaborative Learn-

ing, Reasoning, and Technology, Routledge, 2013.[70] A. Trendowicz, R. Jeffery, Case-based reasoning, Software Project Effort Estima-

tion, Springer International Publishing, 2014, pp. 305–313.[71] C.K. Riesbeck, R.C. Schank, Inside Case-based Reasoning, Psychology Press,

2013.[72] I. Pereira, A. Madureira, Self-optimization module for scheduling using case-

based reasoning, Appl. Soft Comput. 13 (3) (2013) 1419–1432.

[73] H. Ince, Short term stock selection with case-based reasoning technique, Appl.Soft Comput. 22 (2014) 205–212.

[74] S.V. Shokouhi, P. Skalle, A. Aamodt, An overview of case-based reasoning ap-plications in drilling engineering, Artif. Intell. Rev. 41 (3) (2014) 317–329.

75] S.K. Pal, S.C.K. Shiu, Foundations of Soft Case-Based Reasoning, Wiley and Sons,New Jersey, 2004.

[76] S. Gupta, R. Kambli, S. Wagh S, F. Kazi, Support-vector-machine-based proac-

tive cascade prediction in smart grid using probabilistic framework, IEEE Trans.Indus. Electr. 62 (4) (2015) 2478–2486.

[77] D. Karaboga, B. Basturk, A powerful and efficient algorithm for numerical func-tion optimization: artificial bee colony (ABC) algorithm, J. Global Optim. 39 (3)

(2007) 459–471.