Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

StateMachine Diagram

A StateMachine diagram is an effective way of presenting information about the lifetime of a system element such as a Block. It can be used to describe the important conditions (States) that occur in an entity's lifetime or cycles. Typically only entities that have important stages in their lifetime are modeled with StateMachine diagrams. The entity is said to transition from one State to another as specified by the StateMachine. Triggers and Events can be described that allow the state transition to occur and Guards can be defined that restrict the change of state. Each State can define the behaviors that occur on entry, during and exit from the State.

Elements

The main elements that can appear in Parametric diagrams are:

  • State
  • StateMachine
  • Initial
  • Final
  • Choice
  • History
  • Fork and Join

The main connectors  that can appear in Parametric  diagrams are:

  • Transition
  • Dependency

Tools

A wide variety of tools are available for working with StateMachine diagrams, in addition to the StateMachine diagram itself. These include:

  • State Table Editor - Which allows the StateMachine diagram to be visualized in a table that, for some analysts, is easier to understand than a diagram; it contains the same information as the diagram and can be viewed in a number of different ways
  • Dynamic Simulation - Allows StateMachines to be visualized, showing how an entity transitions from one state to another
  • Executable StateMachines - As well as utilizing the simulation engine and allowing StateMachines to be visualized, provide a complete language-specific implementation that can form the behavioral 'engine' for multiple software products on multiple platforms

Usage

Complex systems are often composed of entities such as Blocks that have complex behavior and might have lifetimes that are difficult to understand.

StateMachines can be used to describe the important conditions (States) that occur in an entity's lifetime or cycles. Typically, only entities that have important stages in their lifetime are modeled with StateMachine diagrams.  These diagrams provide insight into the way an entity transitions from state to state, ignoring conditions that are not important to the analysis.