# State Machine Diagram Constructs

The ‘State Machine Diagram’ supports four unique diagram constructs: a ‘State,’ an ‘Initial State,’ a ‘Final State,’ and a ‘Transition,’ Each diagram construct is described in more detail below:

• ## State

This construct is used to capture significant conditions experienced during the life of a system. In the system model, a Characteristic entity with a State label is generated to represent a ‘State’ construct. In the diagram, this construct is represented as a rounded block containing the name of the ‘State.’

• ## Initial State

This construct is used to specify the original state of a system at the beginning of a system’s life. In the system model, a Characteristic entity with both an Initial State label and a State label applied to represent an ‘Initial State’ construct. In the diagram, this construct is represented as a filled circle.

• ## Final State

This construct is used to specify the final state of a system at the end of a system’s life. In the system model, a Characteristic entity is generated with both a Final State label and a State label applied to represent a ‘Final State’ construct. In the diagram, this construct is represented as a circle with a dot inside.

• ## Transition

This construct is used to capture events which occur during the life of a system.

In the system model, an Action entity is generated to represent the ‘Transition’ construct with a pushed by/pushes relationship to the source state and a fetches/fetched by relationship to the target state. At least two ‘State’ constructs or one ‘Initial State’ construct and one ‘State’ construct or one ‘State’ construct and one ‘Final State’ construct must be added to the diagram first before a ‘Transition’ can be added.

In the diagram, this construct is represented as an arrow (directed line) connecting two other diagram constructs and a line label containing the name of the ‘Transition.’