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.