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 simply fascinating.
The validation of statecharts includes syntax and semantic checks of the full model. Examples of build in validation rules are the detection of unreachable states, dead ends, and references to unknown events. These validation constraints are live checked during editing.
The simulation of statechart models allows checking of the dynamic semantics. Active states are directly highlighted in the statechart editor and a dedicated simulation perspective features access to execution controls, inspection and setting variables, as well as raising events.
SCT includes code generators for 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.