Control node (UML)
A control node (Engl. ControlNode ) is a model element in the Unified Modeling Language (UML), a modeling language for software and other systems.
Control nodes are used when specifying activities . They represent special activity nodes where object and control flows are coordinated.
Types of control nodes
Starting node
An InitialNode is a node in which control tokens are fed into the activity when the activity is called.
End node
A FinalNode is a node at which a flow ends in an activity. The UML differentiates between end nodes for rivers and end nodes for activities that deal differently with incoming tokens. If a token reaches an end node for activities, the token is consumed and the activity terminated, regardless of whether other tokens are still flowing in the activity. In contrast, the activity continues when a token reaches an end node for flows and additional tokens are still flowing in the activity.
Parallelization node
A parallelization node ( ForkNode ) has exactly one leading edge. Tokens that reach the node via this edge are multiplied so that a copy can be sent over each outgoing edge.
Synchronization node
A synchronization node ( JoinNode ) has several incoming and one outgoing connections. The node normally expects a token on every incoming connection before it forwards a token to the outgoing connection. Variants of this are possible, however, by assigning a synchronization specification ( JoinSpecification ) to the node . This could regulate, for example, that a token is to be passed on when a token is present on at least two incoming edges.
Branching node
A branching node ( DecisionNode ) is a fork in the token flow. Tokens that reach a branching node via an incoming connection leave it via exactly one outgoing connection. It is the guards of the outgoing edges that determine via which edge the outgoing token leaves the branching node.
Connection node
A connection node ( MergeNode ) brings together several incoming flows. In contrast to the synchronization node, the connection node does not synchronize these flows. Every token that is on one of the incoming edges is passed on via the outgoing edge.
Differences to UML 1.x
The control nodes were newly introduced in UML2.
See also
literature
- Christoph Kecher: UML 2.0 - The comprehensive manual. Galileo Computing, 2005, ISBN 3-89842-573-8
- Conrad Bock: UML 2 Activity and Action Models Part 3: Control Nodes . in Journal of Object Technology, vol. 2, no. 6, pp. 7-23. [1]