Prev Next

Control Flow

A simple example of an Actions used in Activity diagrams modeled using Sparx Systems Enterprise Architect.


The Control Flow is a connector connecting two nodes in an Activity diagram, modeling an active transition. Control Flow connectors bridge the flow between Activity nodes, by directing the flow to the target node once the source node's activity is completed.

Control Flows and Object Flows can define a Guard and a Weight condition.

A Guard defines a condition that must be True before control passes along that activity edge. A practical example of this is where two or more activity edges (Control Flows) exit from a Decision element. Each flow should have a Guard condition that is exclusive of the other and defines which edge is taken under what conditions. The Control Flow 'Properties' dialog enables you to set up Guard conditions on Control Flows and on Object Flows.

A Weight defines the number of tokens that can flow along a Control or Object Flow connection when that edge is traversed. Weight can also be defined on the Control Flow and Object Flow 'Properties' dialogs.

Toolbox icon

Control Flow connector

Learn more

OMG UML specification:

The OMG Unified Modeling Language specification, (v2.5.1, p.376) states:

A ControlFlow is an ActivityEdge that only passes control tokens (and some object tokens as specified by modelers, ...). ControlFlows are used to explicitly sequence execution of ActivityNodes, as the target ActivityNode cannot receive a control token and start execution until the source ActivityNode completes execution and produces the token.