BpmnGateway
Gateways are used to control how the Process flows (how Tokens flow) through Sequence Flow as they converge and diverge within a Process. If the flow does not need to be controlled, then a Gateway is not needed. The term ?gateway? implies that there is a gating mechanism that either allows or disallows passage through the Gateway--that is, as tokens arrive at a Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked. Gateways, like Activities, are capable of consuming or generating additional control tokens, effectively controlling the execution semantics of a given Process. The main difference is that Gateways do not represent ?work? being done and they are considered to have zero effect on the operational measures of the Process being executed (cost, time, etc.). The Gateway controls the flow of both diverging and converging Sequence Flow. That is, a single Gateway could have multiple input and multiple output flows. Modelers and modeling tools may want to enforce a best practice of a Gateway only performing one of these functions. Thus, it would take two sequential Gateways to first converge and then to diverge the Sequence Flow. Ownership Gateways belong to Flow element containers, or sub processes
: BpmnGateway (architecture_autodiagram)
Figure 51 : BpmnGateway (architecture_autodiagram)
GatewayDirectionBpmnGatewayBpmnFlowNodeBpmnInclusiveGatewayBpmnExclusiveGatewayBpmnComplexGatewayBpmnEventBasedGatewayBpmnParallelGateway
Attribute
Description
BpmnGatewayDirection GatewayDirection [1..1]
- A Gateway with a gatewayDirection of unspecified MAY have both multiple incoming and outgoing Sequence Flow. - A Gateway with a gatewayDirection of mixed MUST have both multiple incoming and outgoing Sequence Flow. - A Gateway with a gatewayDirection of converging MUST have multiple incoming Sequence Flow, but MUST NOT have multiple outgoing Sequence Flow. - A Gateway with a gatewayDirection of diverging MUST have multiple outgoing Sequence Flow, but MUST NOT have multiple incoming Sequence Flow.