I. Introduction
Web services are now considered as one of the key paradigms for application integrations. It allows businesses to be able to rapidly adapt to changes in the business environment. BPEL4WS is a standard business process execution language for Web services composition. When testing the correctness and reliability of BPEL programs, the developers have to consider every possible interleaving of events among various processes [3], while such testing process is hard to be done without formal verification methods. A formal verification technique called “model checking” has been proven to be surprisingly effective in the design and testing of concurrent systems. The basic idea of model checking is the following: Firstly, it manages to represent a “model” from a system, where a model abstractly represents only a small amount of information (states) about the system and depict how these information changes in the system, and then it is feasible to systematically explore the execution paths of the model to determine whether the model satisfies the properties we want to check. Such properties are usually expressed in some temporal logics. Basically, the model checking techniques for Web services behavior has remained limited to checking safety and liveness properties [4].