Search based approach to forecasting QoS attributes of web services using genetic programming
Introduction
Recently, developing diverse software applications by composing existing services using Service-Oriented Architecture (SOA) has become both popular and prevalent. This software development approach is sometimes called Service Composition (SC) [1]. Currently, the most popular and common type of service used in SC is Web Services (WSs) [2], [3], [4], [5] due to their numerous advantages, including interoperability, reusability, and universal accessibility. In industry, in concert with commonly accepted process definition languages such as the Business Process Execution Language (BPEL) [6], integrating services to engineer software applications is already a mature technique. However, in acadmics, the focus has been on automating the manual composition process to widen the benefits offered by SC, a technique called Automated Service Composition (ASC). Although ASC is still an ongoing and fervid research area, we can view SC as a valid Software Engineering (SE) approach/branch. Because it centers on and is based on services, it is also called Service-Oriented Software Engineering (SOSE).
The design-time phases of SOSE/SC typically include the following: (1) the definition of an abstract workflow consisting of multiple abstract activities and a process structure, (2) discovering a set of functionality-equivalent concrete services on the Web or in service registries for each abstract activity, and (3) selecting the most suitable service to implement the activity for each abstract activity and in its corresponding service set. Readers can find more detailed descriptions and illustrations about the SOSE/SC process in Section 3.1 of [7], Section 2 of [8], and Section III.D of [9]. The reviewed research on ASC proposes various approaches for automating the tasks and relieving the human labor force [1], [10], [11], [12], [13], [14], [15].
In service selection, when choosing the most suitable service from a set of functionality-equivalent services for an abstract activity, there are often many different nonfunctional service properties to be considered (selection criteria), such as the criteria reviewed in [1], [10], [11]. The criteria that should be used depends on user requirements and the specific application domain. However, in both industry and research, the most widely and intensively studied nonfunctional property has been Quality of Service (QoS), which has already been comprehensively studied in this research area. In addition, except for service selection, QoS also plays a crucial role in many other SOSE activities and phases such as QoS-based service discovery [16], classification [17], and ranking. Although QoS has been profoundly studied, several problems remain (e.g., how to semantically describe [18] and dynamically monitor [19] QoS), and one of the most critical and urgent issues is QoS's ability to change dynamically (e.g., QoS variation over time, which is the main focus and motivation of this study).
We identified two factors that can cause the actual QoS value of a service (WS) to vary, namely, different service invocation times and disparate service consumers (different service consumer locations) [1]. In this study, we concentrate on the former, i.e., changes in the QoS value over time. Section 2 demonstrates that QoS values vary over time, even for a single service. An intuitive way to address QoS variation over time and know the future value of QoS is by forecasting. Several QoS forecasting approaches have already been proposed. These approaches are introduced, analyzed, and compared in Section 3. In contrast to existing approaches, which primarily employ conventional time series forecasting methods/techniques, we propose using Genetic Programming (GP), which is a variant of the Genetic Algorithm (GA) and is a type of evolutionary computing used in Search-Based Software Engineering (SBSE) as reviewed and discussed in [20]. GP has already been applied to many different forecasting problems and domains; compared with other conventional forecasting methods/techniques, GP has demonstrated great forecasting performance (accuracy). The advantages of applying GP to this problem from both theoretical and practical application viewpoints and its performance and accuracy are discussed in Section 7.
To address the variation of QoS over time, current efforts primarily employ conventional time series techniques (a list and brief introduction to existing time series forecasting methods can be found in Section 2 of [21]) to find a predictor model and then use the identified model to forecast QoS values. In this paper, we use GP to search and evolve expression-based predictor models that can forecast QoS values. We propose using GP because of its superior performance (accuracy) in other time series forecasting applications, its flexibility in the form of the searched and generated predictors, and several other advantages that will be discussed later in this paper; however, one cost of using GP is that it is time-consuming. This paper is a major extension of our previous conference work presented in [22]. In this version, for each part of the study, more content, additional explanations, and more detailed descriptions are provided. Notably, one major difference between this paper and its previous version is that this paper introduces and implements more than ten different conventional time series forecasting methods; a comparison between these other methods and our GP-based forecasting approach is discussed, emphasizing its advantages and benefits. Below, we list and briefly discuss the contributions of this paper.
- •
First, in terms of the SBSE [20], [23], we report the application of one of its methods, i.e., genetic programming, to a problem in SOSE (i.e., the QoS forecasting problem). In [23], the authors proposed the concepts related to SBSE, and in [20], they exhaustively reported on existing SBSE instances (applications/cases). In both articles, the authors called for more applications/instances of metaheuristic search-based methods to diverse software engineering related problems and topics.
- •
Second, for the defined QoS forecasting problem, we also implement most of the conventional time series forecasting methods; a comparison between these methods and our proposed GP-based approach is discussed. The comparison of our GP-based approach with the conventional time series forecasting methods is a component of our approach's SBSE validity evaluation. We demonstrate our approach's validity as an SBSE application/case by performing the SBSE validity evaluation [23].
- •
Third, in this paper, we formally define the dynamic QoS forecasting problem so that other studies can develop their own approaches and compare them with our method or between each other.
- •
Finally, the proposed approach can be integrated with various QoS-based approaches used in SOSE and can enhance their reliability by offering more realistic reference QoS information. This concept is similar to the study conducted in [24], [25], in which the authors developed their own QoS forecasting approach to provide QoS information for an existing ASC approach.
Fig. 1 shows how the proposed GP-based approach introduced in Section 5 works under the specified QoS forecasting problem, which is defined in detail in Section 4 of this paper. In the first phase (Phase 1), using past QoS observations as training data, GP is used to evolve and generate a valid expression-based QoS predictor. Subsequently, with a set of predictor inputs, the evolved predictor is used in Phase 2 to produce QoS forecasts. Finally, using the adopted forecasting accuracy measures, the forecasting performance (accuracy) of the proposed approach (its forecasting results) is calculated and then presented. The specified problem (including its three phases and the adopted measures) and the proposed approach are exhaustively described in Section 4 and Section 5, respectively.
The remainder of this paper is organized as follows. Section 2 demonstrates how QoS values of a service can vary and explains our research motivation. Existing QoS forecasting approaches and SBSE research are shown in Section 3. Section 4 formally defines the specifications of the problem to be solved and the adopted performance measures. Section 5introduces and explains the core part of our proposed forecasting approach. Section 6defines and briefly describes the time series forecasting methods used for comparisons with our method. The experimental results and other detailed discussions are presented in Section 7. Finally, Section 8 concludes this paper.
Section snippets
Reasons for QoS variation and research motivation
This section contains two parts. In the first part, variations in QoS values are discussed. The usefulness of the developed prediction approach is depicted in the second part.
Related work
In this section, we introduce and discuss related work. We divide this section into two parts: (1) the current QoS forecasting approaches and (2) search-based software engineering (SBSE).
Problem specification and measurements
In this section, we formally specify the problem to be solved in this paper (Section 4.1) and the performance measurements used to evaluate all of the devised and implemented approaches (Section 4.2).
The genetic programming based QoS forecasting approach
Our approach exploits GP, which is a variant of Genetic Algorithms (GAs), to evolve and search for a one-step-ahead, expression-based QoS predictor. In other words, GP corresponds to and is used in the training stage (model/predictor-producing phase) of the problem formalized in Section 4. Detailed introduction to both GAs and GP can be found in [47].
The time series forecasting techniques for comparison
As defined in Section 4, the studied problem is a time series forecasting problem; thus, in this study, we also utilize and implement conventional time series forecasting methods and compare them with our approach to compare the relative forecasting performance (accuracy) of our approach (using the measurements defined in Section 4.2) and to verify our approach's validity as an SBSE. In this section, we introduce the time series forecasting methods that were implemented and compared with our
Experiments and discussion
This section describes the performed experiments and provides a detailed discussion. In experiments section, we focus on the facts related to our experiments, including the experiment data, the hardware and programming environment, and the forecasting performance and comparisons. Subsequently, a discussion section comprises three independent parts: observations and discussion on the experiment results presented in the first subsection, a discussion on validity threats to our GP-based approach,
Conclusions
In this paper, we proposed and implemented a search-based software engineering technique, i.e., genetic programming, to solve a defined one-step-ahead QoS forecasting problem. According to the detailed explanation, analysis, comparisons, and experimental results presented in this paper, the proposed GP-based approach has been fully tested and shown to be the most suitable solution for the one-step-ahead QoS forecasting problem. Using our simulated real-world QoS forecasting contexts (the TSs),
Acknowledgment
This research is partially sponsored by the Ministry of Science and Technology (Taiwan) under the Grant MOST103-2221-E-030-010-MY2.
References (54)
- et al.
Web services composition: a decade's overview
Inf. Sci.
(2014) - et al.
Semantic-based automatic service composition with functional and non-functional requirements in design time: a genetic algorithm approach
Inf. Softw. Technol.
(2014) - et al.
Search-based software engineering
Inf. Softw. Technol.
(2001) - et al.
A relaxable service selection algorithm for QoS-based web service composition
Inf. Softw. Technol.
(2011) - et al.
Can genetic programming improve software effort estimation? A comparative evaluation
Inf. Softw. Technol.
(2001) - et al.
An overview and classification of service description approaches in automated service composition research
IEEE Trans. Serv. Comput.
(2015) A petri net-based approach for automated goal-driven web service composition
Simulation
(2007)- et al.
End-to-end support for QoS-aware service selection, binding, and mediation in VRESCo
IEEE Trans. Serv. Comput
(2010) - et al.
Optimizing service systems based on application-level QoS
IEEE Trans. Serv. Comput.
(2009) - et al.
End-user service computing: spreadsheets as a service composition tool
IEEE Trans. Serv. Comput.
(2008)