With YAKINDU Statechart Tools, you can easily create complex systems in a visual way. Simulate and test your system’s behavior already while you are modeling. Code generators translate your state machine into high-quality source code for different target platforms.
Yakindu Statechart Tools (SCT) feature an intuitive combination of graphical and textual notation. 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 optimized for working with these statecharts.
The validation of statecharts includes syntax and semantic checks of the complete state chart. Examples of validations are the detection of unreachable states, dead ends, and references to unknown events. These validation constraints are live checked during editing. In case a constraint is violated, this is visualized by warning and error markers, which are attached to the faulty model elements.
In addition to the structural validation, checking the dynamic semantics is crucial. It is not possible to determine the correctness of a statechart just by visual examination. Thus, the user must be able to execute the statecharts he is working on. The integrated statechart simulation engine addresses these needs. The user can execute statecharts directly within the modeling environment. Active states are directly highlighted in the statechart editor and a dedicated simulation perspective features access to execution controls (start, stop, pause, resume), inspection and setting variables, as well as raising events.
To ensure that the software works as specified we use unit tests. Now we can also apply unit testing on statechart models. Such a unit test checks which states shall be active and what value variables have during the process of the state machine. The syntax is close to general unit testing and according to the integrated completion proposals easy to apply.
Yakindu Statechart Tools (SCT) includes code generators for Java, C/ C++ and SCXML. 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. The generated code is also readable and structured in such a way that allows for very efficient execution.