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.
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:
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.
When you see an Event symbol and want to determine its type, ask two questions:
Here is a chart showing how we can read the example Start and End events discussed above:
Symbol | ||
---|---|---|
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:
Here is a chart showing how we can read the example Intermediate events discussed above:
Symbol | ||
---|---|---|
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.
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.
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:
Applying a simple convention of [Definition][Place] Event helps demystify their names.
A few special rules apply:
By remembering these rules, you can understand BPMN Events more easily and know how they work in different parts of your processes.
Take the BPMN 2.0 Lesson 5 Quiz