Elsevier

Information and Software Technology

Volume 80, December 2016, Pages 158-174
Information and Software Technology

Search based approach to forecasting QoS attributes of web services using genetic programming

https://doi.org/10.1016/j.infsof.2016.08.009Get rights and content

Abstract

Context

Currently, many service operations performed in service-oriented software engineering (SOSE) such as service composition and discovery depend heavily on Quality of Service (QoS). Due to factors such as varying loads, the real value of some dynamic QoS attributes (e.g., response time and availability) changes over time. However, most of the existing QoS-based studies and approaches do not consider such changes; instead, they are assumed to rely on the unrealistic and static QoS information provided by service providers, which may seriously impair their outcomes.

Objective

To predict dynamic QoS values, the objective is to devise an approach that can generate a predictor to perform QoS forecasting based on past QoS observations.

Method

We use genetic programming (GP), which is a type of evolutionary computing used in search-based software engineering (SBSE), to forecast the QoS attributes of web services. In our proposed approach, GP is used to search and evolve expression-based, one-step-ahead QoS predictors. To evaluate the performance (accuracy) of our GP-based approach, we also implement most current time series forecasting methods; a comparison between our approach and these other methods is discussed in the context of real-world QoS data.

Results

Compared with common time series forecasting methods, our approach is found to be the most suitable and stable solution for the defined QoS forecasting problem. In addition to the numerical results of the experiments, we also analyze and provide detailed descriptions of the advantages and benefits of using GP to perform QoS forecasting. Additionally, possible validity threats using the GP approach and its validity for SBSE are discussed and evaluated.

Conclusions

This paper thoroughly and completely demonstrates that under a realistic situation (with real-world QoS data), the proposed GP-based QoS forecasting approach provides effective, efficient, and accurate forecasting and can be considered as an instance of SBSE.

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)

  • A. Alves, A. Arkin, S. Askary, C. Barreto, B. Bloch, F. Curbera, M. Ford, Y. Goland, A. Guizar, N. Kartha, C. Liu,...
  • LiZ. et al.

    Towards effort estimation for web service compositions using classification matrix

    Int. J. Adv. Internet Technol.

    (2010)
  • SyuY. et al.

    A survey to service composition methods using aspects classification

  • SyuY. et al.

    A survey on automated service composition methods and related techniques

  • P. Bartalos et al.

    Automatic dynamic web service composition: a survey and problem formalization

    Comput. Inf.

    (2011)
  • S. Dustdar et al.

    A survey on web services composition

    Int. J. Web Grid Serv.

    (2005)
  • J. Rao et al.

    A survey of automated web service composition methods

  • HanX. et al.

    A survey on QoS-aware dynamic web service selection

  • M. Rambold et al.

    Towards autonomic service discovery a survey and comparison

  • A. Moraru et al.

    A hybrid approach to QoS-aware web service classification and recommendation

  • K. Kritikos et al.

    Requirements for QoS-based web service description and discovery

    IEEE Trans. Serv. Comput.

    (2009)
  • M.H. Zadeh et al.

    Qos monitoring for web services by time series forecasting

  • M. Harman et al.

    Search-based software engineering: trends, techniques and applications

    ACM Comput. Surv.

    (2012)
  • N. Wagner et al.

    Time series forecasting for dynamic environments: the DyFor genetic program model

    IEEE Trans. Evolut. Comput.

    (2007)
  • YangS. et al.

    Applying genetic programming for time-aware dynamic QoS prediction

  • T. Senivongse et al.

    Composing services of different granularity and varying QoS using genetic algorithm

  • Z. Ye et al.

    Long-term QoS-aware cloud service composition using multivariate time series analysis

    IEEE Trans. Serv. Comput.

    (2014)
  • Cited by (0)

    View full text