Enterprise Architect has a full and rigorous implementation of the Unified Modeling Language static and dynamic diagrams including the State diagram. Any entity in the system can have a StateMachine diagram and these can be conveniently located under the entity in the Project Browser. The tool has rich support for many of the powerful aspects of these machines including the ability to generate code directly from the diagrams. The StateMachine diagrams can also be automatically converted into a State Table.
A StateMachine diagram is a powerful way of presenting information about the lifetime of a business or technical entity. 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.
Enterprise Architect allows the StateMachine diagram to be automatically converted to a State Table. The State Table Editor is often a more intuitive way of working with the StateMachine for some users.
The StateMachine can be exported to a Spreadsheet file allowing the States and Transitions to be anlayzed.
There is also support for simulation of the StateMachine and the creation of an Executable StateMachine that can be used to generate a language specific behavioral 'engine' for multiple software products on multiple platforms.
Learn More: StateMachine Diagram
Visual Filters can be used to hide or dim parts of the diagram so that other parts can be emphasized. This is particularly useful when presenting the StateMachine diagram to a team in a meeting or demonstration. Context Filtering is easy to setup and will emphasize the currently selected diagram element and its directly connected elements.
Learn More: Visual Filters