BPMN: Inclusive Gateways Must Be Clever

In the previous post I have shown how the three most important gateway types behave when they are executed by a process engine. The inclusive gateway is very flexible. At an inclusive split, one or more exits can be selected. A corresponding inclusive merge waits until all selected paths have been completed.

However, what happens when there is another splitting gateway in one of these paths, so that in some cases the inclusive merge may not be reached via this path anymore? In order to ensure that such processes do not get stuck, inclusive gateways must be clever, since they need to determine via which paths they still can be reached.

In order to test this behavior, i have inserted a splitting exclusive gateway in the previous example.


You can download the project file for the Community Edition of the Bonita platform.

Prerequisite: Bonita version 2021.2 and above.


  • Import bos file in Bonita into a new project.
  • In „Organization“: Deploy „BPMCO.organization“ (default user: admin).
  • Deploy Business Data Model.
  • In „Diagrams“: Deploy the three diagrams (or press „Run“ to deploy a diagram and directly start the execution in one step).
  • With „Applications“ you can open the portal. Select „Bonita User Application“.
  • The user „admin“ can perfom all process roles, so that you don’t need to switch between different users.
  • If you want to use different users: The „Product Manager“ tasks can be executed by user phil. User stephanie is a software developer, harry and henry are hardware developers. The default password of all users is „bpm“.