BPMN 2.0 Serialization Constraints

Correct and standard compliant serializations of BPMN process models are crucial for model exchange between tools, automatic application of academic verification approaches and executability on BPMN engines.
The official standard document does not provide an extensive set of all constraints regarding the correctness of model serializations.
We try to fills this gap by presenting a categorized list of generic, technology independent constraints stated by the standard.

Prototypic tools checking all constraints are currently under development.
As a first step the Java-Tool "BPMNspector" (available at GitHub) has been released. BPMNspector is able to check

  • the correctness of BPMN process regarding the normative XSD definition
  • all occurring references (e.g., a "MessageRef") whether the referenced element is existing (i.e., the ID is defined in the model) and whether it has the correct Type (i.e., "Message" in case of a "MessageRef").
  • 40 (of 52) constraints defined for the "descriptive conformance sub class"

To contribute new constraints, report errors and to give general feedback to our work, just send an email or open an issue at GitHub.


Tools and Deliverables

  • list of constraints(167.6 KB) (machine consumable XML file, v.1.0)
  • associated XSD file(3.6 KB)
  • BPMN-Reference-Validator: Java-Tool to check the existence and correctness of references in BPMN models; developed by Andreas Vorndran as a part of his Bachelor thesis; BPMN-Reference-Validator is now part of the BPMNspector, but still available at GitHub
  • BPMNspector: Java Tool which integreates Andreas' BPMN-Reference-Validator and the practical part of Philipp Neugebauer's Bachelor-Thesis: Schematron validation of BPMN process models; Source code available at GitHub; external project website: http://www.BPMNspector.org


Matthias Geiger

Contributing Students

Andreas Vorndran
Philipp Neugebauer