Automatic Verification of Composite Web Services Based on Temporal and Epistemic Logic

Business Process Execution Language for Web Services (abbreviated to BPEL) is a language for specifying business process behavior based on Web services. But it cannot ensure the correctness of desired specification and properties exhibited by the BPEL control flow. Based on an analysis of the grammar and control flow of BPEL language, we first propose a formal model for BPEL and give the semantics of the BPEL activities to generate the transition tuple. We then develop an algorithm to automatically transform part of the BPEL language into the input language of MCTK, a symbolic model checker developed by us, such that we can verify temporal and epistemic properties of the BPEL processes. Finally, we illustrate the effectiveness of the proposed algorithm through an example of Virtual Travel Agency Web Services Composition.