Optimizing Computation of Recovery Plans for BPEL Applications

Jocelyn Simmonds
Shoham Ben-David
Marsha Chechik

Web service applications are distributed processes that are composed of dynamically bounded services. In our previous work [15], we have described a framework for performing runtime monitoring of web service against behavioural correctness properties (described using property patterns and converted into finite state automata). These specify forbidden behavior (safety properties) and desired behavior (bounded liveness properties). Finite execution traces of web services described in BPEL are checked for conformance at runtime. When violations are discovered, our framework automatically proposes and ranks recovery plans which users can then select for execution. Such plans for safety violations essentially involve "going back" - compensating the executed actions until an alternative behaviour of the application is possible. For bounded liveness violations, recovery plans include both "going back" and "re-planning" - guiding the application towards a desired behaviour. Our experience, reported in [16], identified a drawback in this approach: we compute too many plans due to (a) overapproximating the number of program points where an alternative behaviour is possible and (b) generating recovery plans for bounded liveness properties which can potentially violate safety properties. In this paper, we describe improvements to our framework that remedy these problems and describe their effectiveness on a case study.

In Gwen Salaün, Xiang Fu and Sylvain Hallé : Proceedings Fourth International Workshop on Testing, Analysis and Verification of Web Software (TAV-WEB 2010), Antwerp, Belgium, 21 September 2010, Electronic Proceedings in Theoretical Computer Science 35, pp. 3–14.
Published: 17th September 2010.

ArXived at: http://dx.doi.org/10.4204/EPTCS.35.1 bibtex PDF

Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org