Two-stage approach for reliable dynamic Web service composition

Two-stage approach for reliable dynamic Web service composition

Accepted Manuscript Two-stage Approach for Reliable Dynamic Web Service Composition Zhi-Zhong Liu, Dian-Hui Chu, Zong-Pu Jia, Ji-Quan Shen, Lei Wang ...

1MB Sizes 5 Downloads 53 Views

Accepted Manuscript

Two-stage Approach for Reliable Dynamic Web Service Composition Zhi-Zhong Liu, Dian-Hui Chu, Zong-Pu Jia, Ji-Quan Shen, Lei Wang PII: DOI: Reference:

S0950-7051(16)00020-4 10.1016/j.knosys.2016.01.010 KNOSYS 3382

To appear in:

Knowledge-Based Systems

Received date: Revised date: Accepted date:

30 November 2014 7 January 2016 9 January 2016

Please cite this article as: Zhi-Zhong Liu, Dian-Hui Chu, Zong-Pu Jia, Ji-Quan Shen, Lei Wang, Twostage Approach for Reliable Dynamic Web Service Composition, Knowledge-Based Systems (2016), doi: 10.1016/j.knosys.2016.01.010

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

ACCEPTED MANUSCRIPT

Highlights • As it is very difficult to construct a reliable composite Web service dynamically in one step, this paper proposes a idea of solving reliable Web service dynamic composition in two steps. • In order to improve the efficiency of service composition, this papers propose to reducing the number of candidate services by finding the top K service composition schemes based on historical QoSs in the first stage. • In order to improve the flexibility of service composition and can carry out service QoS prediction during the exe-

CR IP T

cution of the service composition workflow, this paper propose a method for global QoS constraints decomposition. Through global QoS constraints decomposition, the problem of web service composition problem is transformed to a local optimal service selection problem, the complexity of service dynamic composition is reduced, and the OoS prediction operation canbe integrated into the service dynamic composition process.

• it proposes an optimization algorithm named Culture Genetic Algorithm (CGA) by integrating Genetic Algorithm (GA) into the framework of Culture Algorithm (CA), moreover, learning operator based on collaborative learning

AN US

is introduced into CGA. CGA is applied to solve the problem of finding the top k Web service composition schemes and the problem of global QoS constraints optimal decomposition. Moreover, CGA also can be used to solve other Combinatorial optimization problems.

• It 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.

M

• It proposes a Web service QoS dynamic prediction method based on improved Case-Based Reasoning (CBR). This method takes the main environmental factors (such as service load, task type, task amount, cooperation service,

AC

CE

PT

ED

timeliness) into consideration.

1

ACCEPTED MANUSCRIPT

