Events: How to Mark Key Moments in BPMN Processes?

Ilona Grulich and Filip Stachecki
02-03-2024

10 min

If you have read the previous article, “What Exactly Are Activities and Events in BPMN?” about Activities and Events, you now know what types of Events there are within the BPMN modeling language.

To see the many Event types in BPMN, take a look at the table below (based on Table 10.93 from the BPMN specification).

The various Event types are represented with different symbols, some filled in, some not filled in, surrounded by shapes with different line weights. This might confuse you a bit!

However, if you know the rules of how to read these symbols, you can easily understand and memorize them. The good news is that only a few Event types are frequently used. If you become familiar with them, you will be well on your way to modeling the Events that take place in real-world processes.

Event Classification

Let's look at the first two examples of Event types. What can you say about them?

The first Event is the Message Start Event, which triggers the start of a process when it receives a Message from a Participant (an external process). 

The second Event is the Signal End Event, which sends a Signal and then ends the flow of the current Process. If it is the only active flow, the entire process ends.

For each of these two Event types, we can identify two key characteristics:

First, what is the nature of the event? To see the nature of an event, look at the symbol inside the shape. BPMN refers to the nature of an Event within a process as its definition. In this example: 

  • The Event type shown at left uses an envelope symbol. The envelope symbol shows that we are looking at a Message Event, in this case describing the receipt of a Message from another Process. 
  • The Event type shown at right uses a triangle symbol. The triangle shows that we are looking at a Signal event, in this case describing the sending of a Signal to another process.

Second, what is the place of the event within the process? To see the place of an Event, look at the shape that encloses the symbol.

  • In the event type shown at left, the shape is a circle with a lighter (thinner) line weight. This shape shows us that we are looking at a Start event.
  • In the event type shown at right, the shape is a circle with a heavier (thicker) line weight. This shape shows us that we are looking at an End event.

When you see an Event symbol and want to determine its type, ask two questions: 

  1. Look at the symbol in the middle to identify the definition of the event. 
  2. Look at the enclosing shape to identify the place of the event. 

Here is a chart showing how we can read the example Start and End events discussed above:

Symbol Message Start Event Signal End Event
Event definition Message Signal
Event place Start End
Event type Message Start Event Signal End Event

So far this approach seems simple. But what about the Intermediate Events? Can we use the same approach to read them?

Let’s look at a few examples and try to apply our convention: [Definition][Place] Event. Will our approach above be enough for Intermediate Events? Let’s see:

At left, we have a Message Intermediate Event. At right, we have another Message Intermediate Event. But when we notice the difference between the envelope symbols, we remember that the Event shown at left needs to wait, and the second has an impact (result). So there is the Catching Message Intermediate Event and Throwing Message Intermediate Event. What is missing?

[Catching/Throwing][Definition][Place] Event

The convention refers to three questions:

  1. Is the event waiting (Catching) for something or announcing (Throwing) something?
  2. How is the Event defined?
  3. Where does the Event occur?

Here is a chart showing how we can read the example Intermediate events discussed above:

Symbol Catching Message Intermediate Event Throwing Message Intermediate Event
Catching or Throwing Catching Throwing
Event definition Message Message
Event place Intermediate Intermediate
Event type Catching Message Intermediate Event Throwing Message Intermediate Event

Rule1: Start Events are always Catching Events, so we skip Catching in the name.

Rule2: End Events are always Throwing Events, so we skip Throwing in the name.

In the: [Catching/Throwing][Definition][Place] convention, [Catching/Throwing] is optional. It can be omitted.

Timer Events and Conditional Events also follow special rules.

  • There are no “Throwing Time Events,” because we assume that time is always running. In BPMN, there is no Trigger Event for the beginning of time. 
  • There are no “Conditional Throwing Events,” because we assume that there are cycle mechanisms in place to check if the condition is met. In BPMN, there is no Trigger Event for the underlying processes that manage operation cycles within the environment where the process is running.

Rule 3: Timer and Conditional Events are always Catching Events, so we skip [Catching/Throwing] in the name. 

There are two Timer Events: Timer Start Event and Timer Intermediate Event and two Conditional Events: Conditional Start Event and Conditional Intermediate Event.

Conclusion

The world of BPMN Events may seem complex at first glance. However, understanding BPMN symbols becomes much easier once you learn the rules. 

Remember these key points:

  • Each Event has a specific way of behaving (definition) e.g. Message, Signal or any other.
  • Each Event occurs at a specific place in the Process e.g. at the beginning (Start), in the middle (Intermediate) or at the end (End).

Applying a simple convention of [Definition][Place] Event helps demystify their names. 

A few special rules apply:

  • For Intermediate Events, add [Catching/Throwing] to the convention. 
  • Start and End Events do not have to be referred to as Catching or Throwing. 
  • Finally, be aware of the unique Timer and Conditional Events, always considered Catching. These events are referred to without the [Catching/Throwing] in their names. 

By remembering these rules, you can understand BPMN Events more easily and know how they work in different parts of your processes.

✔❌ BPMN 2.0 Quiz (Level 1, Lesson 5) 📝

Take the BPMN 2.0 Lesson 5 Quiz