BABEL - Tools
Unless otherwise stated, the source code made available through this page is governed by the Apache License 2.0. This gives you a lot of freedom to use and modify the software or to embed it in other software. In return, we do appreciate if you provide us feedback or notify us, should you use the software in some way. Please feel free to e-mail Marlon Dumas.
Translating BPMN to BPEL
BPMN2BPEL: A tool for translating process models represented in BPMN (Business Process Modeling Notation) into process definitions represented in BPEL (Business Process Execution Language):
- Java binaries (jar file)
- Source code available under an Apache license (see license notice in the zip file).
- Quick manual explaining the usage of the tool and the XML format for representing BPMN process models.
- Technical report describing the translation .
The BPMN2BPEL tool is no longer maintained. Instead, an improved implementation of the translation is now available in the BPMN2BPEL Eclipse plugin.
- SPM2BPEL (superseded by BPMN2BPEL): A tool for translating process models represented in the SPM (Standard Process Models) language into process definitions in BPEL (Business Process Execution Language). The SPM language corresponds to a core subset of UML Activity Diagrams, BPMN and XPDL composed of activity nodes, AND-splits, AND-joins, XOR-splits, XOR-joins, initial and final nodes, and edges connecting these nodes. A quick manual explains the usage of the translation tool as well as the XML format used for SPM-process definitions. A complaint handling process is provided as an example. A paper providing a detailed description of the underlying translations algorithms is available here .
Translating BPMN to Petri nets
- BPMN-to-Petri net transformer: A tool for translating process models represented in the Business Process Modeling Language (BPMN) into Petri nets encoded in the Petri Net Markup Language (PNML). The PNML code produced by this tool can be loaded into the ProM framework which offers a range of features for statically checking the correctness of process models represented as Petri nets (e.g. detecting deadlocks).
Translating BPEL to Petri nets
- BPEL2PNML: A tool for translating process definitions represented using the Business Process Execution Language for Web Services (BPEL) to Petri nets represented using the Petri Net Markup Language (PNML). The PNML code produced by this tool can be loaded into the WofBPEL tool (see below).
- WofBPEL: A tool for formal analysis of BPEL processes. This tool takes as input Petri net descriptions in PNML obtained as output from the BPEL2PNML tool. WofBPEL checks for unreachable BPEL activities and for concurrent activities that may enter in competition for the same inbound message (a situation forbidden in BPEL). The tool also performs a reachability analysis to detect which inbound messages need to be preserved in the queue at each step of the BPEL process. A paper with further details of the tool is available here.
- WofBPEL Postprocessor: For convenience, this post-processor tool takes as input the original BPEL definition and the corresponding output from WofBPEL, and produces an annotated version of the original BPEL definition. Details of the annotations can be found in the WofBPEL post-processor manual (PDF, 5Kb) and an example (XML, 4Kb) (modified from an original BPEL demo called Hotwireflow).