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.