Process components and monitoring events
IBM® Business Automation Workflow emits monitoring events for tracking purposes. Monitoring events are separate from start, end and intermediate process components that are defined in a process model, and are part of the modeled process logic. Use monitoring events for tracking or to capture information when you want to report what a process execution is doing without interfering with the process.
All events contain information about their origin, or emission point. Using this information, which is grouped in the event point data section of the event, the step, the execution, the process, and the server where the event originated are determined. In addition, many events have an application data section, which contains custom business data. For auto-tracking events, the application data section contains the parameters and variables that you designated for auto-tracking in the process definition. For user-defined custom tracking events, the application data section contains the fields defined in the custom tracking group to which that event belongs. Custom tracking groups are data structures defined in a process application specifically for tracking purposes.
Process execution monitoring events
The monitoring events emitted for process executions report the state of the process instance. Subprocesses and event subprocess activities do not emit these events.| Process state | Process icon | Emitted monitoring event |
|---|---|---|
| The process is started. |
|
bpmnx:PROCESS_STARTED |
| The process is completed. | bpmnx:PROCESS_COMPLETED | |
| The process has been terminated. | bpmnx:PROCESS_TERMINATED | |
| The process has been deleted. | bpmnx:PROCESS_DELETED | |
| The process has failed. | bpmnx:PROCESS_FAILED |
Activity monitoring events
You can model an activity, such as depositing a payment, in a process definition. When an execution, or instance, of an activity has entered a specific state, such as ready, active, or completed, the activity state is reported in a monitoring event. Tasks, subprocesses, event subprocesses, and call activities can emit these events.| Activity state | Activity icon | Emitted monitoring event |
|---|---|---|
| An activity is ready. |
|
bpmnx:ACTIVITY_READY |
| An activity is active. | bpmnx:ACTIVITY_ACTIVE | |
| An activity is completed; the activity work has finished, but some finalization is still completing. | bpmnx:ACTIVITY_COMPLETED | |
| An activity is terminated. | bpmnx:ACTIVITY_TERMINATED | |
| A resource, such as a user, group or organization, is associated with an activity. | bpmnx:ACTIVITY_RESOURCE_ASSIGNED |
You can configure activities for simple or multi-instance loops in a business process definition. Loops allow an action to be repeated a specified number of times, or until a specific condition is false. In a process definition, simple or multi-instance loop activities are identified by an indicator in the activity icon. Activities configured for loops emit the following events to report the loop control behavior. These events are reported in addition to the usual activity events, listed in the previous table, which occur for every repeated execution. An ACTIVITY_TERMINATED event is emitted when a looped activity cancels the remaining action instances because a complex flow condition is met.
| Type of looped activity | Looped activity icon | Emitted monitoring event |
|---|---|---|
| Activity with simple loops; activity with sequential multiple-instance loops | bpmnx:ACTIVITY_LOOP_CONDITION_TRUE bpmnx:ACTIVITY_LOOP_CONDITION_FALSE |
|
| Activity with parallel multiple-instance loops | ![]() |
bpmnx:ACTIVITY_PARALLEL_INSTANCES_STARTED bpmnx:ACTIVITY_TERMINATED |
Event monitoring events
You can model catching or throwing events in a process definition. These events are part of the process logic and must not be confused with the monitoring events shown in the following table. Events can appear at the beginning of a process or subprocess, end of a process, or during a process or subprocess.
| Event in the process definition | Process definition icon | Emitted monitoring event |
|---|---|---|
| None start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Message start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Ad hoc start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Event subprocess interrupting message start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Event subprocess interrupting timer start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Event subprocess interrupting error start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Event subprocess non-interrupting message start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Event subprocess non-interrupting timer start event |
![]() |
bpmnx:EVENT_CAUGHT |
| Catching message intermediate event |
![]() |
bpmnx:EVENT_EXPECTED bpmnx:EVENT_CAUGHT |
| Catching timer intermediate event | ![]() |
bpmnx:EVENT_EXPECTED bpmnx:EVENT_CAUGHT |
| Boundary interrupting message intermediate event |
![]() |
bpmnx:EVENT_CAUGHT |
| Boundary interrupting timer intermediate event | ![]() |
bpmnx:EVENT_CAUGHT |
| Boundary interrupting error intermediate event |
![]() |
bpmnx:EVENT_CAUGHT |
| Boundary non-interrupting message intermediate event |
![]() |
bpmnx:EVENT_CAUGHT |
| Boundary non-interrupting timer intermediate event |
![]() |
bpmnx:EVENT_CAUGHT |
| Send message intermediate event |
![]() |
bpmnx:EVENT_THROWN |
| Tracking intermediate event |
|
bpmnx:EVENT_THROWN |
| None end event |
![]() |
bpmnx:EVENT_THROWN |
| Message end event |
![]() |
bpmnx:EVENT_THROWN |
| Error end event |
![]() |
bpmnx:EVENT_THROWN |
| Terminate event |
![]() |
bpmnx:EVENT_THROWN |
Gateway events
Gateways are process components that control how a process diverges or converges. In a process definition, gateways can be simple or conditional, join or split. For example, you can use a decision gateway in your process definition when you want to model a point in the process execution where only one of several paths can be followed. At run time, a gateway is activated when one or more tokens have arrived. The number of tokens depends on the gateway configuration, for example, a simple join requires one token on each incoming sequence flow. The gateway evaluates a condition and then emits one or more tokens on outgoing sequence flows. Monitoring events are emitted when a gateway is activated and when it completes.| Type of gateway | Gateway icon | Emitted monitoring event |
|---|---|---|
| Exclusive gateway | ![]() |
bpmnx:GATEWAY_ACTIVATED bpmnx:GATEWAY_COMPLETED |
| Inclusive gateway | ![]() |
bpmnx:GATEWAY_ACTIVATED bpmnx:GATEWAY_COMPLETED |
| Parallel gateway | ![]() |
bpmnx:GATEWAY_ACTIVATED bpmnx:GATEWAY_COMPLETED |
| Event-based gateway | ![]() |
bpmnx:GATEWAY_ACTIVATED bpmnx:GATEWAY_COMPLETED |





















