Automated runtime recovery for QoS-based service composition

Service composition uses existing service-based applications as components to achieve a business goal. The composite service operates in a highly dynamic environment; hence, it can fail at any time due to the failure of component services. Service composition languages such as BPEL provide a compensation mechanism to rollback the error. But such a compensation mechanism has several issues. For instance, it cannot guarantee the functional properties of the composite service after compensation. In this work, we propose an automated approach based on a genetic algorithm to calculate the recovery plan that could guarantee the satisfaction of functional properties of the composite service after recovery. Given a composite service with large state space, the proposed method does not require exploring the full state space of the composite service; therefore, it allows efficient selection of recovery plan. In addition, the selection of recovery plans is based on their quality of service (QoS). A QoS-optimal recovery plan allows effective recovery from the state of failure. Our approach has been evaluated on real-world case studies, and has shown promising results.

[1]  John R. Koza,et al.  Human-competitive results produced by genetic programming , 2010, Genetic Programming and Evolvable Machines.

[2]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[3]  Liang Chen,et al.  Grid Service Orchestration Using the Business Process Execution Language (BPEL) , 2005, Journal of Grid Computing.

[4]  Alessandra Gorla,et al.  Healing Web applications through automatic workarounds , 2008, International Journal on Software Tools for Technology Transfer.

[5]  Jan Gustafsson,et al.  Loop Bound Analysis based on a Combination of Program Slicing, Abstract Interpretation, and Invariant Analysis , 2007, WCET.

[6]  Jun Sun,et al.  Dynamic synthesis of local time requirement for service composition , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[7]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[8]  S Forrest,et al.  Genetic algorithms , 1996, CSUR.

[9]  Francisco Curbera,et al.  Web services description language (wsdl) version 1. 2 , 2001 .

[10]  Carlo Ghezzi,et al.  Managing non-functional uncertainty via model-driven adaptivity , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[11]  Marsha Chechik,et al.  RuMoR: monitoring and recovery for BPEL applications , 2010, ASE '10.

[12]  Martin Glinz,et al.  Runtime Adaptation of Applications Through Dynamic Recomposition of Components , 2005, ARCS.

[13]  Howard Foster,et al.  A rigorous approach to engineering web service compositions , 2006 .

[14]  Xin Yao,et al.  A novel co-evolutionary approach to automatic software bug fixing , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[15]  Ching-Lai Hwang,et al.  Multiple attribute decision making : an introduction , 1995 .

[16]  Jocelyn Simmonds,et al.  Dynamic Analysis of Web Services , 2011 .

[17]  Jun Sun,et al.  Verification of Functional and Non-functional Requirements of Web Service Composition , 2013, ICFEM.

[18]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..

[19]  Luciano Baresi,et al.  Self-Supervising BPEL Processes , 2011, IEEE Transactions on Software Engineering.

[20]  Dingwei Wang,et al.  Genetic algorithms for solving shortest path problems , 1997, Proceedings of 1997 IEEE International Conference on Evolutionary Computation (ICEC '97).

[21]  Jocelyn Simmonds,et al.  Guided recovery for web service applications , 2010, FSE '10.

[22]  Alessandra Gorla,et al.  Automatic workarounds for web applications , 2010, FSE '10.

[23]  Claire Le Goues,et al.  Automatically finding patches using genetic programming , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[24]  Glen Dobson,et al.  Using WS-BPEL to Implement Software Fault Tolerance for Web Services , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).