Gateways control the divergence and convergence of a sequence flow, determining branching and merging of the paths that a runtime process can take.
You can model the following types of gateways in your process diagram:
| Component icon | Gateway type | Description |
|---|---|---|
![]() |
Parallel (AND) | Use a parallel, diverging gateway when you want the process to follow all available paths. Use a parallel, converging gateway when you want to converge all available paths. |
![]() |
Inclusive (OR) | Use inclusive, diverging gateway when you want to follow one or more available paths based on conditions that you specify. Use downstream of an inclusive diverging gateway to converge multiple paths into a single path after all the active paths completed their runtime execution. The inclusive join looks upstream at each path to determine whether the path is active, in which case it waits. Otherwise, it passes the token through without waiting. |
![]() |
Exclusive (XOR) | Use to model a point in the process execution where only one of several paths can be followed, depending on a condition, or to model a point in process execution when the token for one of several incoming paths is passed through the gateway. |
![]() |
Event | Use to model a point in the process execution where only one of several paths can be followed, depending on events that occur. A specific event, such as the receipt of a message or timer event, determines the path to be taken. An event gateway must be modeled a certain way as described in Modeling event gateways. |
Be aware of the following when using gateways:
For more information about implementing inclusive and exclusive gateways, see Example gateways.
To add gateways to a process diagram: