Previous UML Classes Table of Contents UML Packages Next


12.3.31 InitialNode

BasicActivities


   An initial node is a control node at which flow starts when the activity is invoked.

*Generalizations

   ControlNode (from BasicActivities ) on page 371

*Description

   An activity may have more than one initial node.

*Attributes

   No additional attributes

*Associations

   No additional associations

*Constraints

   [1] An initial node has no incoming edges.

   [2] Only control edges can have initial nodes as source.

*Semantics

    An initial node is a starting point for executing an activity (or structured node, see StructuredActivityNode (from CompleteStructuredActivities , StructuredActivities) on page 425). A control token is placed at the initial node when the activity starts, but not in initial nodes in structured nodes contained by the activity. Tokens in an initial node are offered to all outgoing edges. If an activity has more than one initial node, then invoking the activity starts multiple flows, one at each initial node. For convenience, initial nodes are an exception to the rule that control nodes cannot hold tokens if they are blocked from moving downstream, for example, by guards (see Activity). This is equivalent to interposing a CentralBufferNode between the initial node and its outgoing edges.

Issue 8247 - replace last sentence

   Note that flows can also start at other nodes, see ActivityParameterNode and AcceptEventAction, so initial nodes are not required for an activity to start execution. In addition, when an activity starts, a control token is placed at each action or structured node that has no incoming edges, except if it is a handler body (see ExceptionHandler (from ExtraStructuredActivities ) on page 377, it is the fromAction of an action input pin (see ActionInputPin (as specialized) on page 327), or it is contained in a structured node.

*Notation

   Initial nodes are notated as a solid circle, as indicated in the figure below.


   Figure 12.96 - Initial node notation

*Examples

   In the example below, the initial node passes control to the Receive Order behavior at the start of an activity.


   Figure 12.97 - Initial node example

   Initial nodes are introduced to model where flows start in an activity.

*Changes from previous UML

   InitialNode replaces the use of PseudoState with kind initial in UML 1.5 activity modeling.