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.

Two groups of monitoring events are emitted: built-in auto-tracking events and user-defined custom tracking events. Auto-tracking events are emitted when a process execution starts or ends, when a sequence flow is traversed, and when process steps are ready, active, or complete. Custom tracking events are emitted when the process flow passes through an intermediate tracking event node. Intermediate tracking events are added during process authoring or editing.

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.

The following reference tables show how process components map to monitoring events. For each component that you can use in a business process definition, the tables show the monitoring event or events that can be emitted by the process component at run time. All the events listed are auto-tracking events, except for the intermediate tracking event element.

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.
Process icon
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
For a complete description of the monitoring events emitted for process executions, see Process monitoring events.

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.
Activity icon
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 Activity icon with simple loop indicator bpmnx:ACTIVITY_LOOP_CONDITION_TRUE

bpmnx:ACTIVITY_LOOP_CONDITION_FALSE

Activity with parallel multiple-instance loops Activity icon with parallel multi-instance loop indicator bpmnx:ACTIVITY_PARALLEL_INSTANCES_STARTED

bpmnx:ACTIVITY_TERMINATED

For a complete description of the monitoring events emitted for activities, see Activity monitoring events.

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
Start event icon
bpmnx:EVENT_CAUGHT
Message start event
Start message icon
bpmnx:EVENT_CAUGHT
Ad hoc start event
Start ad hoc event icon
bpmnx:EVENT_CAUGHT
Event subprocess interrupting message start event
Start message icon
bpmnx:EVENT_CAUGHT
Event subprocess interrupting timer start event
Start timer event icon
bpmnx:EVENT_CAUGHT
Event subprocess interrupting error start event
Start error event icon
bpmnx:EVENT_CAUGHT
Event subprocess non-interrupting message start event
Start non-interrupting message event icon
bpmnx:EVENT_CAUGHT
Event subprocess non-interrupting timer start event
Start non-interrupting timer event icon
bpmnx:EVENT_CAUGHT
Catching message intermediate event
Intermediate receive message event icon
bpmnx:EVENT_EXPECTED

bpmnx:EVENT_CAUGHT

Catching timer intermediate event Intermediate timer event icon bpmnx:EVENT_EXPECTED

bpmnx:EVENT_CAUGHT

Boundary interrupting message intermediate event
Intermediate receive message event icon
bpmnx:EVENT_CAUGHT
Boundary interrupting timer intermediate event Intermediate timer event icon bpmnx:EVENT_CAUGHT
Boundary interrupting error intermediate event
Intermediate error boundary interrupting event icon
bpmnx:EVENT_CAUGHT
Boundary non-interrupting message intermediate event
Intermediate boundary non-interrupting message event icon
bpmnx:EVENT_CAUGHT
Boundary non-interrupting timer intermediate event
Intermediate boundary non-interrupting timer event icon
bpmnx:EVENT_CAUGHT
Send message intermediate event
Intermediate message event icon
bpmnx:EVENT_THROWN
Tracking intermediate event
Intermediate tracking event icon
bpmnx:EVENT_THROWN
None end event
End event icon
bpmnx:EVENT_THROWN
Message end event
Message end event icon
bpmnx:EVENT_THROWN
Error end event
End error event icon
bpmnx:EVENT_THROWN
Terminate event
Terminate end event icon
bpmnx:EVENT_THROWN
For more information about Start Events, End Events or Intermediate Events in the process definition, Modeling events. For a complete description of the monitoring events emitted for start, end or intermediate components in a process definition, see Event monitoring events.

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
Exclusive gateway icon
bpmnx:GATEWAY_ACTIVATED

bpmnx:GATEWAY_COMPLETED

Inclusive gateway
Inclusive gateway icon
bpmnx:GATEWAY_ACTIVATED

bpmnx:GATEWAY_COMPLETED

Parallel gateway
Parallel gateway icon
bpmnx:GATEWAY_ACTIVATED

bpmnx:GATEWAY_COMPLETED

Event-based gateway
Event gateway icon
bpmnx:GATEWAY_ACTIVATED

bpmnx:GATEWAY_COMPLETED