Specification and Validation of the Business Process Execution Language for Web Services

The Business Process Execution Language for Web Services (BPEL) is an XML based formal language for the design of networking protocols for automated business processes. Originally introduced by leading e-business vendors, including IBM and Microsoft, BPEL is now a forthcoming industrial standard as the work on the language continues at OASIS' within the technical committee on the Web Services Business Process Execution Language (WSBPEL TC). We formally define an abstract executable semantics for the language in terms of a distributed abstract state machine (DASM). The DASM paradigm has proven to be a feasible, yet robust, approach for modeling architectural and programming languages and has been used as the basis for industrial standardization before. The goal of this work is to support the design and standardization of BPEL by eliminating weak points in the language definition and validating key system attributes through experimental validation. The necessity of formalisation in the standardization process is well recognized by the OASIS WSBPEL TC and is formulated as one of the basic issues by the technical committee. "There is a need for formalism. It will allow us to not only reason about the current specification and related issues, but also uncover issues that would otherwise go unnoticed. Empirical deduction is not suflcient. "2 We take a hierarchical refinement approach to model the language. Starting from an abstract ground model of the core attributes of the language, we perform step-wise 1 Organization for the Advancement of Structured Information Standards (OASIS), www.oasis-open.org Issue #42, WSBPEL Issue List, WSBPEL TC at OASIS refinements obtaining a hierarchy of ground models at different levels of abstraction which leads to the final executable model. The executable model is then used together with a graphical visualization tool to experimentally validate the key attributes of the language through simulation of abstract machine runs.

[1]  Norbert E. Fuchs Specifications are (preferably) executable , 1992, Softw. Eng. J..

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

[3]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[4]  Yuri Gurevich,et al.  The Railroad Crossing Problem: An Experiment with Instantaneous Actions and Immediate Reactions , 1995, CSL.

[5]  Tamás Lukovszki,et al.  Formal Description of a Distributed Location Service for Mobile Ad Hoc Networks , 2003, Abstract State Machines.

[6]  Egon Börger,et al.  The Origins and the Development of the ASM Method for High Level System Design and Analysis , 2002, J. Univers. Comput. Sci..

[7]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog. Part I: Selection Core and Control , 1989, CSL.

[8]  Bernd Kleinjohann,et al.  Design and Analysis of Distributed Embedded Systems , 2002, IFIP — The International Federation for Information Processing.

[9]  Margus Veanes,et al.  Abstract communication model for distributed systems , 2004, IEEE Transactions on Software Engineering.

[10]  Margus Veanes,et al.  Universal Plug and Play Machine Models Modeling with Distributed Abstract State Machines , 2002 .

[11]  Andreas Prinz,et al.  On the Formal Semantics of SDL-2000: A Compilation Approach Based on an Abstract SDL Machine , 2000, Abstract State Machines.

[12]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[13]  Francisco Curbera,et al.  Web services description language (wsdl) version 1. 2 , 2001 .

[14]  Nikolai Tillmann,et al.  Partial Updates: Exploration , 2001, J. Univers. Comput. Sci..

[15]  Andreas Prinz,et al.  Formal Definition of SDL-2000 - Compiling and Running SDL Specifications as ASM Models , 2001, Journal of universal computer science (Online).

[16]  Tony Andrews Business Process Execution Language for Web Services Version 1.1 , 2003 .

[17]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[18]  Egon Börger,et al.  Java and the Java Virtual Machine: Definition, Verification, Validation , 2001 .

[19]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[20]  Andreas Prinz,et al.  The formal semantics of SDL-2000: Status and perspectives , 2003, Comput. Networks.

[21]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[22]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog Part III: Built-in Predicates for Files, Terms, Arithmetic and Input-Output , 1990, IWBS Report.

[23]  Sanjiva Weerawarana,et al.  The Business Process Execution Language for Web Services , 2005, Process-Aware Information Systems.

[24]  Egon Börger Specification and validation methods , 1995 .

[25]  Wolfgang Rosenstiel,et al.  The simulation semantics of SystemC , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[26]  Andreas Blass,et al.  Background, Reserve, and Gandy Machines , 2000, CSL.

[27]  Martin Odersky,et al.  Abstract State Machines - Theory and Applications , 2002, Lecture Notes in Computer Science.

[28]  Margus Veanes,et al.  An Abstract Communication Model , 2002 .

[29]  Angelo Gargantini,et al.  Abstract State Machines 2003 , 2003, Lecture Notes in Computer Science.

[30]  Uwe Glässer,et al.  Engineering Concurrent and Reactive Systems with Distributed Real-Time Abstract State Machines , 2004, DIPES.

[31]  Egon Brger,et al.  Formal de nition of an abstract VHDL''''93 simulator by EA - machines , 1995 .

[32]  Carlos Delgado Kloos,et al.  Formal Semantics for VHDL , 1995 .

[33]  Wolfgang Müller,et al.  The semantics of behavioral VHDL '93 descriptions , 1994, EURO-DAC '94.

[34]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog, Part II: Built-in Predicates for Database Manipulation , 1990, MFCS.

[35]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.