BPMN Cancel Event

BPMN Cancel Event

The BPMN Cancel Event article provides a detailed explanation of the cancel event element, including the BPMN notation, an example diagram and guidelines.

The BPMN Cancel Event article focus on the definition and usage of the cancel event element as documented in the BPMN 2.0 specification. The example process diagram illustrates the correct use of the cancel event annotation. The BPMN Guidelines section contains a detailed set of rules that apply to the cancel event and explains how the element may or may not be used within the different BPMN diagrams.

What is a Cancel Event?

“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 Cancel Event element using the following description and notation:

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 Event Types

The following table contains a list of the different Cancel Event types, their descriptions and the BPMN notations:

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 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