Flows out of Parallel Blocks

Parallel blocks in a process require careful design. The joining Parallel Gateway must receive incoming flows on all paths. Branches out of a parallel block can prevent the join from being satisfied. In the first example, there is an exclusive split in the parallel block. If that branch is taken, the process will deadlock.

Anti-Pattern: 
Discussion: 

Processes are easiest to understand and validate if they consist of blocks bounded by matching Gateways of the same type, and if there is a single flow into and out of the block. The example below shows a case where this is not possible, but still is valid since the Error End Event will terminate the entire process.

Recommended Alternative: 

Sponsored by  BPMPros LLC