Two-stage Approach for Reliable Dynamic Web Service Composition Zhi-Zhong LIUa,b , Dian-Hui CHUb , Zong-Pu JIAa , Ji-Quan SHENa , Lei WANGa a (College b (College

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

Abstract

CR IP 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 service’s QoS is highly dynamic; these two factors causes reliable dynamic Web service composition to be a challenge. To address this issue, this paper proposes a two-stage approach for reliable dynamic Web service composition. In the first stage, the top K Web service composition schemes based on

AN US

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 service composition is transformed into a local optimal

M

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

ED

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.

CE

1. Introduction

PT

Keywords: Web Service, Web Service Composition, Quality of Service, QoS Prediction

Web service is a type of distributed computing model that is self-contained, modular, loosely coupled, standards-

AC

based, and high capacity. Web services can provide a type of distributed information sharing computing technology that can be used on the Internet or an intranet with standard XML protocols and message formats to eliminate the 5

discrepancies of different application systems [1, 2, 3]. Industry standards such as WSDL, UDDI and WS-BPEL have been provided for describing, locating and combining Web services. The service-oriented computing paradigm and its realization through standardized Web service technologies provide an encouraging solution for the seamless integration of business applications. Currently, composite Web services (CWSs)[4, 5, 6] have been used in many areas, such as virtual enterprise, supply chain, accounting, finances and eScience. Following the service-oriented architecture paradigm, ✩ Fully

documented templates are available in the elsarticle package on CTAN. author:ZhiZhong LIU; Email:[email protected]

∗ Corresponding

Preprint submitted to Journal of LATEX Templates

January 16, 2016

ACCEPTED MANUSCRIPT

10

dynamic Web service composition is described as a process consisting of several tasks. Then, based on running time, concrete optimal Web services are selected and bound for each task. Using the business strategy making process in supermarkets as a use case (UC), in brutal commercial competition, to provide better services and obtain greater benefits, large supermarkets always making business strategies (such as developing a reasonable order plan, determining scientific placement of articles, and predicting the inventory) through

15

data mining. This business process involves data collection, data transmission, data storage, data mining, decision making and decision-execution monitoring, as illustrated in Fig. 1.

Data Transmission Services

Data Storage

Data Mining

Data Storage Services

Data Mining Services

Decision Making

Monitoring of execution

Decision Making Services

Monitoring Services

AN US

Data Collection Services

Data Transmission

CR IP T

Data Collection

Figure 1: A case of Service composition

To realize this process, supermarkets must develop their own software and hardware facilities and have sufficient computing power and storage capacity. They also need to employ hardware, network and software maintenance workers; moreover, they should have a data analysis technician and a decision support expert. therefore, the cost will be large for supermarkets to build their own business information platform. However, with the emergence of cloud computing [7],

M

20

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;

ED

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. 25

It is expected that with the proliferation of Cloud Computing, Software as a Service (SaaS) [11], Big Data and the

PT

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 mining task in the UC, but each of these services has a different quality of service (QoS, such

CE

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]. 30

Moreover, the QoS of a Web service is dynamic in an open network environment, take the data transmission service

AC

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 service in the UC as an example, when the data volumes to be 35

transferred are large, the response time will be long; otherwise, the response time will be short. Research [13, 14] also demonstrates that service QoS is highly dynamic; thus, the QoS of the composite Web services may satisfy users QoS constraints in the design phase, but it may be not able to satisfy users QoS constraints at the running time. However, most studies on QoS-aware Web service composition define the QoS of component services as deterministic quantities [15, 16, 17, 18]. These studies utilize a pre-specified model of the process environment in which composition solutions

3

ACCEPTED MANUSCRIPT

40

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 nonlinear 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

45

in the design phase, but due to the large number of candidate Web services, 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, improving the efficiency and flexibility of dynamic Web service composition remains an open

CR IP T

issue.

Second, most existing service composition methods take the QoS values of component services as static, wherein an 50

optimal composite Web service is constructed based on determined QoS values. These methods neglect the dynamic QoS features, and always violate the QoS constraints when the composite Web service is executed. Therefore, creating a reliable composite Web service is also an open issue.

AN US

Recently, new techniques have been developed to predict the future QoS values of services. Such a predictive ability will facilitate the selection of single services. Nonetheless, limited effort has been devoted to QoS prediction for a 55

composite Web service. In fact, because the environment of Web services is very complex and there are many available candidate services, predicting the QoS of a composite Web service is very difficult. It is obvious that reliable dynamic Web service composition cannot be realized in one step. Therefore, this paper provides a two-stage approach for reliable dynamic Web service composition.

60

M

The main idea of this approach is described as follows. In the first stage, the top K Web service composition schemes are initially identified based on historical QoS values, and the component services involved in the K Web service composition schemes are selected as candidate services. This operation can not only filter out better candidate services

ED

but also can reduce the number of candidate services to improve the efficiency of service dynamic composition. Then, transform the global optimization problem of QoS-aware service composition problem to a local optimal service selection

65

PT

problem by decomposing the global QoS constraints into local QoS constraints. This operation can increase the flexibility of Web service dynamic composition and provide a chance to predict services’ QoS before service selection. The problems of identifying the top K Web service composition schemes and decomposing the global QoS constraints into local QoS

CE

constraints are solved by the proposed swarm intelligence algorithm, the Culture Genetic Algorithm (CGA), which will be presented in detail in Section 4.

70

AC

In the second stage, during the execution of the service composition workflow, the QoS values of the candidate services are predicted before selecting a concrete service for each task. Then, the optimal services are selected according to the predicted QoS values. consider UC as an example, before concrete services are selected for each task (such as data collection, data transmission and data storage), the QoS values of the candidate services are predicted, and then the best service is selected based on the predicted QoS. In this stage, the QoS accuracy of the component services is improved through QoS prediction; thus, the reliability of the composite Web service is enhanced. The QoS dynamic prediction 75

method based on improved Case-based Reasoning (CBR) will be introduced in Section 6.1. The process of two-stage dynamic Web service composition is illustrated as Fig. 2. The contributions of this paper are summarized as follows. (1) This paper proposes an new idea for reliable dynamic Web service composition through two stages. This idea can

4

ACCEPTED MANUSCRIPT

The First Stage Before Service Composition

The Second Stage Service Dynamic Composition

Local Optimal Service Selection

QoS Prediction

Local Optimal Service Selection

QoS Prediction

Local Optimal Service Selection

CR IP T

Decompose Global QoS Constraints into Local Constraints

Find the Top k Service Composition Shcemes

QoS Prediction

Figure 2: Two-stage approach for dynamic Web service composition

not only improve the flexibility of dynamic Web service composition but also can enhance the reliability of the composite service.

AN US

80

(2) This paper proposes an optimization algorithm named culture genetic algorithm (CGA) by integrating Genetic Algorithm (GA) into the framework of the Culture Algorithm (CA); moreover, a learning operator 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 constraints optimal decomposition. Moreover, CGA can be used to solve other combinatorial optimization problems.

M

85

(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.

ED

(4) This paper proposes a dynamic QoS prediction method based on improved case-based reasoning. This method considers key environmental factors, such as service load, task type, task volume, cooperation service and timeliness, 90

which greatly influence QoS.

PT

The rest of this paper is organized as follows. Section 2 introduces related work; Section 3 presents Web services dynamic composition problem; Section 4 introduces the Culture Genetic Algorithm (CGA). Section 5 presents the first

CE

stage of service dynamic composition; Section 6 describes the second stage of service dynamic composition. Section 7 gives the local optimal Web service selection method. Section 8 verifies the effectiveness of our approaches through simulating experiments. Finally, summary and future work are presented.

AC

95

2. Related Work

To place our work in a state-of-the-art context, we briefly describe the related work on Web service composition and QoS prediction. 2.1. Web service composition 100

Recently, QoS-aware Web service composition is an active research issue in service computing and cloud computing, which attracting a lot of researchers from both academia and industry. Many studies have been carried out on this issue. Liu et al.[21] proposed an extensible QoS computation model that supports an open and fair management of QoS

5

ACCEPTED MANUSCRIPT

data by incorporating user feedback. However, the problem of QoS based composition is not addressed by this work. In paper [22], multidimensional multi-choice knapsack problem (MMKP) has been used to model this problem. In works 105

[23, 24], linear and nonlinear programming methods are used to find the optimal solution for this problem. Ardagna et al.[25] proposes an approach for service selection with QoS constraints in global view. Hhuang et al. [26] adopted integer programming approach to solve service selection problem. These methods were very effective when the size of the problem is small. However, these methods suffer from poor scalability due to the exponential time complexity. To achieve higher scalability, Genetic Algorithm and Ant Colony Optimization algorithm are used to solve the problem

110

of Web service composition. Liang et al. [27] provides a hybrid approach for the multi-constraint Web service composition

CR IP T

problem. GAO et al. [28] used simulated annealing-based genetic algorithm to solve the problem of QoE/QoS-awre Web services composition. Simulations showed that SGA was better than GA and SA in efficiency. Jiang et al.[29] proposed a variable length chromosome Genetic Algorithm for handling QoS-aware service composition among multiple paths problem. Liang et al.[30] propose a approach for service selection based on improved genetic algorithm (HPGA) where 115

the hamming similarity degree is used to avoid inbreeding and the pheromone strategy is designed with considering not

AN US

only the individual fitness but also the global information of best chromosomes.

Paper [31] solved the problem of QoS-aware service composition with Multi-objective Chaos ACO, experiment results in [31] showed that Chaos ACO demonstrates better performance than the ACO and GA algorithms. An improved discrete immune optimization algorithm based on particle swarm optimization (IDIPSO) is proposed for Quality of 120

Service (QoS)-driven web service composition with global QoS constraints in work [32], empirical comparisons with recently proposed algorithms on various scales of composite web service instances with global QoS constraints indicate

M

that IDIPSO has better searching capability and stability. In paper[33], C-MMAS algorithm was devised and used to solve the problem of Web service composition with multi-paths, and verified the performance of C-MMAS surpasses the performance of ACO and MMAS algorithm. Paper[34] proposes a novel architecture for semantic web service composition using clustering and Ant colony algorithm.

ED

125

In order to improve the flexibility of Web service composition, ALRIFAI et al. [35] propose a dynamic Web service

PT

composition method based on global QoS decomposition, their research work open a new research direction of Web service dynamic composition. Mardukhi et al.[36] propose a top-down structure (named quality constraints decomposition (QCD)) to decompose the global constraints into the local constraints, using the genetic algorithm (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

CE

130

dynamic composition based on global QoS constraints decomposition with new evaluation model and hybrid swarm

AC

intelligent algorithm. However, for these work, the reliability of the composite Web service are still need to be improved. Most of the current Web service composition methods are designed to find the optimal Web service composition scheme prior to the execution of composite Web service. Although these methods can solve the problem of QoS-aware 135

Web service composition to certain degree, they still have some flaws, such as higher complexity, poor reliability, lower user satisfaction, and so on. Recently, in order to improve the reliability of composite Web service, 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 workflows,

140

and propose a unified probabilistic model for describing QoS values of a broader spectrum of atomic and composite Web services. However, the prediction method only can compute the probability that the QoS of composite service can satisfy

6

ACCEPTED MANUSCRIPT

service-level agreement, cannot predict concrete QoS values, moreover, when there are mass candidate 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. 145

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. Works[40, 41, 42] propose QoS prediction approaches based on collaborative filtering method, the main idea of this approach is to make similarity mining among consumers and QoS data, and then predict QoS of the unused Web

150

CR IP T

services based on other consumers experiences. 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 historical statistics of users in the same cluster, use the linear regression algorithm to predict the QoS value based on invocation time and workload. Paper[45] proposes a collaborative quality-of-service (QoS) prediction approach for web services by taking advantages of the past

AN US

155

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 paper[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 (PMF), and

M

160

an existing graph reduction algorithm is adapted for such representations. In order to improve the quality of composite Web service, Geebelen et al.[48] propose a technique for predicting whether the execution of a service composition will

ED

be compliant with service level objectives (SLOs), they use a kernel based quantile estimator with online adaptation of the constant offset to predict future QoS values. 165

Existing QoS prediction approaches above have promoted the research work of Web service QoS prediction and

PT

improved the accuracy of QoS values, however, most of the existing prediction approaches forecast Web services QoS only based on historic QoS data, do not consider critical factors that influence Web service QoS greatly. Paper [12]

CE

pointed out that Web service QoS change dynamically under the open internet environment, there are several primary factors causes the dynamic nature of Web service QoS. 170

In fact, the load of Web service has great influence on Web service performance. Obviously, QoS of Web service will

AC

be different if the service load is distinct when it deals with the same tasks, the performance of Web service will be better when the service is idle, the performance of the service will be poor when the service is very busy. Secondly, task type and task amount are also key factors that can influence Web service QoS. QoS of Web service will be different when it processes tasks of different types. In addition, QoS of Web service will be different when it deals with tasks of the 175

same type but with different amount. Moreover, QoS of Web service will be distinct when it cooperating with different services. Thus, it is necessary to consider these main factors that influence service performance when to predict Web service QoS. However, existing prediction approaches forecast Web services QoS only based on historic QoS, do not take above factors into consideration, this may lead to inaccurate QoS prediction. To predict Web service QoS accurately, this work

7

ACCEPTED MANUSCRIPT

180

proposes a new QoS dynamic prediction method based on improved Case-based Reasoning (CBR) considering above key factors.

3. The Problem of dynamic Web service composition Based on the time when composite Web services are created, Web service composition could be categorized into static or dynamic[n1sheng], static Web service composition is also known as workflow-based (model-based)service composition, 185

and the dynamic service composition is known as direct service composition without any model guidance. In static

CR IP T

service composition, the aggregation of services takes place at design time. Component service required for composition are selected, bound together and then deployed. Static Web services composition always works well when there exist fixed business flow that can satisfy users demand, and service functionalities or composition requirements do not, or rarely, change. Static composition is not flexible and adaptable in cases when there are frequent runtime changes of 190

requirements or services that cannot be predicted at design time. Once an early binding service becomes unavailable, or if there is a better alternative service,static composition will not be able to provide better support for the execution of

AN US

composite service in real-time. This kind of composition is a time-consuming procedure with no guarantee that the QoS of the composite service will indeed satisfy the users QoS requirements [20].

In contrast, a dynamic Web services composition allows selecting and bounding services during runtime. Dynamic 195

Web services composition requires the execution system to support automatic discovery, selection, and binding of service components. Undoubtedly, dynamic composition is ideal as the Web services environment is highly dynamic in nature. However, dynamic services composition is a very challenging task and a number of important issues need to be considered

M

such as composition correctness, time limits, transactional support and so on [20]. This kind of services composition is a sort of ”service semantic integration system”. Automated services composition approaches typically exploit the semantic Web and artificial intelligence (AI) planning techniques. By giving a set of component services and a specified

ED

200

requirement (e.g., users request), a composite service specification can be generated automatically [49]. However, realizing a fully automated services composition is still very difficult and presents several open issues. Moreover,in dynamic service

PT

composition, it is also difficult to guarantee that the QoS of the composite service will satisfy users QoS requirements due to the Volatility of QoS.

The work studied in this paper is categorized as model-based service composition but not static service composition;

CE

205

this work includes the idea of service dynamic composition, that is, optimal services are selected for tasks comprising the service composition workflow at run time. In this work, composite Web services are not determined in the design phase,

AC

and optimal services are dynamically selected at run time. This mechanism can improve the flexibility of model-based service composition and can address the runtime changes in services that cannot be predicted at design time, better 210

alternative services can also be used. Moreover, in our work, the QoS prediction method is adopted to improve the accuracy of QoS values of services. This improvement can address the problem of unreliable QoS in static and dynamic service composition. 3.1. Model-based dynamic Web service composition Model-based dynamic Web service composition with global QoS constraints is illustrated as Fig.3, in which Ti (1 ≤

215

i ≤ m) denotes the tasks of the service composition process. Each task Ti has a service class SCi that includes many candidate Web services with identical functionalities and different QoS. The problem of dynamic Web service composition 8

ACCEPTED MANUSCRIPT

is to find the optimal Web service for each task at run time, so that the composite service constructed by the selected services can satisfy the global QoS constraints and deliver the global optimal QoS. T1

SC 1

T3

T2

SC 3

SC 4

Tm

Tm

1

SC m 1

SCm

CR IP T

SC 2

T4

Figure 3: Process of Web service composition

Some preliminary concepts about dynamic Web service composition are introduced as follows:

T = {T1 , ..., Ti , ..., Tm } indicates tasks comprising the service composition workflow; m is the number of tasks.

AN US

220

SCi = {si1 , ..., sij , ..., siNi } (i = 1, 2, ..., m) denotes the service class for task Ti . Ni indicates the number of candidate services in SCi . Web services in SCi have the same functionality and different QoS.

QoS = {q1 , ..., qi , ..., qk } indicates QoS attributes of Web services; k is the number of QoS attributes. W = {w1 , ..., wj , ..., wk } indicates user QoS preferences for each QoS attributes; wj (1 ≤ j ≤ k) indicates user preference for the j-th QoS attribute.

M

225

C = {C1 , ..., Cj , ..., Ck } indicates global QoS constraints; Cj (1 ≤ j ≤ k) is a global constraint on QoS attribute qj of a composite Web service.

ED

In practice, various composition styles, e.g., sequential, parallel,alternative and loops can be engaged in a composition plan. In this paper, we focus on investigating the sequential composition model as other research works do [50, 51, 52]; other styles can be reduced or transformed into the sequential model with present mature techniques as mentioned in

PT

230

[53].

CE

3.2. QoS Aggregation for a Composite Web Service QoS values of composite Web services can be calculated according to the QoS values of the component Web services and composite models. Currently, there are several studies on Web service composition models and QoS aggregation formulas. Cardoso et al. [54] devised a stochastic workflow reduction algorithm to compute overall QoS values of

AC

235

service processes. Based on different workflow patterns, they defined QoS aggregation formulas for QoS attributes. QoS attributes usually considered in a service composition include Response Time, Throughput, Reputation, Reliability, Availability and Cost. For the definitions of these properties can refer to the literature [48]. Because the focus of QoS prediction is on the attributes having a volatile nature, we do not consider static attributes such as fixed costs and 240

membership fees. Reputation is also an attribute that offers a general impression about users’ opinions of a service, and is not meant to change frequently over time. The throughput of services often largely depends on the hardware of the underlying infrastructure; throughput is not considered in our work. In this work, we concentrate on non-static QoS attributes. Interesting attributes for our approach are response time, reliability and availability [48]. The aggregation formulas for the four key QoS attributes ( Cost, ResponseT ime, Availability, and Reliability) are presented in Table 1. 9

ACCEPTED MANUSCRIPT

Table 1: QoS aggregation formulas for the Sequential model

(1) Cost C=

m X

(2) ResT Ci

T =

i=1

245

m X

Ti

(3) Ava Ava =

i=1

(4) Rel

Qm

i=1 Avai

Rel =

Qm

i=1 Reli

3.3. Global QoS Constraints and Utility Function

CR IP T

Global QoS constraints indicate users end-to-end QoS requirements. Such constraints can be expressed in terms of upper and/or lower bounds for the aggregated values of different QoS attributes. Let CWSR be a given composition request and C = {C1 , ..., Cj , ..., Ck } be a vector of global QoS constraints on CWSR. 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 feasible solution if its QoS 250

values can satisfy all of the global QoS constraints, that is, Qi Satisf yCi (i = 1, 2, ..., k)), where Qi is the i-th aggregate value of the CWS.

AN US

A utility function is usually used to evaluate the multi-dimensional quality of a composite Web service[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 composite Web services. Similar to previous research [50, 53, 55, 56], this work uses the simple additive weighting (SAW) 255

approach as the utility function. Before computing the utility value of a composite Web service, each QoS attribute value should be transformed into a value between 0 and 1 by comparing it with the minimum and maximum possible

M

values [53]. Examining composite Web service CW S = {S1 , S2 , ..., Sn }, the aggregated QoS values are compared 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

ED

values of the k-th QoS attribute of the CWS are computed as (1) and (2):

0

PT

Qmin (k) =

n X

Qmin (j, k)

(1)

n X

Qmax (j, k)

(2)

i=1

0

CE

where

AC

260

Qmax (k) =

i=1

Qmin (j, k) =

min qk (sji ) ∀sji ∈ Sj

(3)

Qmax (j, k) =

max qk (sji ) ∀sji ∈ Sj

(4)

Here, Qmin (j, k) is the minimum value and Qmax (j, k) is the maximum 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). U (s) =

r X

k=1

Qmax (j, k) − qk (s) · wk . Qmax (j, k) − Qmin (j, k) 10

(5)

ACCEPTED MANUSCRIPT

265

here wk ∈ (0, 1) and

Pr

r X

0

Qmax (j, k) − qk (s) U (CW S) = · wk . 0 0 Q max (j, k) − Qmin (j, k) k=1

k=1

(6)

wk = 1. wk represents users preference for the k-th 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

CR IP T

finding the top K service composition schemes and transform the global optimal service composition problem to a local optimal service selection problem by decomposing global QoS constraints into local QoS constraints. In fact, finding the 270

top K service composition schemes and decomposing global QoS constraints are two typical combinatorial optimization problems; the solutions of these two problems influence the performance of the proposed method. The genetic algorithm (GA) [57, 58, 59] is a global optimization algorithm based on selection and natural genetics that was developed from evolution theory and genetic theory. The main characteristic of the GA that it does not depend on gradient information.

275

AN US

Thus, it is especially suited to address complex and nonlinear problems that are difficult to solve by traditional search methods. Many research results prove that GA is a powerful tool for solving continuous optimization and combinatorial optimization problems [60, 61, 62]. Therefore, the GA is also suitable for solving these two combinatorial optimization problems. However, the prematurity phenomenon of the GA is the largest obstacle to obtaining a better solution, Therefore, some measures must be implemented to ensure that the global optimal solution can be obtained. Culture algorithms (CA) is derived from the culture evolution and is based on the knowledge of an evolutionary system. This algorithm was introduced by Reynolds as a means of simulating culture evolution [63]. The culture

M

280

algorithm is composed of a population space and a belief space. The population space is the main space of the algorithm,

ED

with evolution operation and outcome assessment for the self-iteration solving, and thus generates knowledge constantly. Then, through the accept operation, it saves the knowledge in the belief space. Moreover, the belief space update operates through the self-evolution, and through the ”influence” operating guidelines for further evolution of the main population space. This mechanism communicates between the main population space and belief space information called

PT

285

dual evolution and promotion. the culture algorithm has been successfully used in many fields [64, 65, 66]. Moreover,

evolution [67].

CE

Peng proved that evolution under the influence of culture was far better than evolution solely relying on biological genetic

To solve the two combinatorial optimization problems efficiently,this paper integrates the GA into the framework of the culture algorithm and constructs a new evolution algorithm named the culture genetic algorithm (CGA). Additionally, a

AC

290

learning mechanism inspired by correlation learning is introduced into the CGA. The framework of the CGA is illustrated in Fig.4. The computing process of the CGA is described as 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 295

the specific 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 operation. Learning operations can be designed for specific optimization problems. 11

ACCEPTED MANUSCRIPT

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;

CR IP T

Figure 4: Framework of CGA

Step2: Evolve in the population space 2: Perform evolution process according to the GA; Step3: Evolve in the belief space

AN US

1: Generate initial individuals and evaluate them according to the problem-oriented evaluation function;

3: Extract the top d individuals as knowledge to the belief space according to the Accept() function;

M

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();

Step4. Influence of the knowledge

ED

7: Screen out δ individuals with better evaluation and remove other individuals.

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

PT

9: perform the Inf luence() operation upon the population space 10: EndIf

CE

Step5. Determine whether to stop

11: If (IterationTime == Stopcondition) \\ Nmax is the maximum iteration time 12: Output the optimal result and stop computing

AC

13: EndIf 14: Else

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

300

(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.

12

ACCEPTED MANUSCRIPT

5. The First Stage of Reliable Dynamic Web Service Composition Too many candidate services will increase the complexity of service dynamic composition. It is time-consuming to predict every candidate service’s QoS. To improve the efficiency of service composition and QoS prediction, in the 305

first stage, we aim to reduce the scale of candidate services and filter out better candidate services for each task by identifying the top K service composition schemes based on historical QoS, and select services involved in these schemes as candidate services. Then, to increase the flexibility of service dynamic composition, we propose to decompose the global QoS constraints into local QoS constraints, and transform the global optimization problem of QoS-aware Web

310

CR IP T

service composition to the local optimal service selection problem. In the following sections, the processes of finding the top K service composition schemes and decomposing global QoS constraints into local QoS constraints will be presented in detail 5.1. Finding the top K Web service composition schemes based on CGA

Finding the top K service composition schemes is actually a combinatorial optimization problem; this paper proposes

315

AN US

the CGA designed in Section 4 to solve this problem. The algorithm for solving the problem of finding the top K service composition schemes based on the CGA is named as CGA-SCS. Evolution operators and the process of the CGA-SCS are presented as follows. 5.1.1. Chromosome encoding model in the CGA-SCS

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

320

M

fitness. For the QoS-aware service composition problem, each task has many candidate services. Here, we number the candidate services in each service class with an integer; Therefore, an integer-encoding model is adopted for the CGA-SCS. The chromosome model for this problem is illustrated in Fig. 5, in which T1 ,T2 ,...,Tn are tasks involved in

ED

the service composition workflow, and numbers in boxes indicate the serial number of services selected from candidate service sets. A chromosome indicates a service composition scheme; a case of the chromosome can be illustrated in Fig.

325

T 1

T

2

253 308

T

3

150

Tn

86

Figure 5: Chromosome encoding model

AC

CE

PT

5.

5.1.2. Initial population generating in the CGA-SCS The initial population of the CGA-SCS is generated randomly; that is, for each gene in the chromosome, randomly select a service from the candidate service set, and take the number of the selected service as a gene of the chromosome. Then, calculate the aggregated QoS values of the chromosome according to the formulas presented in Table 1, and check whether the aggregated QoS values can satisfy the global QoS constraints. If not, discard this chromosome and construct

330

a chromosome again; repeat this process until n valid chromosomes are obtained.

13

ACCEPTED MANUSCRIPT

5.1.3. Fitness function in the CGA-SCS For the problem of finding the top K service composition schemes, the fitness function is defined as (6). As a chromosome represents a service composition scheme, so, when evaluating a chromosome, firstly obtain aggregated QoS values of the chromosome according to formulas presented in Table 1, then calculate fitness of the chromosome according 335

to formula (6). 5.1.4. Genetic operators of the CGA-SCS The GA has three important operators: selection operator, crossover operator and mutation operator. The selection

CR IP T

operator selects the most suitable individuals, causing their chromosomes to be preserved for the next generation. The crossover operator consists of generating children from suitable parents, somehow merging their chromosomes. The 340

mutation operator consists of changing one or more genes of the individuals in the next generation, hoping that such changes at the chromosome level may work in favor of the population.

In the CGA-SCS, the roulette wheel is adopted to perform the selection of individuals. Specific operation is that once the selection probabilities are determined for each individual, the wheel is spun; when it stops, the corresponding

345

AN US

individual is selected. This procedure is repeated until a percentage of the generation is selected and their chromosomes are cloned onto the next one.

For the CGA-SCS, the gene segment crossing over method is proposed. The cross over process is illustrated in Fig. 6, in which A1 and A2 are two chromosomes. Suppose that the randomly selected gene segments of A1 are marked with red, the randomly selected gene segments of A2 are marked with yellow, and the crossover operator is to exchange the red gene segment of A1 with the yellow gene segment of A2 . After completing the crossover operation, two new individuals 0

0

M

350

A1 and A2 are generated.

ED

A1 s1i

s2 j

s3l

s1i

snk

Crossover

PT

s nt

s3i

s3i

snk

s1 j

s2 j

s3l

s nt

Figure 6: Crossover operation

CE

s2g

s2g

A2'

A2

s1 j

A1'

In the CGA-SCS, a one-point mutation model is adopted, that is, randomly select one gene of the chromosome, then

AC

randomly select 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 355

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 anothers 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

14

ACCEPTED MANUSCRIPT

Table 2: The complexity of the operators in CGA-SCS

360

(1) Selection

(2) Crossover

(3) Mutation

(4) Learning

O(n2 )

O(nm)

O(nm)

O(nLP )

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.

CR IP T

The learning process is described as follows. First, randomly select several individuals from the population to form a collaborative 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 365

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 illustrated in Fig. 7; here, I1 , I2 ,...,Ik are k different individuals that form a learning group. Segments marked with color are the best segments among the same segments of individuals. The best

AN US

segments are extracted through learning, and form a new individual IN ew. NewI

Learning

Learning

I1

ED

In

M

I2

Learning

Figure 7: Learning Operation

370

PT

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

CE

For the CGA-SCS algorithm, let n be the scale of the initial individuals, m be the number of tasks in the service composition workflow, 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

375

AC

each generation are shown in Table 2. In the CGA-SCS, typical roulette wheel selection needs n roulette operations to generate the new population. Each roulette operation contains at least 1 and at most n times comparisons according to the relative fitness values of individuals. Thus, the average complexity 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(nPL). Therefore, the time complexity of the CGA-SCS is O(n2 ). 380

5.2. Filter out candidate services for each task Assume that the top K service composition schemes found by CGA-SCS are SCSK = {SCS1 , SCS2 , ..., SCSK }, assume that SCS1 =< s1i , s2j , ..., smu >, SCS2 =< s1j , s2t , ..., smp >,..., and SCSK =< s1r , s2q , ..., smf >, where 15

ACCEPTED MANUSCRIPT

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

CR IP T

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 M utationoperation 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;

6: Perform the learning operation in the belief space;

AN US

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

7: Evaluate the new individuals produced by learning;

8: Keep δ individuals with better fitness in the belief space; Step4. Influence of the knowledge

M

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

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

Step5. Determine whether to stop

ED

11: EndIf

12: If (IterationTime == Nmax ) \\ Nmax is the maximum iteration time 13: Output the top K service composition schemes in the population space and stop computing;

PT

14: EndIf 15: Else

17: EndElse

CE

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

AC

sxy indicates services in service composition schemes. Then, collect services at the same position of the K service composition schemes to form a candidate service set for the corresponding task, that is, SC1 =< s1i , s1j , ..., s1r >, 385

SC2 =< s2j , s2t , ..., s2q >, ..., and SCm =< smu , smp , ..., smf >. Take service classes SC1 , SC2 , ..., and SCm as the candidate service sets for the m tasks T1 , T2 , ..., and Tm . The process of filtering out candidate services can be illustrated as Fig. 8. By filtering out services from the K service composition schemes, the number of candidate services will be significantly reduced. This reduction can enhance the efficiency of QoS prediction in the second stage to improve the effectiveness of

390

Web service dynamic composition.

16

ACCEPTED MANUSCRIPT

SC1 i

s1 s1 j r

SCS1

s1

SCS2

SCSm

s1

j

s2

s2

i

s1

s2

j

r

sm t

u

sm

q

t

q

smp f

sm

u

j

s2

s2

s2

sm p

CR IP T

s1

SCm

SC2

sm

f

AN US

Figure 8: Filter better candidate services

5.3. Decomposition of global QoS constraints

To improve the flexibility of dynamic Web service composition and provide opportunities for QoS prediction, the global optimization problem of QoS-aware Web service composition is transformed to a local optimal Web service selection problem by decomposing global QoS constraints into local QoS constraints, the main idea is that, first, each global QoS 395

constraint Ci is decomposed into a set of m local constraints {c1 , c2 , ..., cm } (m is the number of tasks in the service

M

composition composition workflow). Then, set these local QoS constraints as conservative upper or lower bounds for the local optimal service selection for each task. Global QoS constraint decomposition should ensure the following two

ED

points:

(1) If a candidate service for a task can meet the local QoS constraints, then the aggregated QoS values of the 400

candidate services for all of the tasks should satisfy the global QoS constraints.

PT

(2) The local QoS constraints should be relaxed as much as possible to avoid missing any candidate service that might be part of a feasible composite Web service. To decompose global QoS constraints optimally, the value range of each QoS attribute of all of the service classes is

405

CE

divided into a set of discrete quality values that are called quality levels. Then, each global QoS constraint is mapped onto a set of quality levels that will be used as local QoS constraints.

AC

Usually, a user always proposes several global QoS constraints; thus, each service class should satisfy the same number of local QoS constraints simultaneously. The aim of global QoS constraints optimal decomposition is to find an optimal quality level combination for each service class. To solve this problem, an evaluation function for quality level combination must be constructed. 410

5.3.1. Evaluation function for global QoS constraints decomposition Quality levels for each service class Sj are initialized by dividing the value range of each QoS attribute qk into a set of discrete quality values as depicted in Fig.9. qjkt indicates the value of the k-th QoS attribute of the t-th candidate service in service class Sj , Ldjk represents the d-th quality level of the k-th QoS attribute in the service class Sj , and Qmin (j, k) ≤ L1jk ≤ L2jk ≤ ... ≤ Ldjk ≤ Qmax (j, k) 17

ACCEPTED MANUSCRIPT

. QoS values of

Quality Levels of

Sj 1 j1

1 j3

Sj

L1jk

q j1 q j 2 q j3

q jk

L

q j 2 q j3 2

q jk

2 2 L2j1 L j 2 Lj3

L2jk

Ldj1 Ldj 2 Ldj 3

Ldjk

1

q j1

2

1

1

2

1

2

1 j2

L

L

Decomposition

qj1t qj3t

qjk

t

CR IP T

qj1t

Figure 9: The process of producing quality levels

Because each service class has several QoS attributes and each QoS attribute has a set of quality levels, these quality levels can constitute many quality level combinations. To evaluate these quality level combinations, an evaluation function F (EQLCij ) is constructed to compute the fitness of quality level combinations. The function estimates the benefit of using a quality level combination for service class Sj . The motivation for constructing the evaluation function

AN US

415

is that a greater number of candidate Web services under a quality level combination is better, and larger utility values of candidate Web services under a quality level combination are better. The evaluation function for evaluating quality level combinations is defined as (7).

n(QlCj ) max · UQLC (Sj ) j q

(7)

M

F (QlCij ) =

where QLCij indicates the i-th quality level combination for service class Sj , n(QLCi ) represents the number of candidate services under the i-th quality level combination, and q is the total number of all of the candidate services in service

ED

420

max class Sj . UQLC (Sj ) is the maximum utility value of candidate services under the i-th quality level combination. The j

objective of the global QoS decomposition is to find the best quality level combinations for each service class; therefore,

M aximize(

CE

PT

the objective function for global QoS constraints optimal decomposition problem is defined as (8). n X

F (QLCij )

(8)

j=1

Global QoS optimal decomposition is a combinatorial optimization problem for which the intelligent algorithm CGA 425

is designed and to solve this problem. Here we name the global QoS optimal decomposition based on CGA as CGA-QD.

AC

The chromosome encoding model, selection operator, crossover operator, mutation operator and learning operation of CGA-QD will be presented in the following sections. 5.3.2. Encoding Model for the CGA-QD The aim of global QoS constraints decomposition is to determine the optimal quality level combination for each 430

service class. Because each service class corresponds to a quality level combination, and a service composition workflow always has several service 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 suitable 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 } indicates QoS attributes included in global QoS constraints. 18

ACCEPTED MANUSCRIPT

435

Qmk Le represents the e-th quality level of the k-th QoS attribute of service class Sm . The rows of the chromosome represent quality level combinations for different service classes.

ĂĂ

Qk

Q11Li

Q12Lp Q13Lx

ĂĂ

Q1k Lf

Q21L j

Q22Lq Q23Ly

ĂĂ

Q2kLg

Q31L

Q32Lt

Q33Lz

ĂĂ

Q3k Lh

ĂĂ

ĂĂ

ĂĂ

ĂĂ

ĂĂ

Sm

Qm1Lr

Qm2Lu

Qm3Lv

ĂĂ

l

5.3.3. Generating initial individuals for the CGA-SCS

Qmk Le

AN US

Figure 10: An instance of chromosome

CR IP T

S1 S2 S3

ĂĂ

Q3

Q2

Q1

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 combination for the current service 440

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 until n valid chromosomes are obtained. A valid chromosome should satisfy two points: (a) for each row of the chromosome, there

M

exist Web services that can satisfy the local constraints in the quality level combination, and (b) for each column of the

445

ED

chromosome, the aggregated value of the column can satisfy the corresponding global QoS constraint. 5.3.4. Evaluation function for the CGA-QD

An evaluation function of the global QoS decomposition problem is used to calculate the sum of evaluations of the

PT

quality level combinations in the chromosome. The fitness function is defined as (8). This function is used to find the optimal quality level combination for all of the service classes.

450

CE

5.3.5. Genetic operators for the CGA-QD

In this paper, a roulette wheel model is adopted to complete the selection operation in the CGA-QD. A gene block crossover operator is designed and illustrated in Fig. 11, in which A1 and A2 are two chromosomes. Suppose that the

AC

randomly selected gene blocks of A1 are marked with red and the randomly selected gene blocks of A2 are marked with yellow. Then, exchange the red gene blocks of A1 with the yellow gene block of A2 . After completing the crossover 0

0

operator, two new individuals A1 and A2 are generated. 455

In the CGA-QD, a one-row mutation operation is adopted to randomly select a row of a chromosome, then, new quality levels are randomly selected from the corresponding quality level collections to replace the selected quality levels in the chromosome. 5.3.6. Learning operation in the CGA-QD The process of the learning operation in the CGA-QD is described as follows: First, randomly select several individuals

460

from the population to form a learning group. Second, divide each individual into several segments. Third, for the 19

ACCEPTED MANUSCRIPT

A1'

A1

Q11Li

Q12Lp Q13Lx

Q21Lj

Q22Lq Q23Ly Q24Lp ĂĂ Q2kLg

Q31L

Q32Lt

Q33Lz Q34Le ĂĂ Q3kLh

ĂĂ

ĂĂ

ĂĂ

l

Q14Lg ĂĂ Q1kLf Q Q L Q21Lj Q22Lr 23 f 24Lq ĂĂ Q2kLg Q31L Q32Lb Q33Ls Q34Lj ĂĂ Q3kLh l

Q14Ly ĂĂ Q1kLf

ĂĂ

Qm1Lr Qm2Lu Qm3Lv Qm4Lw ĂĂ Qmk Le

ĂĂ

ĂĂ

ĂĂ

Qm1Lr Qm2La Q Lx Qm4Ll n3

ĂĂ Qmk Le

h Q12Lp Q13Lx Q14Ly ĂĂ Q1kLv Q21L Q L Q Ly Q24Lp ĂĂ Q2k Lp k 22 q 23 Q31Lp Q32Lt Q33Lz Q34Le ĂĂ Q Ld 3k

h Q12Lt Q13Lc Q14Lg ĂĂ Q1kLv Q21L Q Lr Q23L Q24Lq ĂĂ Q Lp k 22 2k f Q31Lp Q L Q Ls Q L ĂĂ Q Ld 32 b 33 3k 34 j ĂĂ

ĂĂ ĂĂ

Q11L

Q11L

ĂĂ

ĂĂ

A2'

Crossover

A2

ĂĂ

ĂĂ

ĂĂ ĂĂ

Q12Lt Q13Lc

ĂĂ

ĂĂ ĂĂ

ĂĂ

CR IP T

Q11Li

ĂĂ

Qm1Lu Qm2Lu Qm3Lv

Qm1Lu Qm2LaQm3Lx Qm4Ll ĂĂ QmkLr

ĂĂ ĂĂ

Qm4Lw ĂĂ Qmk Lr

AN US

Figure 11: Crossover Operation

ĂĂ

identical segments of the individuals in the group, identify the best segments through comparison among the same segments. Finally, combine the selected segments to form a new individual. The learning operation in the CGA-QD is illustrated in Fig. 12, in which < I1 , I2 , ..., Ik > are k different individuals in the learning group and segments marked

M

with color are the best segments among the identical segments. Through learning, the best segments can be selected,

Figure 12: The learning process

AC

465

CE

PT

ED

and all of the selected segments composed together can form a new individual IN ew .

5.3.7. The process of global QoS constraint decomposition The process of global QoS constraints optimal decomposition based on CGA is described as Algorithm 3. After obtaining local QoS constraints for all of the service classes, define these local QoS constraints as upper/lower bounds for selecting the best Web service for each task. 470

5.3.8. The complexity of the CGA-QD For the CGA-QD, let n be the scale of the population, m be the number of tasks in the service composition workflow, and k be the number of QoS attributes. P is the number of individuals that form a learning group, and L is the number of segments of the learning individuals. The complexities of the CGA-QD in each generation are shown in Table 3. In

20

ACCEPTED MANUSCRIPT

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; η: knowledge 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;

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

CR IP T

Step 1.Generate initial population;

3: Perform Selectionoperation, Crossoveroperation and M utationoperation 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;

6: Perform the learning operation in the belief space;

AN US

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

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 == η)

perform the influence operation according to the Inf luence() function on the population space

M

10:

11: EndIf Step5. Determine whether to stop

ED

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

PT

15: Else

17: EndElse

CE

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

the CGA-QD, a typical roulette wheel selection needs n roulette operations to generate a new population. Each roulette operation contains at least 1 and at most n times comparisons according to the relative fitness values of individuals. Thus

AC

475

the average complexity of a selection operator is O(n2 ). Moreover, crossover and mutation operations in the CGA-QD are only executed once for each individual; thus, the complexities are both at least O(nmk) and at most O(nmk). The complexity of the learning operation is O(nkP L). Therefore, the complexity of CGA-SCS is O(n2 ).

6. The Second Stage of Dynamic Web Service Composition 480

In the second stage of reliable dynamic Web service composition, QoS prediction is adopted to enhance the accuracy of each service’s QoS; that is, the QoS of each candidate service is predicted before selecting the best service for each task. To obtain an accurate QoS, this paper proposes a QoS prediction method based on improved case-based reasoning

21

ACCEPTED MANUSCRIPT

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(nP Lk)

(CBR). This method considers several key factors that influence a service’s QoS. The QoS prediction method based on

485

CR IP T

improved CBR is introduced in detail in the following sections. 6.1. QoS dynamic prediction based on improved CBR

In the dynamic Internet environment, there are several factors that greatly influence Web service QoS, such as serviceload, tasktype, taskvolume, and cooperationservice. There exist relationships between these factors and Web service QoS. To predict Web service QoS accurately, this study considers these factors and proposes a dynamic QoS prediction method based on improved case-based reasoning. The main idea of this QoS prediction method is that when a service operates in an identical or similar environment, and the cooperation service and the task to be processed are

AN US

490

identical or similar, then, the QoS of the service will be identical or similar.

Case-based reasoning (CBR) is a popular problem-solving methodology that solves a new problem by remembering previous similar problems and reusing the solutions of these problems [70, 71]. CBR has been successfully 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 describes the problem and the second part presents a solution of the

M

495

ED

problem to be solved. A case model of CBR can be illustrated as (9).

Case =< P roblemdescription(p1 , p2 , ..., pr )||Solution(sol1 , sol2 , ..., solu ) >;

(9)

PT

where P roblemdescription(p1 , p2 , ..., pr ) indicates important elements of the problem to be solved, and r is the number of the problem elements.

Solution(sol1 , sol2 , ..., solu ) presents the solution of the problem, and u is the

number of elements of the solution. The meaning of the case model is that the current situation of the problem is P roblemdecription(p1 , p2 , ..., pr ); thus, the solution of the problem is Solution(sol1 , sol2 , ..., solu ). Case-based reasoning

CE

500

is very appropriate for QoS prediction because the case model of CBR is 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,

AC

and cooperationservice; the second part is suitable to describe service QoS values, such as Cost, Responsetime, Availability, and Reliability. A QoS case indicates that when a service is under the situation described in the first 505

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 similar historic cases from the case-base. b. Reuse solutions of similar historic cases to generate a proper solution to the current problem. 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)

510

of the QoS prediction method are presented in detail in the following sections.

22

ACCEPTED MANUSCRIPT

6.1.1. QoS case model The QoS case model is defined as < currentsituationof service k 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 515

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

CR IP T

added to QoS cases. The QoS case model is defined in (10).

QoSC =< SL, T T, T A, CoS k q1 , ..., qk >T imeT ag

(10)

In the QoS case model, SL indicates service load during processing a task, T T and T V indicate the task type and task volume, CoS presents the cooperation service, T imeT ag presents the time when this QoS case was created. < q1 , ..., qk > 520

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

AN US

the model. 6.1.2. Organization of QoS cases

The basic principle of CBR is to find one or more similar historical cases of the target case, and then generate a solution for the target case based on solutions of the selected similar historic cases. When the number of historic QoS cases is large, the retrieving process will be time consuming. To improve the efficiency of retrieving similar cases,

M

historical QoS cases should be organized reasonably. For QoS cases, cooperation service, service load, task type and task volume are key problem features; using these features as indexes to organize QoS cases could improve the speed of case

ED

retrieval. The QoS of the service will be different when it cooperates with different services; therefore, we first classify QoS cases according to the cooperation services. Because Web service QoS is not comparable when addressing tasks of different types, QoS cases are classified with the same cooperation service according to task type. Then, QoS cases are

PT

classified according to the service load range. Here the load range is divided into five intervals, such as:

CE

0 ≤ SL < 20%, 20 ≤ SL < 40%, 40 ≤ SL < 60%, 60 ≤ SL < 80%, 80 ≤ SL < 100% Finally, QoS cases are stored sequentially according to task volume. The organization of QoS cases can be illustrated as Fig. 13.

AC

525

6.1.3. Retrieving most similar QoS cases When receiving a QoS prediction demand, the QoS prediction system constructs a target QoS case based on the current situation of service. The target QoS case model is defined as (11). T C =< SL0 , T T0 , T A0 , CoS k?q1 , ..., ?qk >T imeT ag

(11)

where SL0 is the current service load, and T T0 and T V0 are task type and task volume of the task to be processed, CoS 530

means the cooperation service, ?q1 , ..., ?qk indicate QoS values to be predicted. T T0 and T V0 can be determined form the description of the task. SL0 can be calculated according to (12). 0

0

0

SL = w1 · U RCP U + w2 · U RI/O + w3 · U RM 23

(12)

ACCEPTED MANUSCRIPT

QoS Case

CS1

ĂĂ

CSi

ĂĂ

TT1

ĂĂ

TTi

ĂĂ

CSk

TTl

ĂĂ

SLi

ĂĂ

SLm

SL1

ĂĂ

SLi

ĂĂ

SLm

TV1

ĂĂ

TVi

ĂĂ

TVn

TV1

ĂĂ

TVi

ĂĂ

TVp

Figure 13: Organization of QoS Cases

CR IP T

SL1

where U RCP U , U RI/O and U RM denote the utilization rate of CPU, I/O and the Memory of the Server in which the 0

0

0

0

0

0

Web service is deployed, w1 , w2 and w3 indicate the importance of U RCP U , U RI/O and U RM , and w1 + w2 + w3 =1. 0

0

0

The value of w1 , w2 and w3 could be determined through a trial and error method, here we assume they are known. To predict the QoS values of the target QoS case, retrieve the top d similar historical QoS cases from the QoS case-

AN US

535

base that are similar to the target case from. In this paper, a historical QoS case QoSCi is similar to the target case T C if and only if the similarity between QoSCi and T C is greater than a similarity value ν defined in advance. The process of retrieving similar QoS cases is presented as 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;

M

540

(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

ED

historical QoS cases based on the computed similarity. The similarity between historic QoS cases and the target case includes local similarity and global similarity. Local similarity indicates a similarity of factors between historic QoS cases and the target case, whereas the global similarity is

PT

545

the weighted average of local similarities. Pal et al. verified that Manhattan distance is the best method of calculating local similarity[75]; therefore, similarity-calculating formula between historic QoS cases and a target QoS case based on

Sim(T C, SCi ) = sim1 · ws1 + sim2 · ws2 ;

(13)

AC

CE

Manhattan distance is defined as (13):

where ws1 + ws2 = 1, ws1 and ws2 indicate the weight of the two local similarities. Formulas for calculating local 550

similarities are defined as follows: (1)sim1 = 1 − |SL0 − SLj |: computes the similarity of load between historic QoS cases and a target case. (2)sim2 = 1 −

|T V0 −T Vj | T Vmax :

computes the similarity of task volume between historic QoS cases and a target case, where

T Amax is the maximum of task quantity the service could process. ws1 and ws2 indicate weights of similarities of service load and task volume. Suppose {QC1 , QC2 , ..., QCd }are the top 555

d historically similar QoS cases; the next step is to generate a solution for the target QoS case based on these similar QoS cases.

24

ACCEPTED MANUSCRIPT

6.2. QoS prediction After obtaining d similar historic QoS cases, the QoS values of the target case can be generated based on the QoS values of the d similar QoS cases. Currently, there are several approaches for generating solutions based on similar 560

historic cases. In this paper, time stamp has been added to the QoS cases; a newer QoS case has a higher reference value. Before computing the solution of the target case, we first sort the d similar QoS cases according to time tag and assume the arrangement is QC1  QC2  ...  QCd . In this paper, we propose a new solution-generating formula, which is defined as (14). 00

00

00

00

00

00

00

CR IP T

00

T CQoS = w1 QC1QoS + ... + wd QCdQoS ;

(14)

where w1 > w2 > ... > wd , w1 + w2 + ... + wd = 1, T CQoS denotes the QoS vector of the target case, and < 565

QC1QoS , QC2QoS , ..., QCdQoS > indicate the QoS vector of similar historic QoS cases. In this formula, the weight of the newer QoS case is set higher to ensure that the newer QoS case will impose a stronger influence on generating the solution for the target case. By incorporating the solution parts of the d similar historic QoS cases into (13),the QoS values of

AN US

the target case can be produced. Web service QoS prediction based on improved CBR is described as Algorithm 4. Algorithm 4 :QoS prediction based on improved CBR Input: SL0 , T T0 , T A0 , CooperService, historical QoS cases; Output: Predicted QoS values;

Step1. Create target QoS case based on SL0 ,T T0 ,T A0 and CooperService;

M

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 (13);

ED

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

PT

case base.

570

CE

6.3. The complexity of the QoS prediction method For the QoS prediction method, let n be the scale of the QoS cases that have the same cooperation service and task type as the target QoS case and d be the number of similar QoS cases. The complexities of the QoS prediction method

AC

are shown in Table 4. The complexity of computing the similarity between a target QoS case and historical QoS cases is O(n), the complexity of selecting the top d historical QoS cases lies in the sorting operation, and its complexity is O(dn2 ). The complexity of generating QoS values of the d historical QoS cases is O(dk 2 ). Therefore, the complexity of 575

the QoS prediction method is O(n2 ).

7. Local optimal Web service selection During the running of the service composition workflow, before selecting the best service for the current task, predict candidate services’ QoS based on the QoS prediction method. Then, according to the predicted QoS values, select the optimal Web service that can satisfy corresponding local QoS constraints and has the best fitness value. the local optimal 25

ACCEPTED MANUSCRIPT

Table 4: The complexity of QoS prediction method

580

(1) Similarity Computing

(2) Similar cases selecting

(3) QoS predicting

O(n2 )

O(dn2 )

O(dk 2 )

Web service selection algorithm is described as Algorithm 5. Through this service selection method, during the execution

CR IP T

of the Web service composition process, best services can be selected for all of the tasks. Algorithm 5 :Local optimal service selection algorithm Input: Predicted QoS of candidate services for the current task, local QoS constraints corresponding to the current task; Output: Best service for current task;

Step 1. Set local QoS constraints of the current task as the upper or lower bounds for candidate services;

AN US

Step 3. Filter out candidate services whose predicted QoS can satisfy local QoS constraints; Step 4. Calculate finesses of the filtered services according to (5);

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

7.1. The complexity of the local optimal service selection method

M

For the local optimal service selection method, let K be the number of the candidate services for the current task and r be the number of QoS attributes. The complexity of computing the fitnesses of candidate services is O(rK). The complexity of selecting the optimal service lies in the sorting operation, and its complexity is O(K 2 ). Therefore, the

ED

585

complexity of the local optimal service selection method method is O(n2 ).

PT

8. Experimental Results

The experiment work contains two major parts. The first part is to verify the effectiveness of dynamic Web service

590

CE

composition based on global QoS constraints optimal decomposition; the second part is to verify the validity of the QoS prediction method.

AC

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 595

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 consisting 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)ResponseT ime < 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, ResponseT ime,

600

Reliability and Availability and are set as 0.35, 0.3, 0.25 and 0.1, respectively. QoS values of candidate Web services of 26

ACCEPTED MANUSCRIPT

the nine service classes are randomly generated within certain ranges. The value ranges of Reliability 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 ResponseT ime of the services in the nine service classes are different.Value ranges of Cost and ResponseT ime of all of the service classes are set as follows. 605

(1) For service class S1 : 8 =< Cost <= 25; 1 =< RsponseT ime <= 20; (2) For service class S2 : 20 =< Cost <= 50; 15 =< RsponseT ime <= 30; (3) For service class S3 : 1 =< Cost <= 15; 5 =< RsponseT ime <= 15;

(5) For service class S5 s: 1 =< Cost <= 10; 10 =< RsponseT ime <= 20; 610

CR IP T

(4) For service class S4 : 10 =< Cost <= 25; 2 =< RsponseT ime <= 8;

(6) For service class S6 : 20 =< Cost <= 40; 20 =< RsponseT ime <= 32; (7) For service class S7 : 12 =< Cost <= 24; 3 =< RsponseT ime <= 9; (8) For service class S8 : 1 =< Cost <= 5; 12 =< RsponseT ime <= 25; (9) For service class S9 : 5 =< Cost <= 15; 14 =< RsponseT ime <= 25;

615

AN US

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 experience. The existing research result proves that the better 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 probability 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

M

620

follows. Find the maximum and minimum value of the k − th QoS attribute by statistical methods. Here assume that the maximum and minimum values of the k − th QoS attribute are maxqk and minqk , respectively. Then, generate the

ED

quality level of each QoS attributes by formula (15). L=

(maxqk − minqk ) d

(15)

PT

Finally,constructing the quality level set of each QoS attribute, which is presented as (16): (16)

CE

LevelSetqk ={minqk , minqk + L, ..., minqk + (d − 1) · L, maxqk }

After obtaining the quality level set of each QoS attribute of each service class, we can produce chromosomes for the GA. 625

A two-dimensional array is used to store a chromosome. The combination of quality levels of the four QoS attributes of

AC

a service class is stored in a row of the two-dimensional array. Chromosomes are produced randomly, that is, for each service 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). Assemble 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 630

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 fitness of the 100 chromosomes are {f it1 , f it2 , ..., f it100 } 27

ACCEPTED MANUSCRIPT

then, compute the the selection probability of the each chromosome according to (17). f iti pi = P100 j=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 selection method until the size of of the new population is 100. 635

(4) Crossover Operation in the GA

CR IP T

Crossover operation is a major operator in the GA to generate a new individual by exchanging parts of two specific chromosomes with a certain probability. In this paper, the gene-segment crossover method is adopted. The crossover process is described as follows. First, randomly pair the chromosomes. Then, randomly determine two locations of the row vector of each chromosomes pair. Finally, exchange the two gene segments determined by the two locations. The 640

process of the crossover operation is illustrated in Fig. 11. (5) Mutation Operation in the GA

AN US

Mutation operation in the GA is also a method for generating 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 645

is, randomly select a columna of the two-dimensional array that indicates a chromosome. Then, according to a certain probability, exchange the quality levels in the determined column with quality levels that are randomly selected from quality level sets to which the determined quality levels belong.

M

The parameter setting and the setup of operations of the GA have some reference value for solving a similar problem with the global QoS decomposition problem. In this experiment, the number of excellent individuals extracted to the belief space is set to 20, and the generations of knowledge accumulation in the belief space is set to 5. The number

ED

650

of individuals that form a learning group is 5. The experimental environment is a PC configured with the following configures, CPU: Intel(R) Core(TM) Duo, 2.93 GHz; Memory: 1.00 GB; and OS: Windows 7. The time unit of the

PT

following experiments is one second. The algorithm of global QoS constraint optimal decomposition based on the CGA is realized with C++ programming language. 8.1.2. Experiment 1

CE

655

In this experiment, set m ∈ {50, 100, 200, 300, 400}, and set d = 20. Then, execute the dynamic Web service composition algorithm, and record the running time of the algorithm with different numbers of candidate Web services.

AC

Experimental results are depicted in Fig. 14, in which the vertical axis represents the running time of the algorithm, and the horizontal axis denotes the number of iterations. 660

As Fig. 14 indicates, with an increase in the number of candidate Web services, the running time of the dynamic Web service composition algorithm does not significantly increase. By comparing we can found that there is linear growth between the running time of the algorithm and the increase of the number of candidate services. Therefore, we can say that the service composition algorithm proposed in this paper has better feasibility and scalability. 8.1.3. Experiment 2

665

Experiment 2 is used to verify the influence of the quality level number on the performance of the service composition method, here named W SC− CGA. In this experiment, set m = 100, and the quality level number d varies from 10 28

ACCEPTED MANUSCRIPT

25 50 100 200 300 400

20

time

15

10

5

0 100

200

300

400

500

600

700

800

CR IP T

iteration times

Figure 14: Running time of the algorithm with different m

to 40. We iterate the service composition method with different quality level numbers for 100,200,300,400,500 and 600 times, recording the running time and evaluation values of the CWS found by the service composition method. The experimental results are illustrated as Fig. 15 and Fig. 16.

Fig. 15 describes the running time of the W SC− CGA with a different quality level number, in which the vertical axis

AN US

670

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 quality level number is the main factor that influences the speed of W SC− CGA. 120

80

60

ED

running time

10 20 30 40

M

100

40

20

CE

PT

0 100

150

200

250

300

350

400

450

500

550

600

iteration time

Figure 15: Running times of W SC− CGA with different d

Fig. 16 describes best solutions found by W SC− CGA with a different quality level number, in which the vertical axis represents the evaluation of CWSs founded by W SC− CGA, and the horizontal axis denotes the quality level numbers.

AC

675

As Fig. 16 indicates when the quality level number is set to 10, the solution founded by W SC− CGA is the best. Considering the experimental results, we can find that when set the quality level number as 10, W SC− CGA not only can run fast but also identify a better solution. So, the quality level number in this paper is set to 10. 8.1.4. Experiment 3 680

Experiment 3 is to verify the superiority of W SC− CGA. In this experiment, we use W SC− CGA and the C −M M AS algorithm provided in works [33] to solve the service composition problem designed is Section 3.1. The number of tasks in the service composition workfolw is 9, the number of Web services in each service class is 50, and the quality level number is 10. Other parameters of W SC− CGA are set as in Section 8.1.1. The parameters of C − M M AS are set as 29

ACCEPTED MANUSCRIPT

0.64

evaluation value

0.62

0.6

0.58

0.56

0.54

0.52 10

15

20

25

30

35

40

CR IP T

quality level number

Figure 16: Solutions founded by W SC− CGA with different d

proposed in works [33].

The two methods are executed under in identical environments. The running time and the solution found by each method are recorded. Experimental results are presented in Fig. 17. The vertical axis represents the evaluation of

AN US

solutions, and the horizontal axis denotes running times of the two algorithms. Solutions founded by the two algorithms and the corresponding running times are also presented in Fig. 18. From Fig. 17 and Fig. 18, we can determine that W SC− CGA has better searching capability and a fast convergence rate. 0.6

0.58

M

0.54

0.52

ED

evaluation value

0.56

0.5

CWS-CGA C-MMAS

0.48

0

10

20

30

40

50

60

70

80

90

100

running times

Figure 17: Performance comparison

CE

PT

0.46

AC

685

Figure 18: Solutions and running times of the two algorithms

30

ACCEPTED MANUSCRIPT

690

8.2. Experiment II 8.2.1. Experiment design To verify the validity of the QoS dynamic prediction method, simulation experiments are conducted on the Web service application platform. A Web service with two computing functions is developed; one function is to calculate the rank of a large matrix, and another function is to calculate the eigenvalues of the large matrix. Here, use the calculation

695

of matrixs rank as the first task type, recorded as type I; use the calculation of the matrixs eigenvalues as the second task type, recorded as type II. The order of the matrix is used to indicate the task volume.

CR IP T

The simulation experiment platform consists of two components. The first component of the platform is the client simulated by a PC. The configuration of the PC is, CPU2vCPU 1674 MHz, Memory2048 MB, OSWindows XP. The second component is a Web Server on which the service is deployed. The configuration of the Web Server is CPU2vCPU 700

1674 MHz; Memory1024 MB; and OSWindows XP. In this experiment, some tasks are randomly generated, task type is randomly produced between I and II, and task volumes are randomly generated in the interval [500, 2000]. Then, these tasks are randomly submitted to the Web service. When a task is submitted, the client records the task type, task

AN US

volume and the submission time Tsub ; when the result is received, the client records the completion time Tcomp ; then,

705

Figure 19: Structure of experiment platform

AC

CE

PT

ED

M

the response time T is computed by formula: T = Tcomp − Tsub . The experiment platform is illustrated in Fig. 19.

In this experiment, CPU utilization is used to indicate the load of the service; during the process of handling tasks, CPU utilization is recorded every 50 ms. After the task is completed, the average value of CPU utilization is interpreted as the load of the service. Because there is no cooperation between services in this simulation experiment, the factor of cooperation service is not considered. After a task is completed, create a QoS case according to the load, task type, task volume and processing time. In this experiment, 1750 QoS cases with task type I and 1500 QoS cases with task type II

710

are produced. Only the ResponseT ime attribute is considered.

31

ACCEPTED MANUSCRIPT

8.2.2. Experiment 1 This experiment is to verify that Web service QoS is subject to the influence of several key factors, such as service load, task type and task volume. In this experiment, keep the load of the service at 30%; then, produce some tasks with different task volumes and different task types, and submit these tasks to the service. Record the response time of these 715

tasks. Experiment results are described in Fig. 20. 60 task type I task type II

40

30

20

10

0 200

400

600

800

1000

1200

1400

1600

1800

2000

AN US

volumes of tasks

CR IP T

response times

50

Figure 20: Response time of tasks under the same service load

Fig. 20 show the following: (1) Although the task amount and service load are the same, if the task type is different, the response times of these tasks are different; (2) Although service load and task type are the same, if the volumes of the tasks are different, the response times of these tasks are different. As seen in Fig.20, response time increases with

720

M

the increase of the volume of task. Therefore, it can be concluded that when service load, or task type, or task volume changes, the QoS will also change. Thus, to predict Web service QoS, it is necessary to consider the factors that cause

ED

the fluctuation of the Web service QoS. 8.2.3. Experiment 2

When using the case-based reasoning method to solve a new problem, the quality of similar historical cases is very

725

PT

important; therefore, it is 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 case-based reasoning is

CE

realized with the C++ programming language. The experiment environment is a PC configured with CPU: Intel(R) 4 2.40 GHz, Memory: 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

730

AC

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 gradually 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 number of similar cases, more high-quality similar cases are reused, thereby improving 735

precision of prediction is improved; As seen in Fig. 20, when the number of similar cases is 6, the prediction accuracy is the highest. Subsequently, when the number of similar cases gradually becomes grater, the prediction accuracies begin to decrease, this decrease occurs because that with the increase in the similar cases, some similar cases with poor quality will be reused, thus affecting prediction accuracy. 32

ACCEPTED MANUSCRIPT

83.8 83.6

prediction accuracy

83.4 83.2 83 82.8 82.6 82.4 82.2 82 81.8

1

2

3

4

5

6

7

8

9

10

CR IP T

values for parameter k

Figure 21: Average forecast error rate for the 20 test cases

To obtain the best prediction effect, the number of similar cases is set to 6. That is, when predicting the QoS values 740

of a new QoS case, select the top 6 historical QoS cases according to their similarity, and compute QoS values of the new

AN US

QoS case based on the five similar QoS cases. 8.2.4. Experiment 3

This experiment is to verify the effectiveness of our QoS prediction method. In this experiment, a QoS prediction method based on CBR and a QoS prediction method based on an optimized vector machine[76](O-SVM) are adopted to 745

predict the response time of QoS cases, O-SVM is produced through optimizing the parameters of SVM by an aartificial colony bee algorithm [77]. In this experiment, the scale of the QoS data is 896, the first 800 data points are used as

M

training data, and the last 96 are used as a testing data set. For each experiment, randomly select 20 data values from the testing data set and use them as testing data. For the O-SVM method, set the loss function parameter ε = 0.01,

dynamically determined by the ABC algorithm. In order to verify the performance of the O-SVM method, the QoS data are increased 50 by 50 during the experiment, and the parameters of SVM is optimized for each group of data, and is used

PT

to train SVM in the next group of data and complete the prediction of testing QoS data. For the QoS prediction method based on improved CBR, set ws1 = 0.6,ws2 = 0.4;w1 = 0.3,w2 = 0.25,w3 = 0.2, w4 = 0.15,w6 = 0.1, QoS prediction is

CE

to be performed when the scale of train QoS data reaches 10, 20, 30, ..., 380, 390 and 400. For each experiment, the accuracy rate of the prediction is the average value of the 20 iterations. The experimental results are shown in Fig. 22. 0.9

0.85

0.8

prediction accuracy

AC

750

ED

the value range of penalty parameter c and kernel function parameter σ is [0.1, 1000], and the value of c and σ are

0.75

0.7

0.65

CBR O-SVM

0.6

0.55

0

50

100

150

200

250

300

350

the scale of QoS data

Figure 22: Comparison of prediction accuracy

33

400

ACCEPTED MANUSCRIPT

755

Fig. 22 shows that the prediction accuracy of the improved CBR and O-SVM is gradually improved as the scale of the training QoS data increased. When the scale of the training QoS data is in [10, 140], the prediction accuracy of the improved CBR is higher than that of the O-SVM. This is results occurs because when the scale of the training QoS data is small, the O-SVM cannot obtain sufficient training. Therefore, the prediction accuracy of the O-SVM is lower. 760

When the scale of the training QoS data is in [140, 240], the prediction accuracy of the O-SVM is greater than that of the improved CBR. this difference occurs because that when the scale of the training QoS data is large, the O-SVM can obtain sufficient information and can be trained fully. So it can exert its nonlinear simulation advantage, making

CR IP T

the prediction accuracy greater than that of the improved CBR; When the scale of the training QoS data is larger than 300, the prediction accuracy of the O-SVM and the improved CBR are approximately the same; and when the scale of 765

the training QoS data is greater than 300, the variation between the prediction accuracies of the two QoS prediction methods is small.

The running times of the two QoS prediction methods are presented in Fig. 23. Fig. 23 shows that the prediction speed of the improved CBR was faster than that of the O-SVM, particularly when the scale of the training QoS data

AN US

increased. 0.03

0.025

0.015

M

running time

0.02

0.01

0.005

ED

0

0

50

100

150

200

CBR O-SVM

250

300

350

400

the scale of QoS data

770

PT

Figure 23: Running times of the two QoS prediction methods

Therefore, from the above experimental results, we conclude that when the scale of the training QoS data is in

CE

[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 prediction accuracy of the O-SVM is better than that of the improved CBR, but the prediction

AC

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 approximately the same, but the prediction speed of the improved CBR 775

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 difficult 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 provide a QoS adaptive prediction model that can schedule the most appropriate

780

QoS methods for the current QoS prediction situation.

34

ACCEPTED MANUSCRIPT

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 problem, unlike existing solutions 785

that model the QoS-aware service composition problem as a conventional combinatorial optimization 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 composition schemes

CR IP T

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 790

into the service dynamic composition process, this paper transforms the problem of QoS-aware service composition to a local optimization 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

795

AN US

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 process 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 according to the real-time situation. Moreover, we are planing to verify this two-stage service dynamic composition method in a real cloud-computing platform and continue to improve it.

M

800

ED

Acknowledgements

This work is supported by: The National Natural Science Foundation Fund China(No.61300124; No.61472106;

PT

No.61403128); Major projects of science and technology in Shandong Province(2015ZDXX0201B02); Basis and frontier of Henan Province (152300410212); Soft science research project of Henan Province(152400410513); Zhengzhou leading 805

talent project(131PLJRC645); Henan Polytechnic University Youth Fund Project(Q2014-09). The authors would like to

AC

References

CE

thank the anonymous reviewers for their valuable feedback on this work.

[1] D. Fensel, C. Bussler. The web service modeling framework WSMF, Electronic Commerce Research and Applications. 1(2) (2002) 113-137. 810

[2] W. Kongdenfha, H.R. Motahari-Nezhad, B. Benatallah, R. Saint-Paul. Web Service Adaptation: Mismatch Patterns and Semi-Automated Approach to Mismatch Identification and Adapter Development, Web Services Foundations, Springer New York, (2014) 245-272. [3] J. Liu, K. He, J. Wang, F. Liu, X. Li. Service organization and recommendation using multi-granularity approach, Knowledge-Based Systems,73 (2015) 181-198.

35

ACCEPTED MANUSCRIPT

815

[4] J. Hoffmann, I. Weber. Web Service Composition, Encyclopedia of Social Network Analysis and Mining. Springer New York, (2014) 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) 321-346. [6] G. Zou, Y. Gan, Y. Chen, B. Zhang. Dynamic composition of Web services using efficient planners in large-scale

820

service repository, Knowledge-Based Systems, 62 (2014) 98-112.

CR IP T

[7] M. Armbrust, A. Fox, R. Griffith, A.D. Joseph, R. Katz, A. Konwinski, M. Zaharia. A view of cloud computing, Communications of the ACM,53(4) (2010) 50-58.

[8] D. Roman, U. Keller, H. Lausen, et al. Web Service Modeling Ontology, Applied ontology, 1(1) 2005 77-106. [9] A. Jacobs. The pathologies of big data, Communications of the ACM, 52(8) (2009) 36-44.

[10] L. Atzori, A. Iera, G. Morabito. The internet of things: A survey, Computer networks, 54(15) (2010) 2787-2805.

AN US

825

[11] K.S. Candan, W.S. Li, T. Phan, M. Zhou, Frontiers in Information and Software as Services. Proc. 25th Intl Conf. Data Eng. (ICDE 09), (2009) 1761-1768.

[12] S.Y. Hwang, H. Wang, J. Tang , et al. A probabilistic approach to modeling and estimating the QoS of web-servicesbased workflows. Information Sciences, 177(23) (2007) 5484-5503.

[13] Y. Wang, Y. Wang. A survey of change management in service-based environments, Service Oriented Computing and Applications, 7(4) (2013) 259-273.

M

830

ED

[14] W. Wiesemann, R. Hochreiter, D. Kuhn. A stochastic programming approach for qos-aware service composition, the 8th IEEE International Symposium on Cluster Computing and the Grid, 2008 (CCGRID’08). IEEE, (2008) 226-233.

835

PT

[15] S. Wang, Q. Sun, H. Zou, et al. Particle swarm optimization with skyline operator for fast cloud-based web service composition[J]. Mobile Networks and Applications, 2013, 18(1): 116-121.

CE

[16] Y. Zhang, W. Fu, K.K.N. Leung. Web service publishing and composition based on monadic methods and program slicing, Knowledge-Based Systems, 37 (2013) 296-304. [17] H. Ma, A. Wang, M. Zhang. A Hybrid Approach Using Genetic Programming and Greedy Search for QoS-Aware

840

AC

Web Service Composition, Transactions on Large-Scale Data-and Knowledge-Centered Systems XVIII. Springer Berlin Heidelberg, (2015) 180-205. [18] H. Wang, B. Zou, G. Guo, J. Zhang, Z. Yang. Optimal and Effective Web Service Composition with Trust and User Preference, IEEE International Conference on Web Services (ICWS), (2015) 329-336. [19] A. Strunk. QoS-aware service composition: A survey, IEEE 8th European Conference on Web Services (ECOWS), (2010) 67-74. 845

[20] Q.Z. Sheng, X. Qiao, A.V. Vasilakos, C. Szabo, S. Bourne, X. Xu. Web services composition: A decades overview, Information Sciences, 280 (2014) 218-238.

36

ACCEPTED MANUSCRIPT

[21] Y. Liu, A.H. Ngu, L.Z. Zeng. QoS computation and policing in dynamic web service selection, proceedings of the 13th international World Wide Web conference on Alternate track papers posters. ACM, (2004) 66-73. [22] T. Yu, Y. Zhang, K.J. Lin. Efficient algorithms for Web services selection with end-to-end QoS constraints, ACM 850

Transactions on the Web (TWEB), 1(1) (2007) 6. [23] V. Cardellini, E. Casalicchio, V. Grassi. Flow-based service selection forweb service composition supporting multiple qos classes, 2007. IEEE International Conference on Web Services (ICWS 2007), ( 2007) 743-750.

CR IP T

[24] D.A. Menasc, E. Casalicchio, V. Dubey. On optimal service selection in service oriented architectures, Performance Evaluation, 67(8)(2010) 659-675. 855

[25] D. Ardagna, B. Pernici. Adaptive service composition in flexible processes, IEEE Transactions on Software Engineering, 33(6) (2007) 369-384.

[26] A.F.M Huang, C.W. Lan, S.J.H. Yang. An optimal QoS-based Web service selection scheme, Information Sciences,

AN US

179(19) (2009) 3309-3322.

[27] Z. Liang, H. Zou, F. Yang, R. Lin. A hybrid approach for the multi-constraint Web service selection problem in 860

Web service composition, Journal of Information and Computational Science, 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, The Journal of China Universities of Posts and Telecommunications, 16 (2009) 102-107.

M

[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, Information Technology Journal, 10(1) (2011) 113-119. [30] H. Liang, Y. Du, S. Li. An improved genetic algorithm for service selection under temporal constraints in cloud

ED

865

computing, Web Information Systems EngineeringCWISE 2013. Springer Berlin Heidelberg, (2013) 309-318.

PT

[31] W. Li, Y.X. He. A web service composition algorithm based on global qos optimizing with MOCACO, Algorithms and Architectures for Parallel Processing. Springer Berlin Heidelberg, (2010) 218-224.

870

CE

[32] X. Zhao, B. Song, P. Huang, Z. Wen, J. Weng, Y. Fan. An improved discrete immune optimization algorithm based on PSO for QoS-driven web service composition, Applied Soft Computing, 12(8)(2012) 2208-2216.

AC

[33] Z.J. Wang, Z.Z. Liu, X.F. Zhou, et al. An approach for composite web service selection based on DGQoS[J]. The International Journal of Advanced Manufacturing Technology, 56(9-12) (2011) 1167-1179. [34] N.H. Rostami, E. Kheirkhah, M. Jalali. An Optimized Semantic Web Service Composition Method Based on Clustering and Ant Colony Algorithm, arXiv preprint arXiv:1402.2271, (2014). 875

[35] M. Alrifai, T. Risse, W. Nejdl. A hybrid approach for efficient Web service composition with end-to-end QoS constraints, ACM Transactions on the Web (TWEB), 6(2) (2012) 7. [36] F. Mardukhi, N. NematBakhsh, K. Zamanifar, A. Barati. QoS decomposition for service composition using genetic algorithm, Applied Soft Computing, 13(7) (2013) 3409-3421.

37

ACCEPTED MANUSCRIPT

[37] Z.Z. L, X. Xue, J.Q. Shen, W.R. Li. Web service dynamic composition based on decomposition of global QoS 880

constraints, The International Journal of Advanced Manufacturing Technology, 69(9-12) (2013) 2247-2260. [38] S.Y. Hwang, H. Wang, J. Tang. A probabilistic approach to modeling and estimating the QoS of web-services-based workflows, Information Sciences, 177(23) (2007) 5484-5503. [39] H. Wang, H. Sun H, Q. Yu. Reliable Service Composition via Automatic QoS Prediction, 2013 IEEE International Conference on Services Computing (SCC 2013), (2013) 200-207. [40] L.S. Shao, L. Zhou, J.F. Zhao, B. Xie, H. Mei. Web Service QoS Prediction Approach. Journal of Software, 20(8)

CR IP T

885

(2009) 2062-2073.

[41] Z. Zheng, H. Ma, M.R. Lyu, I. King. Wsrec: A collaborative filtering based web service recommender system, IEEE International Conference on Web Services, 2009 (ICWS 2009), (2009) 437-444.

[42] C.C. Li, L.Q. Cui, Y. Deng, W.X. Feng. A QoS prediction approach based on improved collaborative filtering, 2nd International Conference on Advanced Computer Control 2010 (2010 ICACC), 2 (2010) 519-522.

AN US

890

[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, IEEE International Conference on Service Sciences 2010 (2010 ICSS), (2010) 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, IEEE International Conference on Web Service 2011(2011ICWS), (2011) 726-727. [45] Z. Zheng, H. Ma, M.R. Lyu M R, I. King. Collaborative web service qos prediction via neighborhood integrated

M

895

matrix factorization, IEEE Transactions on Services Computing, 6(3) (2013) 289-299.

ED

[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 Heidelberg, (2013) 176-183.

900

PT

[47] Y. Ngoko, C. Crin, A. Goldman. Graph reduction for QoS prediction of cloudCservice compositions, International Journal of Business Process Integration and Management, 7(2) (2014) 89-102.

CE

[48] D. Geebelen, K. Geebelen, E. Truyen, S. Michiels, J.A. Suykens, J. Vandewalle, W. Joosen. QoS prediction for web service compositions using kernel-based quantile estimation with online adaptation of the constant offset, Information

AC

Sciences, 268 (2014) 397-424.

[49] Y. Syu, Y.Y. Fanjiang, J.Y. Kuo, S.P. Ma. A Review of the Automatic Web Service Composition Surveys, IEEE 905

International Conference on Semantic Computing 2014 (2014 ICSC), (2014) 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 Transactions on Parallel and Distributed Systems, 26(2) (2015) 455-466. [51] K. Su, L.L. Ma, X.M. Guo, Y.F. Sun. An efficient parameter-adaptive genetic algorithm for service selection with end-to-end QoS Constraints, Journal of Computational Information Systems, 10(2) (2014) 581-588.

910

[52] M. Alrifai, T. Risse. Efficient qos-aware service composition, Emerging Web Services Technology Volume III. Birkh?user Basel ,( 2010) 75-87. 38

ACCEPTED MANUSCRIPT

[53] L. Zeng, B. Benatallah, A.H.H Ngu. Qos-aware middleware for web services composition[J]. Software Engineering, IEEE Transactions on, 30(5) (2004) 311-327. [54] J. Cardoso, A. Sheth, J. Miller, et al. Quality of service for workflows and web service processes, Web Semantics: 915

Science, Services and Agents on the World Wide Web, 1(3) (2004) 281-308. [55] L. Zeng, B. Benatallah, M. Dumas M, et al. Quality driven web services composition, Proceedings of the 12th international conference on World Wide Web. ACM, (2003) 411-421.

CR IP T

[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 Computing, Springer Berlin Heidelberg, (2014) 386-393. 920

[57] X. Zuo, C. Chen, W. Tan, M. Zhou. Vehicle Scheduling of an Urban Bus Line via an Improved Multiobjective Genetic Algorithm, IEEE Transactions on Intelligent Transportation Systems, 16(2) (2015) 1030-1041.

[58] K. Rajasekar, R. Saravanan, S. Sowmyashree. Genetic Algorithm Based Optimization of Box-Cross Section Modulus

AN US

for Heavy Vehicle Chassis, International Journal of Vehicle Structures and Systems, 7(2) (2015).

[59] M.S. Kumar. Genetic algorithm-based proportional derivative controller for the development of active suspension 925

system, Information Technology and Control, 36(2) (2015).

[60] K. Deb, A. Pratap, S. Agarwal, T.A.M.T. Meyarivan. A fast and elitist multiobjective genetic algorithm: NSGA-II, IEEE Transactions on Evolutionary Computation, 6(2) (2002) 182-197.

project scheduling problem, (2014).

[62] Z.Chen, C.C. Mi, R. Xiong, J. Xu, C. You. Energy management of a power-split plug-in hybrid electric vehicle based

ED

930

M

[61] F. K?ksayacigil, G. Ulusoy. A genetic algorithm application for multi-objective multi-project resource constrained

on genetic algorithm and quadratic programming, Journal of Power Sources, 248 (2014) 416-426.

PT

[63] RG Reynolds. An Introduction to Cultural Algorithms, Proceedings of the Third Annual Conference on Evolutionary Programming. World Scientific. River Edge, New Jersey. (1994) 131-139.

935

CE

[64] C. Soza, R.L. Becerra, M.C. Riff, C.A. Coello. Solving timetabling problems using a cultural algorithm, Applied Soft Computing, 11(1) (2011) 337-344.

AC

[65] R. Zhang, J. Zhou, L. Mo,S. Ouyang, X. Liao. Economic environmental dispatch using an enhanced multi-objective cultural algorithm, Electric Power Systems Research, 99 (2013) 18-29. [66] Q. Luo, Y. Zhou, P. Guo P,X. Chen. Functional Network Design using Parallel Cultural Algorithm, Appl. Math, 8(4) (2014) 1949-1957. 940

[67] P. Bin. Knowledge and population swarms in cultural algorithms for dynamic environments, Ph.D Thesis. Wayne State University, Detroit (2005) [68] P. Dillenbourg. Collaborative Learning: Cognitive and Computational Approaches. Advances in Learning and Instruction Series.(1999) New York, NY: Elsevier Science, Inc.

39

ACCEPTED MANUSCRIPT

[69] O’Donnell, M. Angela, E. Cindy, Hmelo-Silver, E. Gijsbert. Collaborative learning, reasoning, and technology. 945

Routledge, 2013. [70] A. Trendowicz, R. Jeffery. Case-Based Reasoning, Software Project Effort Estimation, Springer International Publishing, (2014) 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, Applied Soft Computing, 13(3) (2013) 1419-1432.

CR IP T

950

[73] H. Ince. Short term stock selection with case-based reasoning technique, Applied Soft Computing, 22 (2014) 205-212. [74] S.V. Shokouhi, P. Skalle, A. Aamodt. An overview of case-based reasoning applications in drilling engineering, Artificial Intelligence Review, 41(3) (2014) 317-329.

[76] S. Gupta, R. Kambli, S. Wagh S, F. Kazi. Support-Vector-Machine-Based Proactive Cascade Prediction in Smart Grid Using Probabilistic Framework, IEEE Transactions on Industrial Electronics, 62(4) ( 2015) 2478-2486. [77] D. Karaboga, B. Basturk. A powerful and efficient algorithm for numerical function optimization: artificial bee

CE

PT

ED

M

colony (ABC) algorithm, Journal of global optimization, 39(3) (2007) 459-471.

AC

955

AN US

[75] S.K. Pal, S.C.K. Shiu, Foundations of Soft Case-Based Reasoning, Wiley and Sons, New Jersey, (2004).

40