As explained in a previous lesson, gateways serve to split or join process flows. A split gateway is a point where a single inbound sequence flow diverges into two or more outbound branches:

A parallel split (AND-split) gateway

join gateway is where multiple inbound branches merge into a single outbound branch:

A parallel join (AND-join) gateway

In the case of a parallel gateway, the AND-split gateway indicates where activities begin to be performed in parallel. the corresponding AND-join gateway waits until tokens from all incoming sequence flows have been received before synchronizing the tokens and allowing the process to continue.

The AND-join gateway synchronizes tokens from incoming sequence flows before proceeding.

Here’s an example of processing that utilizes parallel gateways:

An example of a parallel process

  • The process is instantiated when the traveler receives a boarding pass.
  • Next, the traveler proceeds to the security checkpoint.
  • Upon arriving at the checkpoint, the sequence flow splits at a parallel gateway. Unlike other gateways, parallel gateways aren’t typically labeled.
  • One sequence flow calls for the traveler to submit her carry-on luggage to be screened.
  • In parallel, the traveler herself must complete a screening process.
  • The sequence flows are synchronized at another parallel gateway.
  • Only after both parallel process flows are completed can the travel proceed to the departure gate.
  • The process instance is finished when the traveler arrives at her gate.