  Several BPMN graphical tools support, at least partly, the OMG's BPMN
specification. The BPMN standard is an essential guide for tools' makers when
implementing the rules regarding depiction of BPMN diagrammatic constructs.
Process modelers should also know how to rigorously use BPMN constructs when
depicting business processes either for business or IT purposes. Several
already published OMG's standards include the formal specification of
well-formedness rules concern-ing the metamodels they address. However, the
BPMN standard does not. Instead, the rules regarding BPMN elements are only
informally specified in natural language throughout the overall BPMN
documentation. Without strict rules concerning the correct usage of BPMN
elements, no wonder that plenty of available BPMN tools fail to enforce BPMN
process models' correctness. To mitigate this problem, and therefore contribute
for achieving BPMN models' correctness, we propose to supplement the BPMN
metamodel with well-formedness rules expressed by OCL invariants. So, this
document contributes to bring together a set of requirements that tools' makers
must comply with, in order to claim a broader BPMN 2 compliance. For the
regular process modeler, this report provides an extensive and pragmatic
catalog of BPMN elements' usage, to be followed in order to attain correct BPMN
process models.
