Event Based Gatewaysby 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
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
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
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