YAKINDU Statechart Tools Use the power of state machines

YAKINDU Statechart Tools provides an integrated modelling environment for the specification and development of reactive, event-driven systems based on the concept of state machines.

Download now Buy a license

Create state machines of any complexity with ease

YAKINDU Statechart Tools features an intuitive combination of graphical and textual notation for modelling state diagrams. While states, transitions and state hierarchies are graphical elements, all declarations and actions are specified using a textual notation.
The usability of the statechart editor is simply fascinating.

Prevent dead ends with build-in live validation

The validation of state machines includes syntax and semantic checks of the full model. Examples of built in validation rules are the detection of dead ends and references to unknown events. These validation constraints are checked live during editing.

Verify your work: simulate your state machine within the tool instantly

The simulation of state machine models allows the dynamic semantics to be checked. Also breakpoints can be set on transitions and states. Using conditional expressions allows for a more fine-grained control of the simulation run. Additionally the execution state of a simulation can be stored as a snapshot, which comprises all active and variable states. They can be restored any time to avoid repetitive manual debugging steps and thereby saving time.


Generate code for various languages out of the box

YAKINDU Statechart Tools includes code generators for state machines in Java, C and C++ out of the box. The code generators follow a code-only approach and do not rely on any additional runtime library. The generated code provides a well-defined interface and can be integrated easily with any client code.

Save time & effort: use C declarations within the tool directly

C declarations from header files can be directly accessed in a state machine model –  Deep C-Integration makes it possible. This includes custom types, like structs, unions and enumerations as well as functions and variables. The generated code directly includes the used header files.