Gateways

Gateways control the flow of a process. They can merge multiple process flows together or split one process flow into multiple process flows when a decision is made in the process.

Example: In an expense report process, reports with expenses over $1,000 are reviewed by a regional manager; those below $1,000 are approved by the reporter's immediate supervisor. An incoming expense report would take one of two paths, depending on the expenses specified in the report. To represent this part of the process in BPMN, use a gateway with one incoming process flow and two outflow paths.

In addition to being able to merge and split a process flow, gateways are categorized by how they interact with process flows. The three types of gateways are exclusive, inclusive, and parallel. Diagrammatically, all gateways are represented by diamond-shaped symbols. The behavior of a gateway differs depending on its type and whether it is merging or splitting process flows.

Exclusive Gateways

Exclusive gateways are represented by the following symbol:

Splitting exclusive gateways

When an exclusive gateway splits a process into several outflow paths, it represents an EITHER/OR decision. The conditions for taking each outflow path following this gateway type are mutually exclusive: If the conditions on one path are met, the conditions on any other paths cannot be met. The number for the condition represents the priority, and when more than one condition is satisfied, the topmost path (the one with the smallest number) is followed. This gateway is similar to the Conditional Decision activity in Workflow.

Merging exclusive gateways

When an exclusive gateway merges several paths into one, it does not represent a decision. Instead, it allows the data from each incoming paths to proceed to the outflow path when it reaches the gateway.

Inclusive Gateways

Inclusive gateways are represented by the following symbol: 

Splitting inclusive gateways

When an inclusive gateway splits one path into several, it represents an AND/OR decision, meaning that any outflow path whose condition is satisfied will be taken. If multiple conditions are satisfied, multiple outflow paths are taken. The conditions for one outflow path should be independent from those of the other outflow paths. If one path is taken, other paths could still be taken, provided their conditions are met. This gateway is similar to the Conditional Parallel activity in Workflow.

Merging inclusive gateways

When an inclusive gateway merges several paths into one, it does not represent a decision. Instead it, it waits for all flows with active activities to finish before proceeding to the outflow path. If there's a timer catch event or signal catch event that could trigger a flow that leads into the inclusive gateway, then the merging inclusive gateway will wait only if the event has already made the flow active. It will not wait for inactive flows.


Parallel Gateways

Parallel gateways are represented by the following symbol:

Splitting parallel gateways

When a parallel gateway splits one process flow into several active paths, it represents an AND decision, meaning that all outflow paths will be taken. As a result, conditions do not need to be specified for a parallel gateway's outflow paths. This gateway is similar to the Parallel activity in Workflow.

Merging parallel gateways

When a parallel gateway merges several process flows into one, it waits for each incoming path to reach the gateway. Once each incoming path has reached the gateway, the outflow path will be taken.

Configuring Gateways

Before configuring a gateway, ensure it is on the process diagram and properly connected to the objects that follow it in your process with sequence flows. You cannot configure a gateway until it is connected to other objects on the canvas.

To configure a gateway

  1. Double-click the gateway to open its properties pane.
  2. In the Name text box, name the gateway.
  3. Under Description, describe the gateway's role in the process.
  4. To configure the gateway's outflow conditions, there must be one or more sequence flows that start from the gateway and link to other objects on the canvas. Learn more about configuring an object's outflow settings.

Related Topics