UML State Machine Diagrams

UML state machine diagram, also called a state diagram, in Altova UModel

UModel State Diagram Features:

  • Toolbar for quick access to state machine diagram elements
  • Transitions in state machine diagrams can refer to operations in classes
  • Generate Java, C#, or VB .NET code from state machine diagrams
  • Cascading styles for colors, fonts, line size, and more
  • Customizable alignment grid
  • Elements can be assigned to diagram layers and selectively viewed or hidden
  • Unlimited undo/redo encourages exploring new ideas

Download Trial

State Machine Diagrams Identify States and Transitions of an Object as It Proceeds through Its Life Cycle

State machine diagrams (also called state diagrams) are a traditional object-oriented way to show behavior and to document how an object responds to events, including internal and external stimuli.

Whether you are planning the logic of a business object such as in invoice – whose states might be issued, paid, or overdue – or the behavior of a complex hardware-based system, you'll find UModel® 2015 to be an intuitive and enjoyable tool as you develop your state machine diagrams.

With UML joins and forks offered in a choice of orientations at a single click, and history and connection point reference elements all readily at hand, you’ll have everything you need to assemble superlative state diagrams. For more complex projects, UModel provides elements for composite states, orthogonal states, and submachine states that are as easy to place and manipulate as simple states.

UModel automatically provides the brackets that are required for guard text in state machine diagrams, just one of many quick entry helpers. You can edit guard text in the Properties window or directly in the design pane. You can even accelerate your project by generating a complete executable source code project in Java, C#, or Visual Basic from your UModel state machine diagram.

The Generate State Machine Code dialog in Altova UModel

Generate Code from State Diagrams

UModel lets you generate code from state machine diagrams that is fully executable, so you can quickly begin testing the logic captured in your state machine diagram.

You can generate code either as part of the normal project code generation process, via a selection in the Project menu, or directly from the state machine diagram context menu.

The context menu also provides an option to let you check the state machine diagram syntax, to avoid generating code that is not valid.

The Generate State Machine Code dialog box lets you control code generation settings, and even specify whether state machine code is automatically regenerated with project code generation.

Executable State Machine Example

The sample project files installed with UModel even include Visual Studio solution files for C# and Visual Basic, and a Java tester application that demonstrates execution of the state machine code and is easily adaptable to use with your own state machine diagrams.

Transitions and Operations in Classes

When you add a new transition to a state machine diagram that is inside a class or interface, you can use a pull-down list in the Properties window to assign an existing operation from the target class.

If you turn on Automatic Creation of Operations in the State Machine Diagram toolbar, you can simultaneously create a new operation in the class as you name the new operation in your state machine.

The compiled executable state machine example file in Altova UModel