0
votes

enter image description here

First of all, is that even valid to have an exclusive gateway going out and backward of a parallel path like illustrated ?

If yes, I have some questions on how a business process engine is supposed to handle this.

Scenario steps:

  1. Task 2 and Task 3 are active.
  2. Task 3 is completed, and the gateway condition make it go back to Task 1.
  3. Task 1 is completed (a second time)

Questions:

  1. At step 2, what is the state of Task 2 ? Is it aborted or it remains active ?
  2. At step 2, is it creating a new instance of Task 1 or it re-opens the existing one ?
  3. At step 3 (similar to previous question), does it spawn new tasks 2 and 3 or re-open existing one ? If it spawns new ones, do we now have 2 actives Task2 at the same time ? How is the 'merging' gateway supposed to handle this ?
1

1 Answers

3
votes
  1. Activity instances on the same level of hierarchy are typically independent of each other. In this example, task 2 is still active.
  2. Once an activity instance has been completed, it cannot be reopened. In this example, a second instance of task 1 is created.
  3. There can be multiple instances of the same activity. Whenever an incoming flow of an activity is signalled, a new instance of that activity is created. Regarding, the merging parallel gateway: The gateway activates when each of the incoming sequence flows is signalled at least once. Activation consumes only one such signal per incoming flow. If the sequence flow from task 2 is signalled a second time, that signal will not be consumed. Therefore, the process instance will still be active, with the gateway infinitely waiting for the other sequence flows to be signalled a second time. Your process design is therefore not optimal.

Further reading: