Show TOC

Verifying BPMN 2.0 Process DiagramsLocate this document in the navigation structure

PowerDesigner Web provides a set of standard verification rules for BPMN 2 process diagrams.

The verification rules in this list apply to BPMN 2.0 Executable and (where appropriate) BPMN 2.0 Descriptive:
  • Activities:
    • Missing incoming flow/Missing outgoing flow: Activities/processes must have at least one incoming and one outgoing flow.
    • Invalid implementation: Activities/processes cannot be implemented by an activity/process that is, itself, implemented.
    • Invalid decomposition: Tasks must not contain other objects. Only sub-processes and other composite activities can contain other objects.
    • Invalid item-aware elements: Events and tasks must only contain item-aware objects of type Data Input or Data Output.
    • Too many default flows: Activities and intermediate events must not have more than one default outgoing flow.
    • Invalid implementation type: Call activities must have an implementation type of Reuse process.
    • Missing start/Missing end: Sub-processes/composite processes must have at least one start and at least one end.
    • Invalid incoming flows/Invalid outgoing flows: Event sub-processes must not have any incoming or outgoing flows.
    • Too many start events: Event sub-processes must have exactly one start event.
    • Invalid incoming flows/Invalid outgoing flows: Compensation activities must not have any incoming sequence flows that are not of type Compensation, nor any outgoing sequence flows.
    • Invalid for export: Manual tasks cannot be exported to a NetWeaver BPMN2 file.
  • Gateways:
    • Too few incoming or outgoing flows: Gateways/decisions must have more than one outgoing flow to represent a split (conditional branch) or more than one incoming flow to represent a merge.
    • Too many default flows: Gateways must not have more than one default outgoing flow.
  • Sequence and Message Flows:
    • Missing source/Missing destination: Flows must have both a source and a destination object.
    • Invalid message format: Sequence flows must not have message formats attached to them.
    • Undefined message format: Message flows must either specify a message format or have their message format set to <None>.
    • Duplicate definition: Message formats must not have the same definition as another message format.
    • Invalid correlation property: Message flows must specify a correlation property from among those defined in their correlation key.
    • Invalid source/Invalid destination: Message flows can only go from (have as sources) and point to (have as destinations) activities, pools, catching message intermediate events, or message start events.
  • Events:
    • Missing outgoing flow: Starts must have at least one outgoing flow.
    • Missing incoming flow: Ends must have at least one incoming flow.
    • Not permitted at top level: Start events of type Escalation, Error, or Compensation are only permitted in event sub-processes.
    • Not permitted in sub-process: Start events that are not of type Standard are not permitted in sub-processes.
    • Not permitted in event sub-process: Start events of type Standard are not permitted in event sub-processes.
    • Not permitted in transaction: Start events that are not of type Standard are not permitted in transactions.
    • Not permitted in ad-hoc sub-process: Start and end events are not permitted in ad-hoc sub-processes.
    • Only permitted in transactions: End events of type Cancel are not permitted at the top level or in event sub-processes. They are only permitted in transactions.
    • Invalid item-aware elements: Events and tasks must only contain item-aware objects of type Data Input or Data Output.
    • Too many default flows: Activities and intermediate events must not have more than one default outgoing flow.
    • Too few event definitions: Multiple events must contain at least two event definitions.
    • Invalid event definitions: Multiple and parallel multiple events of type:
      • Start (at the top level) - can only contain Message, Timer, Conditional, Error, and Signal event definitions.
      • Interrupting start (in an event sub-process) - can only contain Message, Timer, Escalation, Conditional, Error, Compensation, and Signal event definitions.
      • Non-interrupting start (in an event sub-process) - can only contain Message, Timer, Escalation, Conditional, and Signal event definitions.
      • Interrupting boundary - can only contain Message, Timer, Escalation, Conditional, Error, Cancel, Compensation, and Signal event definitions.
      • Non-interrupting boundary - can only contain Message, Timer, Escalation, Conditional, and Signal event definitions.
      • Intermediate catching - can only contain Message, Timer, Conditional, Link, and Signal event definitions.
      • Intermediate throwing - can only contain Message, Escalation, Link, Compensation, and Signal event definitions.
      • End - can only contain Message, Error, Escalation, Cancel, Compensation, Signal, and Terminate event definitions.
    • Invalid decomposition: Events must not be decomposed. They must not contain other objects.
    • Missing stereotype: Events must bear a stereotype to define what type of event it is.
    • Invalid reusability: Events must not be specified as reusable.
  • Data and Data Associations:
    • Unused resource: Data objects/resources must be linked to at least one activity/process.
    • Not permitted in tasks or events: Data objects and data object references are not permitted in tasks or events.
    • Missing data object/Invalid data object: Data object references must specify the data object to which they are a reference.
    • Invalid source/Invalid destination: Data associations/resource flows can only go from (have as sources) and point to (have as destinations) activities/processes and data objects/resources.
    • Missing source item/Invalid source item : Data associations with a transformation type of Output must specify an item-aware element (of type Data Output) from among those defined on their source activity, which will be transferred from the activity to the data.
    • Missing target item/Invalid target item: Data associations with a transformation type of Input must specify an item-aware element (of type Data Input) from among those defined on their target activity, which will be transferred to the activity from the data.
  • Item-aware Elements:
    • Not permitted in start events: Item-aware elements of type Data Input are not permitted in start events.
    • Not permitted in intermediate catch events: Item-aware elements of type Data Input are not permitted in intermediate catch events.
    • Not permitted in intermediate throw events: Item-aware elements of type Data Output are not permitted in intermediate throw events.
    • Not permitted in end events: Item-aware elements of type Data Output are not permitted in end events.
  • Correlation Keys:
    • Missing variables: Correlation keys must contain at least one variable.
  • Implementation Objects - These objects are not commonly modeled in PowerDesigner Web but may be present in models created in the PowerDesigner desktop client:
    • Missing interfaces: Service providers must contain at least one interface.
    • Missing operations: Interfaces must contain at least one operation.
    • Missing input message (One-Way): One-way operations must specify an input message.
    • Missing input message (Request-Response): Request-response operations must specify both an input and an output message.
    • Missing input message (Solicit Response): Solicit response operations must specify both an input and an output message.
    • Missing output message (Notification): Notification operations must specify an output message.
    • Missing output message (Request-Response): Request-response operations must specify both an input and an output message.
    • Missing output message (Solicit Response): Solicit response operations must specify both an input and an output message.