Intermediate events are one of the more complex and expressive elements of BPMN diagrams. Here we introduce the different intermediate events.
We presented an introduction to BPMN diagrams almost a month ago. Business analysts are often required to document as-is processes and to-be processes. These diagrams help identify the scope of a software project. The diagrams can also help uncover requirements that might be overlooked without diagramming the processes.
The BPMN specification is designed to establish a common language and convention for creating process diagrams. This common convention allows people who are familiar with modeling, but new to a project to avoid learning a new diagramming language on each project or for each client. We have a link to the official version of the spec in our introductory post (we will update that link if and when the spec changes).
There are nine (yes 9!) different forms of intermediate events. And no, you don’t have to read about all of them in today’s article. We’ll just introduce them, and cover them in other articles. The following is the list of intermediate events defined in the BPMN specification.
- None Intermediate Event. Used to designate a change in state within a business process.
- Message Intermediate Event. Used to respond to incoming messages or send outgoing messages.
- Timer Intermediate Event. Causes a delay in a process, or initiates behavior at a set time or set delay.
- Error Intermediate Event. Throws or catches an error within a process.
- Cancel Intermediate Event. Used to cancel a transaction sub-process when a cancel end event is reached.
- Compensation Intermediate Event. Used to initiate or handle compensation within a process.
- Rule Intermediate Event. Used only for exception handling and is triggered when the rule proves to be true.
- Link Intermediate Event. Connects another link event to allow for “jumping” from one process to another. Jumping is a “GOTO” statement, not a “GOSUB” statement.
- Multiple Intermediate Event. An event that can be triggered in any of multiple ways.