Process Modeling:

Complexity is just a combination of simple things


Business Process Management (BPM):

How you manage complexity in a simple way

Highlights from BPMN 2.0: Event Gateways

Event Based Gateways

by Rick Geneva

This post is a continuation of the Highlights from BPMN 2.0 series.

At Last!  The long awaited changes to the numerous problems with the event based gateway.   First off, there was only one type of event based gateway in BPMN 1.0 – 1.2, and it is exclusive behavior.  Exclusive event behavior means that only one event can trigger the gateway.  Also, there was only one shape that served a dual role of start and intermediate event, yet the shape did not have any variations as the event shapes do (see Demystifying the Event Based Gateway from my previous post).

First, let’s take another look at the original Event Based Gateway from BPMN 1.0 – 1.2

Event Based Exclusive Gateway

Event Based Gateway (Exclusive, Intermediate)

Event Based Gateway (Exclusive, Intermediate)

The inner pentagon shape signifies multiple events.  The double circle signifies intermediate usage. Lastly, the outer diamond shape signifies a gateway.  When you combine these attributes you get a gateway that handles multiple event types.  Also note that the inner pentagon shape signifies that only one of the potentially numerous events are needed to trigger the gateway.   In many use cases of process modeling, this is less than adequate for the job.  In many cases I’ve had to create some very elaborate patterns to work around the shortcomings for this shape.  The previous BPMN 1.2 specification allowed for this shape to be used as a start or intermediate event.  With all this ambiguity you might now understand why I wrote a post called “Demystifying” the Event Based Gateway.  Still, there were many use cases that were just too complicated to understand.  So I’m quite pleased to see that BPMN 2.0 finally fixes these problems.

Event Based Start Gateway

Event Based Start (exclusive)

Event Based Start (exclusive)

Adding only a slight variation of the original shape, the Event Based Exclusive Start Gateway (that’s a mouthful of words) uses the start event (single circle) instead of the intermediate (double circle).   It’s used as the start event, with intermediate events to the right.  Hopefully by the time the spec is released they will allow for start events to be connected to the right of this shape.   But either way it works for me.  This saves me at least 10 minutes of explanation every time this topic comes up in one of my training classes.

Event Based Inclusive

Event Based (Inclusive, Start)

Event Based (Inclusive, Start)

Event Based (Inclusive, intermediate)

Event Based (Inclusive, intermediate)

This is where the BPMN 2.0 spec gets interesting.  There has long been a use case where you need to receive multiple events to trigger a process to start or to continue. Previously the only option was to put the event based gateway in a loop until all events have been received.  But then this caused another problem where the same event could potentially be received more than once, which is often undesirable.  In BPMN 2.0 you the new inclusive multiple event shape is introduced (discussed in more detail in a later post).  The shape is an empty plus (+) shape (white filled).  This type of event signifies that all associated events must be received before the event is triggered.  So when you put this event type inside the diamond, you then have a gateway that is only triggered when all events are received.  Note that there are both start and intermediate variations of this shape.

Next post: Event shapes in BPMN 2.0

Comments and questions much appreciated and encouraged.

- Rick Geneva

Tags: ,

2 Responses to “Highlights from BPMN 2.0: Event Gateways”

  1. Greg Harley Says:

    Rick,

    I agree with your assertion about the event based inclusive gateway.
    When adopted by BPM vendors, it will definitely simplify process triggers (be they intermediate or instantiation) based on a combination of received events.

    Good job with the Blog by the way.

    Cheers,
    Greg

  2. Rick Geneva Says:

    Greg,
    Good to hear from you, and thanks for your kind comments. There’s a lot of nice things about BPMN 2.0. There are many use cases now covered that were neglected before. Now the problem isn’t so much how to create a diagram, but rather which way is the best, of the many options that will achieve the same results. Subtle differences make all the difference in diagram interpretation, and process execution optimization. My first round of blog posts is going to cover what’s new in BPMN 2.0. After this I plan on writing some more on the use cases and the problems that are solved. The hardest part of the new spec is understanding what has changed. There’s a lot of new stuff in the diagrams, and I haven’t even touched the mapping to BPEL yet.

    - Rick Geneva