JoinNode extends ActivityNode, ExecutionEdgeDestination, ExecutionEdgesSource

Joins multiple split execution threads back together. Halts until all threads are complete.

An ActivityOperation may contain any number of JoinNodes. Each JoinNode must have at least one incoming ExecutionEdge, and at least one outgoing ExecutionEdge.

If an executing thread arrives at a JoinNode, the thread will be removed from the associated thread set of that thread. If the thread set is not empty, execution of the thread will be suspended until such a point that the thread set is empty. If the thread set is empty, then the multithreaded execution originating from the original SplitNode will be considered complete, and the execution flow will continue from the SplitNode as normal. If an unthreaded execution flow arrives at a JoinNode, an exception must occur.

The JoinNode element is based off the UML JoinNode model element.



Implementation Notes

Inference Rules






Inherited Attributes



Inherited Children




Inherited References


Inherited Extensions