SplitNode extends ActivityNode, ExecutionEdgeDestination, ExecutionEdgesSource

Execution flow can split off into multiple threads, reconnected with a JoinNode.

An ActivityOperation may contain any number of SplitNodes. Each SplitNode must have at least one outgoing ExecutionEdge. Each outgoing ExecutionEdge is defined as a separate thread with respect to that particular SplitNode, and every thread must eventually terminate at a JoinNode.

When the execution flow arrives at a SplitNode, each outgoing thread will be executed according to some multithreaded policy, with each of these executed threads inserted into a thread set associated with the SplitNode. Every thread has an associated execution flow. No guarantee is given as to the order in which each thread is executed, nor that any number of threads will execute simultaneously or that the implementation is actually within a multithreaded environment.

The SplitNode element is based off the UML ForkNode model element.

[SplitNode.html]

Examples

Implementation Notes

Inference Rules

(none)

Constraints

(none)

Attributes

(none)

Inherited Attributes

Children

(none)

Inherited Children

(none)

References

(none)

Inherited References

Extensions

Inherited Extensions