BPMN Gateways: Parallel Splitting and Merging Example

In a BPMN process diagram, all these activities will be depicted by rounded rectangles. The rectangles are connected by arrows, called sequence flows, which
indicate the order of performance.

「BPMN visual paradigm」的圖片搜尋結果"

Parallel Gateways for Splitting and Merging

Where different courses of action are possible, we need branching points. These are called splitting gateways in BPMN and are depicted as diamonds. Synchronization constructs are also covered by (merging) gateways in BPMN and are also depicted as diamonds. In BPMN, a gateway can also be both splitting and merging.

A splitting parallel gateway splits one path into several paths which are to be processed in parallel. There are no conditions for choosing paths; all outgoing sequence flows receive a token when the gateway fires.

A merging parallel (or synchronizing) gateway simply waits until there is at least one token of the same instance on every incoming sequence flow and then produces a token on its (ideally single) outgoing sequence flow.

BPMN Splitting and Merging Example – Order Process

In the Example below, we have two different types of gateways: there is one type where at the split a decision is required, such as “Price > limit?” and “Permission granted?”; this is the default type of gateway, called exclusive gateway. For any given instance, only one path emerging from the split will be taken. The other type, marked with a “plus” sign, is a parallel gateway, where both paths emerging from the split are taken in parallel, that is, the following tasks (“Acknowledge delivery” and “Check invoice”) may be performed in an arbitrary order.

The parallel splitting and merging gateways follow a “bracketing structure”, that is, every path emerging from the splitting gateway is synchronized at the respective
merging gateway.While such a structure has considerable advantages regarding the avoidance of design errors and the proving of certain properties, it is often more than
convenient to allow a deviation from a bracketing structure.

In our example, this can be seen with the exclusive gateways: not every path outgoing from the decision, “Price > limit?”, leads to the respective merge, because if permission is required but not granted, the process instance will be aborted prematurely. The second exclusive split, “Permission granted?”, does not have a corresponding merge at all.

BPMN Gateway Notation Summary:

Gateways control the sequence flow of the process, and can merge or split the flow as dictated by the gateway conditions.

Symbol Description
BPMN_20_GatewayBaseBPMN_20_GatewayExclusive Normal/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.
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.

BPMN Example – Business Process Diagram Example: Vendor Management System

This is a BPMN process diagram for vendor management. It shows a to-be purchasing process for creating new Vendors. This BPM shows multiple tasks, gateways (decisions) and connectors.

Vendor Management System

Visual Paradigm BPMN Video: Take a Quick Tour

Reference:

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *