BPMN Diagrams – Boundary Intermediate Message Events

bpmn diagram

Intermediate message events can be placed on an activity boundary in BPMN. This use represents a form of exception handling for a task or sub-process, in response to an incoming message. This is a very different behavior than the intermediate message behavior we previously described, which show how to use intermediate message events in the course of the normal sequence flow of a business process.

Background

We presented an introduction to BPMN diagrams over 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).

On The Edge (Exception Flow)

When an intermediate event is placed on the boundary (or edge) of an activity, it is a representation of how a business process responds to an exception – a deviation from the normal sequence flow of the process. Some intermediate events (including intermediate message events) can be used on the boundary of an activity.

When an intermediate message event appears on the boundary of an activity, it indicates that an incoming message can interrupt the activity, and will divert the sequence flow from the “normal” flow to an “exception” flow. The intermediate message event can be placed on the boundary of a task or of a sub-process. If placed on the boundary of a subprocess, it can be attached either to the collapsed or the expanded subprocess boundary.

BPMN diagram example of intermediate message event on a task boundary

In the business process modeling example above a hungry dog (for example, a Labrador retriever like Scout, whenever concious) will faithfully pursue an agenda of eating anything he can. The dog will watch the owner leave the kitchen, put his paws on the counter, and if he can get away with it, procede to eat any available people food. Once he’s done eating, he will resume his normal activity.

If, however, Scout is interrupted with a loud “No” message, he will display a guilty* appearance for a brief period before resuming his normal activities.

guilty scout

When an intermediate message event is placed on the boundary of an activity, like the looping “Eat People Food” task, it represents a possible exception flow. If the associated message (“No”) is received, the activity is interrupted and the alternative (exception) flow is followed.

Summary

An intermediate message event can be used within the normal sequence flow of a business process. It can also be used to designate specific behavior for the interruption of an activity upon receipt of a message. This interruption is handled via exception flow which may or may not reconnect with other tasks in the sequence flow.

*He may just look at you funny or completely ignore you. YMMV.

  • Scott Sehlhorst

    Scott Sehlhorst is a product management and strategy consultant with over 30 years of experience in engineering, software development, and business. Scott founded Tyner Blain in 2005 to focus on helping companies, teams, and product managers build better products. Follow him on LinkedIn, and connect to see how Scott can help your organization.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.