Next: , Previous: Top, Up: Top



1 Introducing BPEL2oWFN

BPEL2oWFN translates a web service expressed in WS-BPEL (Web Service Business Process Execution Language) into an oWFN (open Workflow Net). This oWFN can be used to:


images/diagram.png


Furthermore, BPEL2oWFN can translate a BPEL4Chor choreography to a Petri net model. This model can be used to analyze properties of a complete choreography or to synthesize a fitting service for an incomplete choreography.

BPEL2oWFN uses static analysis to make the generated Petri net model as compact as possible to analyze a chosen property. This is called flexible model generation. Furthermore, several design flaws can be detected using control and data flow analysis.

BPEL2oWFN was written by Niels Lohmann, Christian Gierds and Martin Znamirowski. It is part of the Tools4BPEL project funded by the Bundesministerium für Bildung und Forschung. See http://www.informatik.hu-berlin.de/top/tools4bpel for details.

1.1 Concepts of BPEL2oWFN

Input BPEL Process BPEL2oWFN can read BPEL processes compliant to the WS-BPEL 2.0 or the BPEL4WS 1.1 specification.


Abstract Syntax Tree The AST (abstract syntax tree) is the main data structure of BPEL2oWFN. The AST is annotated with information gained by static analysis.


Control/Data Flow Graph From the abstract syntax tree, a control/data flow graph is built. This graph is used to apply static analysis algorithms to gain information (e.g., dead code) about the process. These algorithms Furthermore, design flaws such as cyclic control links or conflicting receiving activities are detected.


Petri Net API The annotated abstract syntax tree is used to generate a Petri net model of the BPEL process. All Petri net-related functions (adding, removing and merging of nodes; structural reduction) are provided by the Petri net API (application programming interface).


Pattern Repository For each BPEL construct, several patterns with different degrees of abstraction are stored in the pattern repository. Using the information gained by static analysis, the most abstract pattern applicable is used.


Output Petri Net The generated Petri net model can be exported to many file formats, such as PNML, LoLA, Fiona oWFN, INA, APNN, or PEP.


Footnotes

[1] Fiona is available at http://www.informatik.hu-berlin.de/top/tools4bpel.