Process Is The Main Thing

@ Anatoly Belaychuk’s BPM Blog

BPMN None intermediate - throw or catch?

The BPMN 2.0.2 specification is ambiguous regarding the subject.

Please compare:

1) Table 10.89 at p. 250 says:

The None Intermediate Event is only valid in normal flow, i.e., it MAY NOT be used on the boundary of an Activity. Although there is no specific trigger for this Event, it is defined as throw Event. It is used for modeling methodologies that use Events to indicate some change of state in the Process.

2) Table 10.93 at p. 259 also clearly shows that None intermediate is a Throw event.

3) However the text at p. 271 says the opposite:

There are three (3) variations of None Events: a Start Event, a catch Intermediate Event, and an End Event

Here is what other authoritative sources say -

4) Bruce Silver, “BPMN Method & Style”:

Omission of eventDefinition signifies a throwing None event, which is allowed; it can be used in the diagram to indicate a particular state of the instance.

5) Tibco:

Intermediate None event indicates an unspecified change in the process.

6) Camunda:

Intermediate none events (throwing) can be used to indicate some state achieved in the process.

Looks like the text at p.271 should be corrected to -

There are three (3) variations of None Events: a Start Event, a throw Intermediate Event, and an End Event

PS. Thanks to my colleague Julia Wagner for pointing to this issue.

UPDATE: Bruce Silver’s comment -

Anatoly, Yes I agree with your post - (3) is incorrect, along with 400 other errors reported since 2009.

09/06/22 | Articles |    

Comments (2)

  1. Владимир 09/06/22 06:03 PM

    Ну никак не Catch, поскольку ожидания не происходит. Ну и не Throw, поскольку ответного Catch-обработчика не предусмотрено. Конечно, можно считать, что Conditional Catch Event может быть настроен в т.ч. на Intermediate None Event, но это не в счёт. Так что на то он и None, что ни Catch, ни Throw.

  2. Anatoly Belychook 09/07/22 09:54 AM

    Разве обязательно должен быть ответный catch? А как же Terminate?

    Разница между throw и catch весьма существенна: throw - пришел и прошел дальше не задерживаясь, catch - стою, жду. А третьего варианта BPMN не предусматривает.

    Семантика intermediate none проста - это веха / milestone / смена статуса процесса. В этом согласны Брюс, Camunda и Tibco. Только Bizagi шагает не в ногу.

Comments are closed

Copyright © 2008-2024 Anatoly Belychook. Thanks to Wordpress and Yahoo.  Content  Comments