Verifying BPEL-like programs with Hoare logic

The WS-BPEL language has recently become a de facto standard for modeling Web-based business processes. One of its essential features is the fully programmable compensation mechanism. To understand it better, many recent works have mainly focused on formal semantic models for WS-BPEL. In this paper, we make one step forward by investigating the verification problem for business processes written in BPEL-like languages. We propose a set of proof rules in Hoare-logic style as an axiomatic verification system for a BPEL-like core language containing key features such as data states, fault and compensation handling. We also propose a big-step operational semantics which incorporates all these key features. Our verification rules are proven sound with respect to this underlying semantics. The application of the verification rules is illustrated via the proof search process for a nontrivial example.

[1]  Antonio Vallecillo,et al.  Formalizing Web Service Choreographies , 2004, Electron. Notes Theor. Comput. Sci..

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

[3]  Jifeng He,et al.  A model for BPEL-like languages , 2007, Frontiers of Computer Science in China.

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

[5]  Jan Mendling,et al.  Business Process Execution Language for Web Services , 2006, EMISA Forum.

[6]  Willem P. de Roever,et al.  The rely-guarantee method for verifying shared variable concurrent programs , 1997, Formal Aspects of Computing.

[7]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[8]  Jing Li,et al.  Algebraic approach to linking the semantics of web services , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[9]  Xiang Fu,et al.  Analysis of interacting BPEL web services , 2004, WWW '04.

[10]  Roberto Bruni,et al.  Theoretical foundations for compensations in flow composition languages , 2005, POPL '05.

[11]  Jifeng He,et al.  Theoretical Foundations of Scope-Based Compensable Flow Language for Web Service , 2006, FMOODS.

[12]  Wil M. P. van der Aalst,et al.  Analysis of Web Services Composition Languages: The Case of BPEL4WS , 2003, ER.

[13]  Shiyong Lu,et al.  A model for abstract process specification, verification and composition , 2004, ICSOC '04.

[14]  Shengchao Qin,et al.  Verifying BPEL-Like Programs with Hoare Logic , 2008, TASE.

[15]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[16]  Geguang Pu,et al.  Towards the Semantics and Verification of BPEL4WS , 2006, WLFM@FM.

[17]  Shiyong Lu,et al.  Semantics based verification and synthesis of BPEL4WS abstract processes , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[18]  Boualem Benatallah,et al.  A Petri Net-based Model for Web Service Composition , 2003, ADC.

[19]  Chao Cai,et al.  Towards the theoretical foundation of choreography , 2007, WWW '07.

[20]  Huibiao Zhu,et al.  Linking the semantics of a multithreaded discrete event simulation language , 2005 .

[21]  Michael J. Butler,et al.  An Operational Semantics for StAC, a Language for Modelling Long-Running Business Transactions , 2004, COORDINATION.

[22]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[23]  Geguang Pu,et al.  Semantics of BPEL4WS-Like Fault and Compensation Handling , 2005, FM.