Previous UML Classes Table of Contents UML Packages Next

12.3.20 ControlNode


   A control node is an abstract activity node that coordinates flows in an activity.


   • ActivityNode (from BasicActivities , CompleteActivities , FundamentalActivities , IntermediateActivities , CompleteStructuredActivities ) on page 347.


   A control node is an activity node used to coordinate the flows between other nodes. It covers initial node, final node and its children, fork node, join node, decision node, and merge node.


   No additional attributes


   No additional associations


   No additional constraints


   See semantics at Activity. See subclasses for the semantics of each kind of control node.


   The notations for control nodes are illustrated below: decision node, initial node, activity final, and flow final.

   Fork node and join node are the same symbol, they have different semantics and are distinguished notationally by the way edges are used with them. For more information, see ForkNode and JoinNode below.

Figure 12.72 - Control node notations


   The figure below contains examples of various kinds of control nodes. An initial node is depicted in the upper left as triggering the Receive Order action. A decision node after Received Order illustrates branching based on order rejected or order accepted conditions. Fill Order is followed by a fork node that passes control both to Send Invoice and Ship Order. The join node indicates that control will be passed to the merge when both Ship Order and Accept Payment are completed. Since a merge will just pass the token along, Close Order activity will be invoked. (Control is also passed to Close Order whenever an order is rejected.) When Close Order is completed, control passes to an activity final.


Figure 12.73 - Control node examples (with accompanying actions and control flows)


   Control nodes are introduced to provide a general class for nodes that coordinate flows in an activity.

*Changes from previous UML

   ControlNode replaces the use of PseudoState in UML 1.5 activity modeling.