BPEL2oWFN uses Flex and Bison to implement the parser. We decided do not use an off-the-shelf XML parser generator as we did not found a suitable platform-independent parser generator whose license was “compatible” to the GNU GPL (General Public License). Furthermore, we use the term generator Kimwitu++ to describe and process the AST (abstract syntax tree), and the trio Flex/Bison/Kimwitu++ integrates seamlessly. Though the grammar has to be defined manually, the generated parser is very flexible as it allows to process BPEL4WS 1.1, WS-BPEL 2.0, and to some extend BPEL4WS 1.0 processes.
However, the parser does not support XML namespaces. BPEL2oWFN will ignore namespace prefixes and skip all elements that are not explicitly covered by the WS-BPEL 2.0, BPEL4WS 1.2 or WSDL 1.1 specification, respectively. Nevertheless, skipping elements are reported as syntax error message (cf. warning message [W00104]).
As a solution, try removing or commenting non-standard elements.
Well, because there are such errors. Many BPEL editors generate invalid BPEL. Even the official WS-BPEL 2.0 specification contains processes with syntax errors. Furthermore, a lot of syntax errors cannot be covered with XSD (XML Schema Definition) validation. Even if the considered process run on existing engines, BPEL2oWFN might reject it, as it stubbornly follows the WS-BPEL specification.
This problem occurs using a pre-compiled windows version of BPEL2oWFN. The generated files are in Windows format, yet LoLA only supports files in Unix format. To overcome this limitation of LoLA, use a tool like dos2unix or change the file format in an editor like vi.
Though this is the second major release version of BPEL2oWFN, it might still contain poorly tested, inefficient code.
Diagnosis: The implemented semantics of was mainly created to support executable BPEL processes. Therefore, the translation of abstract BPEL processes (formerly called business protocols) might be buggy. In particular, the allowed absence of implementation details hampers the analysis of the process and the generation of a formal model.
Solution: To avoid errors, at least each communicating activity should be
defined with partnerLink
and operation
attribute, and
<invoke>
activities should be defined with inputVariable
and/or
outputVariable
to distinguish the respective asynchronous and synchronous
occurrence.
If you find a bug in BPEL2oWFN or have a question, please first check that it is not a known bug or a frequently asked question listed in above. Otherwise, please send us an email to bug-bpel2owfn@gnu.org. Include the version number which you can find by running bpel2owfn --version. Also include in your message the input BPEL process and the output that the program produced. We will try to answer your mail within a week.
If you have other questions, comments or suggestions about BPEL2oWFN, contact us via electronic mail to nlohmann@informatik.hu-berlin.de.
Niels Lohmann
Humboldt-Universität zu Berlin
Institut für Informatik
Unter den Linden 6
10099 Berlin, Germany
BPEL2oWFN is now developed for one and a half year, and grown to a quite big program. Since November 2006, BPEL2oWFN is a GNU package, and the development is organized at Savannah (https://savannah.gnu.org/projects/bpel2owfn). We are always looking for developers and testers that can help us improving BPEL2oWFN.