Gateways (BPMN)

Gateways control the sequence flow of the process, and can merge or split the flow as dictated by the gateway conditions. You can create gateways in collaboration, process, and choreography diagrams.

The following kinds of gateways are available:

Symbol Description
BPMN_20_GatewayBaseBPMN_20_GatewayExclusive Basic/Exclusive gateway - When splitting, routes the flow to one outgoing branch. When merging, waits for one incoming branch to complete before triggering the outgoing flow.
BPMN_20_GatewayParallel Parallel gateway - When splitting, activates all outgoing branches simultaneously. When merging, waits for all incoming branches to complete.
BPMN_20_GatewayInclusive Inclusive gateway - When splitting, activates one or more branches. When merging, waits for all incoming branches to complete before merging.
BPMN_20_GatewayEventBase Event-based gateway - Followed by catching events or receive tasks and routes the flow to whichever of these happens first.
BPMN_20_GatewayExclusiveEventBase Exclusive event-based gateway - Starts a new process instance for each occurrence of a subsequent event.
BPMN_20_GatewayParallelEventBase Parallel event-based gateway - Starts a new process instance for the occurrence of all subsequent events.
BPMN_20_GatewayComplex Complex gateway - Treats complex merging or branching behavior not covered by other gateways.

Gateways are based upon decisions (see Decisions (BPM )), and have the following additional property:

Property Description
Direction Specifies how the gateway may be used. You can select:
  • Unspecified - The gateway may have any number of incoming and outgoing sequence flows.
  • Converging - The gateway may have multiple incoming sequence flows but must have no more than one outgoing sequence flow.
  • Diverging - The gateway may have multiple outgoing sequence flows but must have no more than one incoming sequence flow.
  • Mixed - The gateway contains multiple outgoing and multiple incoming sequence flows.
Note: You can change the type of a gateway by right-clicking its symbol or Browser entry and selecting the appropriate Change to... command.