Displaying items by tag: bpmn 20

Thursday, 25 April 2024 09:00

Transaction Modelling with BPMN 2.0

Often, when I am out and about delivering BPMN training to our clients, I am asked if it is possible to model the ability to “undo” certain actions within a process model.

The answer is of course yes, BPMN 2.0 provides us with the necessary tools to show this kind of action via transaction modelling.

As you may or may not know, BPMN 2.0 is broken down into several disciplines, see below:

The tools offered by the notation that allow us to undertake transaction modelling fall firmly into the realm of Analytical Modelling.

This means that for users of Sparx Systems Enterprise Architect, we will find everything we need in the toolboxes for BPMN Collaboration and Process diagrams.

Elements for Transaction Modelling

When we say Transaction in reference to BPMN 2.0, we are in fact talking about a Transaction Sub-Process.

A Transaction Sub-Process refers to the coordinated execution of multiple activities such that they will all complete successfully or, in the event of a cancellation, the activities are rolled back to a state equivalent to none of them completing.

To create a Transaction in Enterprise Architect, you first need to create a Sub-Process and then set the Tagged Value isATransaction in the element properties:


The Cancel Event is an interrupting boundary event that can only be used on the boundary of a Transaction Sub-Process.

This event will be triggered should the Transaction reach a state in which a Cancel End Event has been reached. The event will then Cancel (not just a clever name) all successfully completed activities within the Transaction that have defined compensating activities and undo them so that they are in a state equal to none of them having been completed.


Note for Enterprise Architect Users: despite Enterprise Architect allowing you to set any intermediate event as a Cancel, this event type cannot be used used mid-flow and must be attached to a Transaction Sub-Process.


Transaction Modelling with BPMN 2.0 - Cancel End Event
The Cancel End Event is a type of BPMN 2.0 End Event that is used within a Transaction Sub-Process.

Should this End Event be reached within a Transaction Sub-Process, it will then trigger the Cancel Event attached to the boundary of the Transaction.


Transaction Modelling with BPMN 2.0 - Compensation Event
Transaction Modelling with BPMN 2.0 - Compensating Activity
When undertaking Transaction Modelling, should we wish to undo the Activities contained within the Transaction Sub-Process, then alongside the Cancel event types we will also need to employ Compensation Events and Compensating Activities.

An Activity can only be rolled back if it has a Compensation Event set as an interrupting boundary event. This will then need to be connected to a Compensation Activity (or Sub-Process) via the Association relationship.

To mark an activity for compensation in Enterprise Architect, you will need to access the element properties and set the tagged value isForCompensation to true:
Compensation Tagged Value


Transaction Modelling with BPMN 2.0 - Compensation End Event
The Compensation End Event allows us to model a process where we have an option to defer rollback until later on in the process.

When triggered, this End Event will terminate the process and will itself trigger any Compensation Events within the process, and by association any Compensating Activities, allowing us to rollback after the successful completion of our Transactions.

Approaches to Transaction Modelling


When talking about transaction modelling and the phrase “self-cancelling activities” comes up, it is referring to any activities (including Sub-Processes) within a transaction that can be undone should a Cancel End Event be triggered.

A Transaction can contain a single or multiple self cancelling activities.

In the example below we can see that we have a Transaction Sub-Process (modelled as expanded) that contains multiple activities that can be undone when the Compensation Events are triggered by the Cancel Events.

Each of these compensable activities is then linked to a Service Task that is marked for compensation, and it is this Compensation Activity that roles the others back to a state where none of them have been completed.

Note: Whilst it is good practice for an Activity to have one sequence flow in and one out, the same is not true for Associations as can be seen in the example below.

Transaction Modelling with BPMN 2.0 - Self Cancelling Activities

Deferred Cancellation

Deferred cancellation of activities happens when we model a way for our Transaction Sub-Processes to be undone after they have been successfully completed. We do this by implementing a Compensation End Event somewhere in our possible sequence of events. An example of this is shown in the process below:

Transaction Modelling with BPMN 2.0 - Deferred Cancellation

Note: Whilst the example above has been modelled with the Transactions in expanded fashion this is has been done for illustrative purposes. It is better practice to keep things simple and model the Transactions in collapsed fashion and link to the other diagrams via abstraction.

It is also worth noting that we do not model any link between the Compensation and Cancel End Events and the events that they trigger. I recommend using the same names for each, as per the examples above, to show that there is a logical link between them.

This concludes our look at Transaction Modelling in BPMN 2.0, I hope you found it a useful explanation.

How can Dunstan Thomas help you with BPMN 2.0?

Dunstan Thomas have been Sparx Systems partners for the last 18 years, delivering training and consulting services around Enterprise Architect to organisations spanning multiple markets.

Leverage the knowledge and experience of our expert consultants to supplement your teams with services such as:

Published in Tutorials

Dunstan Thomas

Subscriber Questions: How can I show messaging between BPMN processes?

We regularly get asked questions by our YouTube subscribers and recently one we were asked by someone how they could show messaging between independent processes using Enterprise Architect.

