Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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
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
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.
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
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.
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
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.
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.
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.
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.)
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
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.
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).
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
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.
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
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.
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
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.
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.
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.