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