The first set of structural validations carried out are simple syntactic checks. These ensure that the activity joins and splits (see Split/Join) in the process definition are set up correctly. These validations include:
- All activities except the start and end activities must have at least one inbound and one outbound transition.
- Any activity with more than one inbound transition must have a join type specified (i.e. a join type not equal to NONE).
- Any activity with more than one outbound transition must have a split type (i.e. a split type not equal to NONE).
- Any activity with exactly one inbound transition must have a join type of NONE.
- Any activity with exactly one outbound transition must have a split type NONE.
- The split type for a Parallel activity must be NONE.
- The join type for a Parallel activity must be NONE.
- A Parallel activity must have exactly one inbound transition.
- A Parallel activity must have exactly one outbound transition.
- The split type of the activity on the far side of the incoming transition to a Parallel activity must be NONE.
- The join type of the activity on the far side of the outgoing transition from a Parallel activity must be NONE.