In the clip shown below, and after some serious beard stroking, I look at using a high-level collaboration diagram to demonstrate the connectivity between the processes, which was my initial gut reaction. After some additional consideration of the question I also look at an approach using the conversation diagram in conjunction with model elements and lower level choreographies as a way to show this communication at a high-level.

Please click the link below to view the footage:



Don't forget to subscribe to our channel for more content like this, and of course ask your subscriber questions!

Published in Tutorials

Online Training with Dunstan Thomas

BPMN 2.0 with Enterprise Architect version 15

It looks like social distancing will be with us for the foreseeable future and as such Dunstan Thomas are continuing to operate under a remote delivery model. The updates to our online training content continue and today we are pleased to announce the publication of our Business Process Modelling with BPMN 2.0 and Enterprise Architect version 15.x online training course (written by yours truly).

BPMN 2.0 with Enterprise Architect version 15 - online training BPMN 2.0 with Enterprise Architect version 15 - online training

BPMN 2.0 with Enterprise Architect version 15 - Agenda

Introduction to Enterprise Architect

  • Describes the main features of Enterprise Architect and its editions
    • Describes the concept of repositories in Enterprise Architect;
      • Working with repositories
      • Structure of repositories
  • Provides an overview of version control with Enterprise Architect

Introduction to BPMN 2.0

  • What is BPMN 2.0?
  • The role of BPMN 2.0 within the organisation
  • BPMN 2.0 diagrams and their audiences
  • Suggested workflow for BPMN 2.0 process modelling
  • Examples of the BPMN 2.0 diagrams

The Case Study

  • This topic is designed to give practical experience of modelling a defined business process using BPMN 2.0
  • How to setup your repository for BPMN modelling 

Re-using BPMN 2.0 Elements in EA

  • This session looks at the process of creating model libraries to allow the re-use of elements across your BPMN 2.0 diagrams

Business Modelling

  • The elements and connectors used for Business Modelling
  • How to create a Business Model using the BPMN Conversation diagram
  • Augmenting conversation diagrams with diagram legends and element colour

Descriptive Modelling

  • The elements and connectors used for Descriptive Modelling 
  • How to create a Descriptive Model using the BPMN Choreography diagram
    • Changing the appearance of elements using tagged values
    • Setting participant references to demonstrate the relationship between the Business and Descriptive model

Analytical Modelling

  • The elements and connectors used for Analytical Modelling
  • How to create an Analytical Model using a combination of Collaboration Diagrams & Business Process Diagrams.
    • Creation of a top-level collaboration
    • Creation of lower level processes
    • Creating relationships via diagram composition
    • Changing the appearance of analytical elements using tagged values

Advanced Modelling

  • The options for advanced modelling with BPMN 2.0
    • Event Sub-processes
    • Transactions
    • Compensations & Compensating Activities
    • Cancel Events
    • Compensations
    • Self Cancelling Activities
    • Deferred Cancelling Activities

Each of these topics is delivered as a lesson activity within Dunstan Thomas' learning site. These lessons are made up of reading materials, step by step exercises guiding you through the publication processes and supplementary video content to support those exercises.

Given the current climate, if you would like to know more about our off-the-shelf online training or to organise an instructor led remote learning webinar, please do not hesitate to This email address is being protected from spambots. You need JavaScript enabled to view it.

Stay safe everyone x

Published in News
Friday, 19 February 2016 13:38

BPMN Generator from Dunstan Thomas Consulting

BPMN GeneratorBPMN Generator

An add-in for Enterprise Architect from Dunstan Thomas Consulting

We have had our very own Phil Chudley busy beavering away at a new project which is now commercially available & already in use with DT's customer base.


Sparx Systems Enterprise Architect has the functionality to create diagrams directly from Use Case textual scenarios, the most common of which is termed an Activity Graph. This Activity Graph is a simplified form of UML Activity Diagram. This works well, but many organisations have, or are in the process of, standardising the modelling of process flows using BPMN 2.0, and this form of diagram is not supported by Enterprise Architect. The BPMN Generator extension for Enterprise Architect has been developed by Dunstan Thomas Consulting Ltd to provide the functionality to generate a BPMN 2.0 process flow diagram from Use Case textual scenarios. A typical example is shown below:

Textual Scenario for the Basic Path

BPMN Generator - basic path  

Textual Scenario for the Alternate Path

BPMN Generator - alternate path  

Generated BPMN 2.0 Diagram

BPMN Generator - generated diagram

The BPMN Generator also provides the modeller with options to set:

  • The top margin of the generated diagram.
  • The left margin of the generated diagram.
  • The default height of each task.
  • The adjustment height of each task (used to ensure that text fits in a task).
  • Whether or not a new diagram and elements will be generated rather than overwrite any existing diagram and elements.

Watch the video below to see the BPMN Generator in action:


The BPMN Generator is available from Dunstan Thomas Consulting at £85.00 +Vat per licence. If you would like additional information or to purchase licences for the BPMN Generator then please contact us.

Published in News