Search code examples
bpmn

Do all end events end the whole process?


In the following example, if arriving at "dealer reminded", will this end the whole process? Since the branch is triggered by a non-interrupting event, we could also arrive at "order confirmed".

I hope it works the way that both end events must be reached (assuming "answer a bit late" has been triggered), but in case of the interrupting event "answer overdue" I guess "order not deliverable" will terminate the whole process. Is this correct?

BPMN diagram with non-interrupting event


Solution

  • The BPMN spec says (on p. 246) that "All the tokens that were generated within the Process MUST be consumed by an End Event before the Process has been completed". This means that the process ends when all parallel paths have completed, implying that both a "Dealer reminded" and an "Order confirmed" (or, alternatively, an "Order not available") end event must occur for completing a process according to your model.