BPM Gateways¶
Gateways diverge and converge flows. Depicted as a yellow diamond. They can be used to determine a path in which the flow will go depending on specific conditions. They can split the flow into multiple parallel flows and join parallel flows into a single one.
Exclusive Gateway¶
Can diverge or converge flows.
In case of diverging it defines a single flow (path) that will be chosen according specified criteria. The first met condition determines the flow, next conditions are omitted. There is the ability to specify a default flow. The default flow will be chosen if no conditions met. The default flow is marked with a slash sign.
Important
There must be at least two outgoing flows to be able to specify diverging criteria.
In case of converging, it just directs the flow to the outgoing element. It doesn't get blocked after the flow come though, so parallel flows won't be merged into the single flow.
Inclusive Gateway¶
Can diverge or converge flows.
In case of diverging, it can direct to one or multiple parallel flows (paths), depending on accomplishment of criteria of each flow. Default flow is chosen if there are no met conditions. Default flow is marked with a slash sign.
Important
There must be at least two outgoing flows to be able to specify diverging criteria.
If there is a necessity to merge parallel flows produced by a diverging inclusive gateway you need to use a converging inclusive gateway. It will wait for all incoming flows and then continue to the outgoing element.
Note
Diverging and converging gateways must be balanced. The number of flows outgoing from a diverging gateway should equal the number of flows incoming to a converging gateway. If between these gateways one of flows splits into nested parallel flows, these nested flows must be converged before the outer converging gateway. And so on.
Note
If one of parallel flows has been ended for some reason, then the diverging converging will never be processed. The process will be blocked. Avoid the flowchart design that can bring about such a situation.
Parallel Gateway¶
Can diverge or converge flows.
In case of diverging it splits flow into multiple parallel flows. There are no parameters for this gateway type.
In case of converging it waits until all incoming flows come and then continues to the next outgoing element.
Note
Diverging and converging gateways must be balanced. The number of flows outgoing from a diverging gateway should equal the number of flows incoming to a converging gateway. If between these gateways one of flows splits into nested parallel flows, these nested flows must be converged before the outer converging gateway. And so on.
Note
If one of parallel flows has been ended for some reason, then diverging gateway will never be processed. The process will be blocked. Avoid the flowchart design that can bring about such a situation.
Event Based Gateway¶
Can only diverge flows.
It stops the flow until any of outgoing events gets triggered. The triggered event determines the single flow. Other outgoing events get rejected.
Only intermediate events can be on the other end of outgoing sequence flows.