- BPMN Definition
- BPMN Notation
- BPMN Event Types
- BPMN Diagram
- BPMN Standards & Guidelines
The BPMN Cancel Event article delves deep into the intricacies and applications of the cancel event element as outlined in the BPMN 2.0 specification. The definition, notation, and rules sections offer a concise summary of the BPMN 2.0 Specification pertaining to the cancel event element. Meanwhile, the guidelines section presents a curated collection of best practices specific to the cancel event, showcasing its proper and effective utilisation in process modelling.
Cancel Events are only used in the context of modeling Transaction Sub-Processes. There are two variations: a Cancel Catch Intermediate Event and an End Event. The Cancel Catch Intermediate Event is used within a Transaction Sub-Process. The Cancel Catch Intermediate Event MUST be attached to the boundary of a Sub-Process. It SHALL be triggered if a Cancel End Event is reached within the Transaction Sub-Process. It also SHALL be triggered if a TransactionProtocol “Cancel” Message has been received while the transaction is being performed. ~ BPMN Specification
A transaction is a Sub-Process that is supported by a special protocol that insures that all parties involved have complete agreement that the activity should be completed or canceled. The attributes of the activity will determine if the activity is a transaction. A double-lined boundary indicates that the Sub-Process is a Transaction.
When a Transaction is canceled, the Activities inside the Transaction will be subjected to the cancellation actions, which could include rolling back the Process and compensation for specific Activities. Note that other mechanisms for interrupting a Transaction Sub-Process will not cause compensation (e.g., Error, Timer, and anything for a non-Transaction Activity).
A Cancel Intermediate Event, attached to the boundary of the Activity, will direct the flow after the Transaction has been rolled back and all compensation has been completed. The Cancel Intermediate Event can only be used when attached to the boundary of a Transaction Sub-Process. It cannot be used in any normal flow and cannot be attached to a non-Transaction Sub-Process.
Cancellation will terminate all running Activities and compensate all successfully completed Activities in the Sub- Process it is applied to. If the Sub-Process is a Transaction, the Transaction is rolled back.
The BPMN specification defines the different types of Cancel Event elements using the following description and notation:
|Cancel Boundary Event (Interrupting)||This type of Intermediate Event is used within a Transaction Sub-Process. This type of Event MUST be attached to the boundary of a Sub-Process. It SHALL be triggered if a Cancel End Event is reached within the Transaction Sub-Process.|
|Cancel End Event||This type of End is used within a Transaction Sub-Process. It will indicate that the Transaction should be canceled and will trigger a Cancel Intermediate Event attached to the Sub-Process boundary|
BPMN Event Types
BPMN events represent various types of occurrences that affect the flow of a process, and they can be categorized based on their position and behavior in the process.
- Start Event: The Start Event indicates where a particular Process will start.
- Intermediate Event: The Intermediate Event indicates where something happens (an Event) somewhere between the start and end of a Process.
- End Event: The End Event indicates where a Process will end.
- Catching Events: Events that catch a trigger. All Start Events and some Intermediate Events are catching Events.
- Throwing Events: Events that throw a Result. All End Events and some Intermediate Events are throwing Events that MAY eventually be caught by another Event.
- Boundary Event: An Intermediate Event that is attached to the boundary of an Activity.
The following table illustrates how the different types of Cancel Events are grouped as per the BPMN Event types:
|Catching Events||Throwing Events|
|Start Event||Intermediate Event||End Event|
|Standard||Event Sub-Process |
|Event Sub-Process |
The following is an example of a BPMN Cancel Event within a diagram:
BPMN Standards & Guidelines
The difference between standard and guideline is that a standard is a level of quality or attainment while a guideline is a non-specific rule or principle that provides direction to action or behaviour. A standard are high in authority and needs to be adhered to versus a guideline is low in authority and guide one in setting standards or determining a course of action.
The BPMN Standards section contains a list of rules that are applicable to the BPMN Cancel Event as per the official rules of the BPMN Specification.
- The catch Cancel Intermediate Event MUST only be attached to the boundary of a Transaction Sub-Process and, thus, MAY NOT be used in normal flow.
- The Cancel End Event MUST only be used within a Transaction Sub-Process and, thus, MAY NOT be used in any other type of Sub-Process or Process.
The BPMN guidelines section contains a list of optional rules that can be used as a guide.
This article provided a detailed explanation of the BPMN Cancel Event element. Follow me on any of the different social media platforms, and feel free to leave comments.
- Business Process Model and Notation Specification Version 2.0.2. (2014, January). https://www.omg.org/spec/BPMN/2.0.2/