BPMN Cancel Event

BPMN Cancel Event

The BPMN Cancel Event article provides a detailed explanation of the cancel event BPMN element, including the definition, notation, rules, guidelines and examples.

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.

BPMN Definition

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.

BPMN Notation

The BPMN specification defines the different types of Cancel Event elements using the following description and notation:

ElementDescriptionNotation
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 EventThis 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: Cancel Events

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 EventsThrowing Events
Start EventIntermediate EventEnd Event
StandardEvent Sub-Process
Interrupting
Event Sub-Process
Non-Interrupting
CatchingBoundary
Interrupting
Boundary Non-
Interrupting
ThrowingStandard
Cancel Event

BPMN Notation: Cancel Event

BPMN Diagram

The following is an example of a BPMN Cancel Event within a diagram:

BPMN Cancel Event Example of BPMN Cancel Event

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.

BPMN Standards

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.

BPMN Guidelines

The BPMN guidelines section contains a list of optional rules that can be used as a guide.

  • N/A

Finally

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.

Reference