YAKINDU Statechart Tools
User Guide

What are YAKINDU Statechart Tools?

YAKINDU Statechart Tools (YAKINDU SCT) is a modular toolkit for developing, simulating, and generating executable finite-state machines (FSM) or simply state machines. State machines are useful for the model-driven development of so-called event-discrete systems, i.e., systems that are always in exactly one state of a finite number of states. State machines are particularly well-suited for embedded systems, but they are in no way restricted to them.

Installing YAKINDU Statechart Tools

In order to start working with YAKINDU Statechart Tools, you have to install the software on your computer. We are assuming you have downloaded the software package and stored it somewhere on your machine.

Editing statecharts

This section explains how you can edit statecharts using YAKINDU Statechart Tools.

Simulating statecharts

Simulating a statechart model means to execute it, raise events manually, have time-based and other events being triggered automatically, and observe the model’s behavior.

Deep C/C++ Integration: Integrating your C/C++ source code with your state machines

The Deep C/C++ Integration feature allows using C/C++ types, variables, and operations directly within the statechart model.

SCXML Domain

YAKINDU Statechart Tools Professional Edition comes with an SCXML domain which allows to generate SCXML code from your statechart, as well as to simulate and test it in a way that is compliant to the SCXML execution semantics.

Statechart language reference

The statechart language is used to describe statecharts. It consists both of graphical and of textual elements.

Generating state machine code

Ultimately, you will need your state machine not only as a nice graphical statechart model, but rather in the form of executable code that you can integrate with your software project as a component. You will want to send events to the state machine, receive events from it, retrieve information regarding the currently active state (or states), set and get state machine variables, and have the state machine invoke specific behaviour that is external to it.

Test-driven statechart development with SCTUnit

Learn more about test-driven statechart modelling and how to use SCTUnit to develop your statechart model step by step using a test-driven approach.

Searching and navigating in statecharts

The larger the model, the greater the need to quickly search for elements, for example, all states with a given name or name pattern, all occurrences of a certain variable, etc. This section explains how YAKINDU Statechart Tools supports you in finding model elements and quickly navigating to them.