SCT 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.
The validation of state machines includes syntax and semantic checks of the full model. Examples of built in validation rules are the detection of unreachable states, dead ends and references to unknown events. These validation constraints are checked live during editing.
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.
SCT 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.
C declarations from header files can be directly accessed in a state machine model. This includes custom types, like structs, unions and enumerations as well as functions and variables. The generated code directly includes the used header files.
Did you know that YAKINDU Statechart Tools Professional Edition brings great additional features to the Open Edition? The newest addition is the headless code...Read more
What do these things have in common, you might ask? The answer is both simple and intriguing: I’m talking about a “Usability Speed-Testing”! ...Read more
In my last article I covered how you can use arrays with our new version of Yakindu Statechart Tools Professional Edition. In this article the project will be...Read more