sstein's picture

The Business Process Modeling Notation (BPMN) grew popular among business analysts in recent years. BPMN is a public standard maintained by OMG. Today, we see a lot of BPMN support like specific BPMN trainings. Even though adoption of BPMN in industry is fast, there are still some important things missing like a tool independent exchange format. Therefore, work on BPMN 2 already started more than one year ago. Today, I like to report on the current state of BPMN 2.

Even though BPMN allows modelling complex business processes, BPMN is easy to use and to learn. Its simplicity with the hidden complexity behind helped BPMN to get popular as Vishal points out. This simplicity, of course, should not change with BPMN 2. But there are some limitations, which must be fixed with BPMN 2. One of the most obvious problems is the missing exchange format. Like back in the days of UML 1.x, there is no exchange format for the graphical models. However, in case of BPMN it is even worst. There is also no exchange format for the content of the models (so no XMI like for UML 1.x). BPMN 2 must address this problem by introducing an exchange format covering model content as well as graphical layout of the diagrams.

Another major problem is the unclear execution semantics of BPMN 1.1. The execution semantics should define how each BPMN element must be executed. Of course, every user has an understanding how a BPMN activity should be executed, but what happens if also an exception flow is modelled? How should that exactly be executed? Having well defined execution semantics is important so that different users of a process model have the same understanding of what the model describes. BPMN 1.1 only has implicitly defined execution semantics. Here, BPMN 2 should step in and make them explicit. At the current point there are two different approaches discussed within OMG, how to do that:

  1. BPMN 1.1 already contains an implicit definition of the execution semantics, so just make them explicit by writing them down.
  2. Use a more abstract meta model with well defined execution semantics like BPDM and map BPMN elements to it.

Approach 1 is a simple solution, because in the end it does not change much for the BPMN user. The implicit execution semantics are just made explicit, but they are not modified. Approach 2 is more complicated, because a second language is added to the stack and new concepts are introduced. Having more and new concepts might contradict BPMN’s current strength - simplicity. This will increase the learning curve for BPMN modelling and might hinder a further adoption.

At the current point it is not clear, which way BPMN is going to take. I will give an update as soon as things are getting clearer. In the meantime: What are your wishes for BPMN 2? What are you missing in BPMN 1.1? What is unclear and not well defined in the current version? Please let us know your ideas so that we can try to influence BPMN standardisation in a way required by its users!

Read More about modeling standards:

Tags: BPMN