Skip to Content
Reference GuideCore ConceptsBranching & Merging

Branching & Merging

Branching

Deterministic XOR

Oftentimes an explicit decision by an actor or the value of a data determines which path should be chosen, one of the alternatives only. For such cases you can use controllers like Review, Vote (actor based) or Case (value based).

Non-deterministic XOR

Also here there is only one possible branch of all the alternatives, but in this case there is no upfront decision or value that sets the path. Multiple potential next steps are available and whichever one get’s picked up first, is continued while the other ones are removed.

AND

When branches need to be executed in parallel, AND branching is used. It allows to have multiple ongoing tasks in different parts of the program at the same time.

Merging

When a program employs AND Branching, it also has the possibility to merge the multiple active branches back again. Two modes exist for that:

Continue-after-First

This merging condition allows the instance to continue directly. It does not block the execution at any point.

Continue-after-All

Here the execution is blocked until all the steps from the incoming connections have concluded.

Last updated on