Event, in BPMN, graphically represents the matters and phenomenon that occur in business processes by using a circle shape. It is also an important modeling element that affects the subsequent business process execution.
Overview of Event
| Flow object
|
|---|
|
|
In general, event is a word meaning that something happens, and its concrete definition is very broad and is not enumerable. Furthermore, even if we narrow down its definition range to "something happens in business process execution," we can see, by considering what could actually happen, that there are countless possibilities. Thus, BPMN categorizes those innumerable "something" into a couple of categories and limits the definition to what can impact the order or timing of activities in business processes. For example, "start of a task," "completion of a task," and "message passing under a certain condition" are included. These events can play roles of either Catching Events or Throwing Events.
Event in BPMN is an important flow object (a modeling element that connects to Sequence Flow), just like Activity and Gateway, and indicates the point of occurrence of "something" that could affect the order or timing of activities. Event is classified into 3 types shown below based on the timing of occurrence.
Catching Events
A specific action is triggered when conditions and situations tied to the movement of business process are received at certain timing in the pre-determined way. In other words, Event can be considered as a "trigger" that initiates an action to be done next upon pre-defined conditions and situations (catch). Start events and many intermediate events play this role, and they are further categorized into a couple of types of events based on various "triggers."
- E.g. Process that utilizes documents delivered from other departments (other business processes) to do its own task
- We can consider that this process is triggered to start at the point of receiving "(delivered) documents."
Throwing Events
In response to conditions and situations that trigger actions, as the "results" of them, actions are performed as defined in advance. In other words, Events play a role to define actions to be taken after receiving triggers (throw). End events and some intermediate events play this role, and they are classified into a couple of types of events based on various "results."
- E.g. "Approval Process" and "(Approved Task) Execution Process"
- This is a case in which the completion of one business process is announced as a kind of "signal" to start other business processes, and we can consider that the result, in which the subsequent business process is started, is defined at the end of the preceding business process.
Categorization of Events and Notation for Markers
When business processes are described, BPMN categorizes Events based on the characteristics into various types and defines a special marker (symbol) for each of them. Upon the transition from BPMN1.0 to BPMN1.1, some markers are added and modified for the sake of visual understandability and easy notation. Types of "Events" are shown below.
Categorization based on the Point of Occurrence of Event
| Type | Description | Marker
|
| Start
| The point at which the process is started when a certain event occurs |
|
| Intermediate
| The point at which a certain event occurs in the middle of the process. It affects the process flow but does not start or terminate the process. |
|
| End
| The point at which the process terminates owing to the occurrence of a certain event |
|
As shown above, in common, all events are denoted with "small circles." They are differentiated by the thickness and the number of lines.
Classification Based on Triggers and Results of Event
| Event Details
| Description
| Marker
|
| Catching Event
| Throwing Event
|
| Start
| Intermediate | End
|
| Message
| Message brings forward or terminates the process by being received from or being sent to a specific party in the process. |  |  |  |
|
| Timer
| Timer brings forward the process based on the pre-defined specific dates or cycles. |  |  |  |
|
| Error
| This means "error processing." Errors occur when pre-defined conditions are met, but in case such conditions are not specified, errors could occur under any condition.
- Error-type events in normal flow cause errors. (Throwing Event)
- Error-type intermediate events placed on the activity boundaries receive the errors. (Catching Event) This is a case in which the process is not terminated either successfully or unsuccessfully (cancel) because of a transaction hazard.
- Upon receipt of errors, the token proceeds to the exceptional flow.
In this case, even if compensating activity is included in the transaction, "compensating procedures" are not executed.
|  |  |  |
|
| Cancel
| This is used in sub-processes representing transactions and indicates a "cancel process" in a transaction.
- If a process reaches a cancel-type end event, the cancel of the transaction (unsuccessful termination) occurs. (Throwing Event)
- Cancel-type intermediate events placed on the activity boundaries receive the cancellation. (Catching Event)
- Upon receiving the cancellation, the token proceeds to the exceptional flow.
In this case, the cancel message is sent to concerned parties in the transaction. If compensating activities are defined in the transaction, the "compensating procedure" is executed before the token goes into the exceptional flow.
|  |  |  |
|
| Compensation
| This means a "compensating procedure," which rollbacks to the state just before the execution when the execution result of some activity is considered to be unfavorable.
- When a process reaches compensation-type events, compensating commands are invoked. (Throwing Event)
- Compensation-type intermediate events placed on activity boundaries receive the commands. (Catching Event)
- After receiving the commands, the "compensating activity" connected to the intermediate event with an Association is executed.
- In the opposite order to the normal process flows', arbitrary activities that require compensation are compensated.
|  |  |  |
|
| Conditional
| This brings forward the process when the clearly-defined conditions are met (evaluated to be True). |  |  |  |
|
| Link
| This represents the connectivity between the preceding process and the subsequent one in case a lengthy process is split. This is also used when the process loops. |  |  |  |
|
| Signal
| Signals from other processes and pools carry forward the process, and this emits such signals. Unlike messages, signals are sent to indefinite parties. |  |  |  |
|
| Terminate
| When at least one flow reaches here, all activities in the process and all instances in multi-instances simultaneously executing multiple activities are immediately terminated without doing "compensating procedures." |  |  |  |
|
| Multiple
| This indicates that there are multiple events that bring forward or terminate the process at that point. In case of Catching Events, the process can proceed if at least one of the events occurs. In case of Throwing Events, all the events occur. |  |  |  |
|
Related Articles
References