Prev Next

Composite State


Composite States are composed within the StateMachine diagram by expanding a State element, adding Regions if applicable, and dragging further State elements, related elements and connectors within its boundaries. The internal State elements are then referred to as Substates.

(You can also define a State element, as with many other types of element, as a composite element; this then has a hyperlink to a child diagram that can be another StateMachine diagram or other type of diagram elsewhere in the model.)

Composite States can be orthogonal, if Regions are created. If a Composite State is orthogonal, its entry denotes that a single Substate is concurrently active in each Region. The hierarchical nesting of Composite States, coupled with Region use, generates a situation of multiple States concurrently active; this situation is referred to as the active State configuration.

An example of using a Composite State and a History State in a StateMachine modeled in Sparx Systems Enterprise Architect.

Learn more

OMG UML Specification:

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

A composite State contains at least one Region, whereas a submachine State refers to an entire StateMachine, which is, conceptually, deemed to be “nested” within the State. A composite State can be either a simple composite State with exactly one Region or an orthogonal State with multiple Regions (isOrthogonal = true). (...) Any State enclosed within a Region of a composite State is called a substate of that composite State. It is called a direct substate when it is not contained in any other State; otherwise, it is referred to as an indirect substate.