BPMN Shape Behavior Guide
Introduction
The Business Process Model and Notation (BPMN) specification defines specific behavior for certain Flow Objects (Shapes). In simulating BPMN-based processes (flow diagrams), it is important to ensure that the correct behavior is given in Simulation Shape Properties, so that your model has the semantically correct behavior.
We offer best-practice recommendations for core, or commonly-used, BPMN Flow Objects. We encourage you to ensure that your Flow Objects follow these guidelines, particularly to ensure proper execution of your process. This is particularly important for simulation analysis, and also if your diagram will be exported to a workflow automation system, or simply for communication purposes with those that may implement your process definition in an application.
Summary
Before we discuss detailed Flow Object Behavior, a quick summary of key behavior settings is given below as textual annotations to the Flow Objects in question:
![image-20240607-235310.png](../__attachments/252313602/image-20240607-235310.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Overview of Core Gateway Best-Practice Shape Properties Behavior
Following this summary, each Flow Object is discussed in greater detail, with Simulation Shape Properties behavior shown.
Gateway Flow Objects
Gateways control the flow of your process, deciding where the token (or ‘case’) flows to next. A best-practice approach to Gateways is to use them like ‘balanced parenthesis.' For example, if you’ve used a Parallel Gateway to begin parallel flow, then another Parallel Gateway should be used to re-synchronize those parallel paths.
The 3 most common types of Gateways used are:
Exclusive: Only 1 path is used; commonly a ‘decision point’ in the process. Use like an English ‘OR’.
Parallel: All paths are used; commonly used to manage parallel flow in the process. Use like an English ‘AND’.
Inclusive: One or more paths are used; commonly a more complex ‘decision’ or synchronization of parallel paths in the process. Use like an English ‘AND/OR’.
Exclusive Gateway
The Exclusive Gateway is an ‘OR’ condition; only 1 path triggers it on Inputs, and only 1 path is used on Outputs. The most common use of the Exclusive Gateway is to manage Outputs behavior; to control where the token, or ‘case,' goes next.
![image-20240608-000557.png](../__attachments/252313602/image-20240608-000557.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Exclusive Gateway
Inputs Behavior
The BPMN 2.0 specification clarified the behavior of the Exclusive Gateway on Inputs, and no special behavior is called for. So leaving shapes at the default of no Inputs Gate is correct.
![image-20240607-233928.png](../__attachments/252313602/image-20240607-233928.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Exclusive Gateway - Inputs (Default; No Gate Behavior)
Outputs Behavior
The Outputs behavior depends on whether you want a random percentage path followed, or if you want to ‘build the rule yourself’ and follow the first condition that evaluates to ‘true.’
Percentage Decision
Specific the percentage ‘likelihood' of each path being followed; will automatically add up to 100%:
![image-20240607-234019.png](../__attachments/252313602/image-20240607-234019.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Exclusive Gateway - Outputs - Decision - Percentage
Conditional (First True Condition)
Use this when you have more complex rules for which path should be followed, when only one of the paths-- the first one to be ‘true.’
![image-20240607-234724.png](../__attachments/252313602/image-20240607-234724.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Exclusive Gateway - Outputs - Decision - Conditional (First)
Parallel Gateway
The Parallel Gateway is an ‘AND’ condition; all paths must receive a token before it triggers on Inputs, and all paths are used on Outputs. The most common use of the Parallel Gateway is to manage parallel path behavior; to control where the creation and synchronization of parallel work.
![image-20240608-000724.png](../__attachments/252313602/image-20240608-000724.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Parallel Gateway
Inputs Behavior
![image-20240608-000928.png](../__attachments/252313602/image-20240608-000928.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Parallel Gateway - Inputs
Outputs Behavior
![image-20240608-001303.png](../__attachments/252313602/image-20240608-001303.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Parallel Gateway - Outputs
Inclusive Gateway
The Inclusive Gateway is an ‘AND/OR’ condition; all paths that can receive a token must receive a token (typically from an Inclusive Gateway used earlier in the flow) before it triggers on Inputs, and one or more paths may be used on Outputs. The most common use of the Inclusive Gateway is to manage ‘and/or’ decision behavior; to control the paths taken, with potential creation and synchronization of parallel work.
![image-20240608-000819.png](../__attachments/252313602/image-20240608-000819.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Inclusive Gateway
Inputs Behavior
![image-20240608-001424.png](../__attachments/252313602/image-20240608-001424.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Inclusive Gateway - Inputs
Outputs Behavior
When you have a more complex decision to make, when more than one condition may be true, an Inclusive Gateway can be useful. For example, you may want to always deliver the ordered product to your customer. However, if the order amount is over a certain amount, you may also want a manager to sign a thank-you card. If it’s a very large order, perhaps you want both a manager and the CEO to sign thank-you cards.
![image-20240608-002800.png](../__attachments/252313602/image-20240608-002800.png?inst-v=c26cef74-a194-4817-9399-f9ca49c33171)
Inclusive Gateway - Outputs
…