Business Process Modeling Notation (BPMN) is a graphical representation for specifying business processes in a business process model. BPMN was developed by the Business Process Management Initiative in 2000. The aim was to standardize how processes were visually represented, and that aim has been carried on since 2004 by Object Management Group (OMG).
The objective of BPMN is to support business process management for both technical users and business users by providing a notation that is intuitive to business users yet able to represent complex process semantics.
A key element of BPMN is the choice of shapes and icons used for the graphical elements identified in this specification. The intent is to create a standard visual language that all process modelers will recognize and understand. The basic shapes of BPMN are very similar to flow diagrams, but instead of representing pure logical stages, they can also represent business-specific actions, like messaging other departments, and escalating issues.
What is an Event in BPMN?
An event is a common Business Process Model and Notation (BPMN) process modeling element that represents something that “happens” during the course of a process. In BPMN, events are expressed as circles. Events indicate when some event occurs at the start, end or during a process (as opposed to when some task or activity is performed):
Types of Event
- Events that occur at the beginning of the process are called Start events(thin narrow line) – and every process starts with an event.
- Events that occur in the middle of the process (between activities) are called Intermediate events (thin double line).
- Events that occur at the end of the process are called End events(thick single line) and every process has at least one end event.
Simple BPMN Diagram Example
Boundary vs Interrupting vs Non-Interrupting vs Catching vs Throwing Events
A boundary event is an event shown on an activity boundary that can be triggered or thrown at any time while the associated task or activity is being performed. In other words, a boundary event is a type of intermediate event.
In the example below, a Timer boundary event is shown. Some boundary events are time-based while others are based on a condition which must resolve to ‘True’ in order for that branch of the flow to proceed.
Interrupt vs Non-Interrupt Event
Introduced in BPMN 2.0 is the concept of non-interrupting events. Interupting and non-interupting events are only relevant to intermediate events, especially boundary intermediate events. Boundary events can further be divided into two types: interrupting and non-interrupting, as a boundary events are associated with flow elements and can be configured to interrupt their usual behavior. They are illustrated with a solid line and a dashed line respectively.
- An interrupting event (solid line) is more common that a non-interrupting event (dashed line). As the name implies, once triggered, the current task stops and the flow of control continues along the new path.
- A non-Interrupting Timer Event attached at the boundary of the subprocess A will not be interrupted. Subprocess A will complete and the flow will continue on to subprocess B while a parallel flow will continue from the Non-Interrupting Timer Event onto the Handle Timeout subprocess.
Catching vs Thowing Event in BPMN
In BPMN there are three types of events. Start Events, Intermediate Events, and End Events. All of these can be catching and throwing events.
- Catching events are events with a defined trigger. They are started once the trigger has activated or fired.
- Throwing events are triggers for catching events and are triggered by the process.
Summary of Events and Markers
Many different types of events can appear in a business process, and BPMN is capable of supporting most of them. In total, BPMN 2.0 supports more than 60 different types of events.
- Start (Single), Intermediate (Double), or End (Filled Outer Circle) – the outer border of the event may be a single circle, a double circle, or a filled ring. A single thick circle means that an event is a starting event, used to signify the start of a process. A double circle means that an event is an intermediate event,
- Internal Markers (Embedded Symbol inside the circle) – many times the circle will have an icon or “marker” within it providing more information about the type of event.
- Interrupting (Dashed) versus Non-Interrupting (Solid Circle) – both start and intermediate events can be shown with the outer circles being solid lines or dashed. Solid lines are used to show interrupting events. These are events that are triggered the moment the event occurs regardless of whether the activity has completed. Dashed lines are used to show non-interrupting events. These are events that will wait for the completion of the activity before the flow of the process continues.
- Catching (Filled) vs Throwing (Unfilled Markers) – the internal marker may be filled or unfilled. Unfilled internal markers are used to identify that the event is a “catching” event. This means that the event is waiting to receive notification that something has happened. Filled internal markers are used to identify that the event is a “throwing” event. This means that the event is being generated at that point in the process.