Transaction subprocess

1. Overview

A Transaction subprocess is a subprocess used to model transaction business processes that can be executed for days or weeks, until all their activities are finished.

A Transaction is a set of activities that comprise a logical unit of operation, which must be executed together. The process is regulated by a special protocol (defined in the execution environment) that provides either the full execution or full cancellation of all activities of the transaction process.

A Transaction can have one of the three following results:

The transaction is considered successfull, if all the activities in the process were successfully executed, and the process continues normally. Such a transaction subprocess can be compensated with a Compensation Event if required (this element is currently not described).

  • The transaction ends with an error, if the subprocess ends with an Error Event, which is not processed within transaction subprocess. In this case, transactions are interrupted without any compensation, and the process continues with an intermediate error event.

  • The transaction is cancelled if the execution reaches a Cancel Event. All the actions that have already been executed, need to be stopped and cancelled. This is achieved with compensation actions (Compensation Event is currently not described). After compensation, the execution is continued via the output sequence flow(s) of boundary cancel event.

2. Modelling transaction subprocess

To model a transaction subprocess, take the following steps:

  1. Model the Parent[1] business process, that we’ll add transaction subprocess to.

  2. On the left panel, select the Create expanded SubProcess element, and drag it to the modelling canvas.

    cancl 1

    cancl 2

  3. Select the container with the subprocess, click the key icon and select Transaction type in configuration.

    cancl 3

  4. Model transaction business process using the required activities.

  5. Finish the parent process modelling, and all the alternative outcomes from the transaction subprocess.

    cancl 4


1. Parent Process is a process that initiates subprocess start. A subprocess is a Child Process to a Parent Process.