A user contacted me recently with a question about the “Multiple instances synchronization” process modeling example in the Workbench ES Help. I realized that a mistake in the process diagrams had caused the confusion (Sorry Lachlan, and thanks again for pointing it out).
The example shows how to converge a number of process branches or subprocesses that are executing independently. This scenario is useful if you want your main process to execute the same subprocess or branch multiple times, and then continue only after all of the instances of the subprocess are complete.
To converge the instances, each one throws an event that the main process receives. A loop is used to count the number of events that are received. The loop executes until the number of received events equals the number of instances that were executed.
The problem with the diagrams for the Multiple instances synchronization example is that they did not include the loop (my bad). Below are the diagrams with the loop included.