|Previous||UML Classes||Table of Contents||UML Packages||Next|
An initial node is a control node at which flow starts when the activity is invoked.
ControlNode (from BasicActivities ) on page 371
An activity may have more than one initial node.
No additional attributes
No additional associations
 An initial node has no incoming edges.
 Only control edges can have initial nodes as source.
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.
Initial nodes are notated as a solid circle, as indicated in the figure below.
Figure 12.96 - Initial node notation
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.
InitialNode replaces the use of PseudoState with kind initial in UML 1.5 activity modeling.