Move/Delete Token in running process

Hi there

We have a simple BPMN modell (Task 1 > Task 2 > Task 3 > Task 4 > Task 5 > Task 6).

Now we have two requirements, we don’t know the solution:

  • Requirement 1: The person who needs to fullfill the process (Task 1 - 6), need to have the possibility to restart the process at any time (Task 1 - 6). For example at Task 4, he recognise, that he made a mistake on Task 3, so he can restart the process at Task 1.
  • Requirement 2: When the process is started new (Req 1), Task 1, Task 2 & Task 3 should be done by the person again. Task 4, Task 5 & Task 6 should only be done, if they have not already done in the initial process execution (before restarting process)

Can someone help us, how to model this process with BPMN and how we can programm this (deleting / moving a token in a running process to Task 1)

Thanks a lot!!!

Hi @roland_pfister,

have a look at this process: https://cawemo.com/share/08475a32-2f57-4277-b2ec-39c3175c3696

The event subprocess handles interupt and restart.

Add task listeners to task1 to 3 to set the assignee according to your needs. Pass variables at process restart to control the listeners and the gateway.

Hope this helps, Ingo

Thanks a lot for your help!

Hello @Ingo_Richtsmeier ,

I have a similar requirement and had a look at your interrupted process example. In the event subprocess that handles interrupt, I am not sure if you are starting a new process instance with some variables + information gathered from the current process or you are actually restarting the current process.

Can you please explain.

And in case, you are actually restarting the current process… how are you doing it?

Thanks,
Ankit