This wiki page is intended to track our discussion regarding validation of BPMN2 models. It hosts a list of constraints compiled from the specification text.
List of constraints
Chapter 8 - BPMN Core Structure
- Chapter 8.3.10 Item Definit, page 92
- "In cases where the data structure represents a collection, the multiplicity can be projected into the attribute isCollection. If this attribute is set to “true,” but the actual type is not a collection type, the model is considered as invalid."
- May be hard to formalize, because StructureRef can be of various types written in any language
Chapter 10 - Process
- Chapter 10.4.2 Start Event, page 238:
- "no Sequence Flow can connect to a Start Event"
- @StartEvent: noSequenceFlowToStartEvent = self.incoming->isEmpty()