Control nodes
Control nodes coordinate flows between nodes of an activity.
A control node can be of type initial, final, decision, merge, fork or join.
Control node types
Initial
An initial node indicates where the control flow starts when the activity is invoked. An activity can have several initial nodes.
Final
When a token reaches a final node of an activity, all flows of the activity are stopped. Conversely, a final node of a flow destroys tokens that arrive, but has no effect on other tokens of the activity.
Decision
A decision makes a choice of one flow from among several possible output flows. Output flows are selected according to their guard conditions.
Merge
A merge fusion (merge) groups several alternative input flows into a single output flow. It is not used to synchronize concurrent flows, but to accept a single flow from among several.
Fork
A fork separates a flow into several concurrent flows. Tokens arriving at a fork are duplicated through the output flows.
Join
A join synchronizes multiple flows. The flow is triggered when all input flows are available.