Formal Modelling and Verification of Transactional Web Service Composition: A Refinement and Proof Approach with Event-B
Résumé
Several languages for describing Web service compositions, like BPEL, make use of fault and compensation constructs to handle internal and/or external runtime errors of the composed service. This situation particularly occurs for transactional services. However, the absence of a rigorous definition of these BPEL constructors make it difficult to correctly define the transactional behaviour of a BPEL process. The definitions of such constructs are usually given by their informal descriptions available in the standards. Our contribution proposes an approach to formally define the semantics of these operators. Thus, this paper presents a new Event-B semantics for formal modelling of web services compositions that covers the scope, the faults and the compensations handlers introduced by the BPEL language specification. It also proposes a methodology showing how we can use Event-B method to design a transactional BPEL processes. The proposed approach is illustrated by a case study.