The execution of a process can be controlled at the activity-level
using join behaviour.
A join is a set of incoming link that connects an activity to the rest
of the process. When we speak of join behaviour, we are referring to two separate
aspects: join condition and join failure.
Join condition
- When an activity is the target of a link, you can configure its join
behaviour using a built-in expression, or by customizing one yourself. This
condition evaluates every one of the incoming links (there can be more than
one, and each one must have a value in order to continue), and decides whether
or not the activity will be executed.
Join failure
- When an activity is nested within a parallel activity, and the link conditions
that lead to an activity conflict with those of its join condition, then a
fault is thrown on that activity. You can use the join failure settings to
determine whether or not to suppress this fault, skip the activity that threw
it, and continue with the execution of the process. When this happens, the
activity is not executed, and the outgoing transition conditions are evaluated
to 'false'.