Compositional execution semantics for business process verification - Stachtiari, Emmanouela; Katsaros, Panagiotis (The Journal of systems and software, 2018)
•We define a complete execution semantics of BPEL through a new methodology.•We verify important correctness properties using business process models.•We test our BPEL to BIP translation tool in mid-scale programs and their verification.•Translation times grow linearly to the number of states in the generated model.•The translator, the verification utilities and our experimental setting are online. Service compositions are programmed as executable business processes in languages like WS-BPEL (or BPEL in short). In such programs, activities are nested within concurrency, isolation, compensation and event handling constructs that cause an overwhelming number of execution paths. Program correctness has to be verified based on a formal definition of the language semantics. For BPEL , previous works have proposed execution semantics in formal languages amenable to model checking. Most of the times the service composition structure is not preserved in the formal model, which impedes tracing the verification findings in the original program. Here, we propose a compositional semantics and a structure-preserving translator of BPEL programs onto the BIP component framework. In addition, we verify essential correctness properties that affect process responsiveness, and the compliance with partner services. The scalability of the proposed translation and analysis is demonstrated on BPEL programs of various sizes. Our compositional translation approach can be also applied to other executable languages with nesting syntax.