# YAKINDU Statechart Tools

YAKINDU Statechart Tools (YAKINDU SCT) is a tool for the specification and development of reactive, event-driven systems with the help of finite-state machines. It comprises a tool for the graphical editing of statecharts and provides validation, simulation, and source code generators for various target platforms and programming languages. YAKINDU Statechart Tools are available with standard and professional editions, with no-cost licenses for non-commercial resp. academic usage. Users are coming from both industry and academia.

## Concepts

YAKINDU Statechart Tools implement the concept of statecharts as invented by David Harel in 1984. Statecharts have been adopted by the UML later.
The software can be used to model finite-state machines. Important theoretical models for finite-state machines are Mealy machines and Moore machines. YAKINDU Statechart Tools can be used to model both these types.

## Functionality

The main features of YAKINDU Statechart Tools are:
* Smart combination of textual and graphical modeling
* Syntactic and semantic validation of the modeled state machines
* Executable statechart models via the simulation engine
* Source code generators for Java, C, and C++ (plus beta-state source code generators for Python, Swift, and TypeScript), enabling the integration of generated state machines into custom applications
* Testing framework SCTUnit
* Coverage analysis (SCov)

## Extensibility

YAKINDU Statechart Tools provides open APIs, allowing for adaptions to specific requirements to a large extent. Not only are the code generators expandable; the developer can also specify his own statechart dialect. For this purpose, the concept of domain-specific statecharts is defined. This makes it possible to use statecharts as reusable language modules.

## History

The first version of YAKINDU Statechart Tools was released in 2008 as part of the research project MDA for Embedded. In this research project, model-based development processes for the development of embedded systems based on the Eclipse project were developed. Since mid-2010 the YAKINDU team, consisting mainly of employees of itemis AG, a company in Lünen, Germany, has been working on Version 2.0. The first official version was released together with Eclipse version Juno.
* Release 2.9 is compatible to Eclipse versions 4.5 (Mars) and 4.6 (Neon). Starting with this release, it is possible to run code generators from the command-line resp. in a continuous integration system.

### Introduction of professional edition

In December 2016, itemis released a professional edition of the software for a fee, providing additional functionalities.

### Change of licensing model

With release 3.0 of the standard edition in July and of the professional edition in August 2017, itemis changed licensing away from open-source to a proprietary license model. Licenses are still available at no cost for non-commercial users of the standard version. Students and Educators can obtain the professional edition for free.
YAKINDU Statechart Tools' last open-source release 2.9.3 is still available from YSCT's GitHub repository.

## Award

* Germany – Land of Ideas 2008: Model-based generative software development for embedded systems

## Literature and Sources

* Mülder, Andreas; Nyßen, Alexander (2011). "TMF meets GMF" (PDF). Eclipse Magazin (in German) (3). Frankfurt am Main: Software & Support Media GmbH: S. 74–78. ISSN 1861-2296. Archived (PDF) from the original on 2016-08-11. Retrieved 2016-06-20.
* Mülder, Andreas; Unger, Andreas (2012). "Yakindu ist auch eine Stadt". Eclipse Magazin (in German) (3). Frankfurt am Main: Software & Support Media GmbH. ISSN 1861-2296.
* Alexander Nyßen (2011). "TMF meets GMF – Combining Graphical & Textual Modeling" (PDF). EclipseCon Europe 2011. Archived from the original on 2016-08-08. Retrieved 2016-06-17.
* Nyßen, Alexander; Terfloth, Axel (2012). "YAKINDU SCT – Domain-Specific Statecharts". EclipseCon 2012. Archived from the original on 2016-09-16. Retrieved 2012-09-15.
* Terfloth, Axel (2011-07-12). "Modellgetriebene Entwicklung mit der Yakindu Workbench: Vortrag auf dem BAIKEM Netzwerktreffen Embedded Systems" (PDF) (in German). Bayern Innovativ. Archived (PDF) from the original on 2016-09-16. Retrieved 2016-09-15.