Events represent a milestone in a process and do not generally have an associated duration or resources. Events start, end, delay, or interrupt process flows. Although there are dozens of event variants in BPMN, this lesson will introduce the basics.
Event Types
There are several different types of events, each of which is represented by a circle.
- A start event triggers a process. A process diagram may have multiple start events. Only the sequence flow originating from the appropriate start event receives a token.
- A process diagram can have multiple end events. End events consume tokens. The process instance is completed when all tokens have been consumed.
- Intermediate events, as the name suggests, influence the flow between the start and end events.
Catching and Throwing Events
Events can be categorized as catching or throwing:
- Catching events are used to start an activity. When a token reaches a catching event, the token waits until the event occurs before proceeding.
- Throwing events are used to signal the completion of an activity. When a token reaches a throwing event, the event is executed, and the flow immediately continues.
Catching Events
Catching events can be triggered in a variety of ways. Among the most common are:
- Message events are triggered when a message is received from an external actor (i.e., from a different pool).
- Timer events are triggered at specific points in time (e.g., 12:00 PM on December 24th), a recurring event (e.g., every Saturday), or a relative time (e.g., after 5 days).
- Conditional events are triggered when specified criteria are fulfilled (e.g., a manager’s approval).
Throwing Events
Common forms of throwing events include:
- Message events send a message to an external actor.
- Escalation events are used to initiate a process to handle problems that don’t result in a cancelation.
- An error event is used to handle the occurrence of errors during the execution of a certain activity or at a certain point in the process flow.
- Terminate events are end events that immediately cancel all activities, switch off all active tokens, and stop the entire process.