When working with BPMN (Business Process Model and Notation), it is essential to have a solid grasp of Intermediate Events, particularly Boundary Events. Although many are familiar with Intermediate Events used in normal process flows, Boundary Events introduce an additional layer of control and flexibility, especially in scenarios where deviations or exceptions occur.
Intermediate Events are points in a process where something happens between the start and end of the flow. They are typically used to denote a trigger or a delay. For example, a Timer Intermediate Event may indicate a pause until a certain time, or a Signal Event might wait for some external input. In the normal flow of a process, these Intermediate Events simply guide the process along its primary path.
Example 1: A simplified employee onboarding process example using Intermediate Timer and Signal Events.
Here are a few key points about Intermediate Events in normal flow:
Intermediate Boundary Events, on the other hand, are associated with Activities and are attached to the boundary of those Activities. They are used to either interrupt or react to exceptions, such as errors, timeouts, or cancellations that occur while an Activity is in progress.
Example 2: Intermediate Boundary Events attached to boundaries of Activities.
The key distinction between Intermediate Events and Boundary Intermediate Events lies in their placement and function:
Placement: Boundary events are placed directly on the boundary of a Task or Sub-Process.
Example 3: Diagram fragments containing Boundary Intermediate Events attached to a Task, a collapsed Sub-Process, and an expanded Sub-Process.
Function: Boundary events can interrupt the ongoing activity (Interrupting Boundary Event) or allow the Activity to continue while reacting to the Boundary Event (Non-interrupting Boundary Event).
Example 4: Diagram fragment containing an Interrupting and Non-interrupting Intermediate Boundary Events.
It is important to have a good understanding of the terms we use in this article.
Example 5: Normal vs. Exception flow
Boundary Events are optional in the sense that they may or may not be triggered depending on whether the specified condition or event actually occurs during the execution of the activity. For example, if a Boundary Event is set to react to a time limit, it will only trigger if that time limit is exceeded. If the condition isn’t met, the Boundary Event remains inactive, and the process proceeds as if the Boundary Event wasn’t there.
This optionality gives process designers flexibility, allowing them to model events that may or may not happen:
You can attach multiple Boundary Events to a single Activity, with each one reacting to different potential scenarios (e.g., error, timeout, message receipt). Whether these Events actually interrupt the Task or Sub-Process to which they are attached, or run in parallel to the Task or Sub-Process to which they are attached, depends on their configuration as either Interrupting or Non-interrupting Boundary Events.
Every Intermediate Event is represented as a circle drawn with a double thin line.
Example 6: Intermediate Event
If we look at the details, Intermediate and Boundary Intermediate Events have distinct graphical notations that convey their behavior and role in process flows.
Intermediate Events can be represented as an empty circle (None Events) or with an optional marker inside. This marker can be filled or unfilled depending on whether it is a Throwing or Catching Event. The following simplified table, created based on Table 10.93 from the BPMN specification, contains all the possibilities.
Table 1: Intermediate Events in normal flow
Boundary events are attached to an activity and react to specific conditions. They are always Catching and must have a marker inside (there is no None Boundary Intermediate Event). Link and Terminate can’t be used as Boundary Intermediate Events. Non-interrupting Boundary Events use a dashed border style.
Table 2: Boundary Intermediate Events
Boundary Events are especially useful in scenarios where real-life processes involve uncertainty, delays, or external triggers. Here are three examples where using Boundary Events significantly improves process handling:
1. Handling Timeouts in Customer Service: In a customer service process, a representative might be expected to resolve a customer issue within a specified timeframe. Attaching a timer boundary event to the Task ensures that if the issue isn’t resolved within the allotted time (e.g., 30 minutes), the Boundary Event triggers a notification to a manager or escalates the issue without interrupting the current work. This non-interrupting timer boundary event ensures parallel escalation.
2. Error Handling in Payment Processing: Consider a payment process where an attempt to process a payment may result in an error (e.g., insufficient funds, technical failure). An Error Boundary Event attached to the payment Task can capture the error and redirect the flow to an error-handling process. This interrupts the payment Task, stops the attempt, and ensures that an appropriate fallback (e.g., notifying the customer) takes place, providing a smooth error-handling mechanism.
3. Receiving External Triggers in Supply Chain: In a supply chain process, a manufacturing Task may continue for several hours. However, the arrival of new shipment data from a supplier may need to be processed without halting the current production activity. A Non-interrupting Message Boundary Event can be attached to the production Sub-Process to handle the external message while allowing the production process to continue. This ensures agility and responsiveness to external changes without stopping core operations.
Boundary Intermediate Events in BPMN provide a powerful mechanism for managing exceptions, deviations, and external triggers in process flows. By understanding the differences between Intermediate Events in normal flow and Boundary Intermediate Events, process designers can better model real-world scenarios.
Boundary Events, especially in interrupting and non-interrupting forms, offer the flexibility to manage complex process behaviors efficiently.
Real-life examples like customer service timeouts, error handling in payments, and external triggers in supply chains show how boundary events can improve process robustness and responsiveness.
What Exactly Are Activities and Events in BPMN? (eduMAX blog)
Take the BPMN 2.0 Lesson 5 Quiz