Yakindu Statechart Tools (Yakindu SCT) ist ein Werkzeug[1] zur Spezifikation und Entwicklung reaktiver, ereignisgesteuerter Systeme mit Hilfe von Zustandsautomaten. Es besteht aus einem leicht zu bedienenden Werkzeug zum graphischen Editieren von Zustandsdiagrammen (Statecharts) und bietet Validierung und Simulation sowie Quellcode-Generatoren für verschiedene Zielplattformen und Programmiersprachen. Yakindu Statechart Tools sind als Standard- und als Professional-Edition verfügbar, mit kostenfreien Lizenzen für den Einsatz im nichtkommerziellen Bereich oder in der Ausbildung.[2] Anwender kommen sowohl aus der Industrie[3][4] wie auch aus dem akademischen Bereich. Das Werkzeug wurde mittlerweile umbenannt und heißt nun Itemis Create.[5][6]
Yakindu Statechart Tools setzen das Konzept der Statecharts um, die 1984 von David Harel entwickelt wurden.[7] Statecharts wurden später in die UML (Unified Modeling Language) übernommen. Mit der Software können Endliche Automaten (finite-state machines) modelliert werden. Die wesentlichen theoretischen Modelle für Endliche Automaten sind Mealy-Automaten und Moore-Automaten. Yakindu Statechart Tools ermöglichen die Modellierung beider Typen von Automaten.
Die Hauptmerkmale der Yakindu Statechart Tools sind:
intelligente Kombination von textueller und grafischer Modellierung
syntaktische und semantische Prüfungen des modellierten Zustandsautomaten
ausführbare Zustandsautomatenmodelle durch die Simulationsengine
Quellcode-Generatoren für Java, C und C++ (sowie Betaversionen von Quellcode-Generatoren für Python, Swift und TypeScript), die die Integration des generierten Zustandsautomaten in die eigene Anwendung ermöglichen
Die Yakindu Statechart Tools bieten offene APIs, die weitgehende Anpassungen an spezifische Anforderungen ermöglichen. So sind die Codegeneratoren erweiterbar. Es ist jedoch auch möglich, eigene Statechart-Dialekte zu spezifizieren. Dazu wird das Konzept domänenspezifischer Statecharts definiert. Dies ermöglicht es, Statecharts als wiederverwendbare Sprachbausteine zu nutzen.
Die erste Version der Yakindu Statechart Tools wurde im Jahre 2008 im Rahmen des Forschungsprojektes MDA for Embedded veröffentlicht.[8] In diesem Forschungsprojekts wurden modellbasierte Entwicklungsverfahren für die Entwicklung eingebetteter Systeme auf Basis des Eclipse-Projekts erarbeitet. Seit Mitte 2010 arbeitete das Yakindu-Team, das hauptsächlich aus Mitarbeitern der Firma itemis AG bestand, an der Version 2. Das erste offizielle Release dieser Version erfolgte zusammen mit der Eclipse-Version 4.2 (Juno).
Version 2.9 ist kompatibel zu den Eclipse-Versionen 4.5 (Mars) und 4.6 (Neon). Ab dieser Version ist es möglich, Codegeneratoren auf der Kommandozeile auszuführen und damit auch in einem Continuous-Integration-System einzusetzen.
Mit der Version 3.0 der Standard-Edition[9] im Juli und der Professionial-Edition[10] im August 2017 stellte itemis das Lizenzmodell von einer Open-Source- auf eine proprietäre Lizenz um. Nichtkommerzielle Anwender können die Standard-Edition weiterhin kostenlos nutzen. Für Anwender im Ausbildungsbereich stehen auch für die Professional-Edition kostenfreie Lizenzen zur Verfügung.
Die letzte quelloffene Version 2.9.3 von Yakindu Statechart Tools ist nach wie vor im YSCT-GitHub-Repository erhältlich.
Andreas Mülder, Alexander Nyßen: TMF meets GMF. (PDF; 1,5 MB) In: Eclipse Magazin, Nr. 3. Software & Support Media GmbH, 2011, S. 74–78, abgerufen am 20. Juni 2016 (Frankfurt am Main, ISSN1861-2296).
Andreas Mülder, Andreas Unger: Yakindu ist auch eine Stadt. In: Software & Support Media GmbH (Hrsg.): Eclipse Magazin. Nr.3, 2012, ISSN1861-2296.
Alexander Nyßen, Axel Terfloth: YAKINDU SCT – Domain-Specific Statecharts. Vortrag auf der EclipseCon 2012. EclipseCon Europe 2012, 2012, abgerufen am 15. September 2012 (englisch).
↑Improved AUTOSAR tool chain with YAKINDU. Case Study: Leopold Kostal GmbH & Co. KG. itemis AG, archiviert vom Original (nicht mehr online verfügbar) am 16. September 2016; abgerufen am 15. September 2016 (englisch).Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.itemis.com
↑Stephane Maag: Final Security Testing Techniques. (PDF; 3,91 MB) DIAMONDS Consortium, 23. Mai 2013, abgerufen am 17. Januar 2017 (englisch).
↑Tutorial: Statechart Editor mit GMF erstellen. In: Forschungsprojekt MDA for Embedded. itemis AG, Ingenieurbüro Dr. Kahlert, Nachrichtentechnik FH Dortmund, 16. Juli 2008, archiviert vom Original (nicht mehr online verfügbar) am 9. Oktober 2011; abgerufen am 21. Juni 2012.Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.mda4e.org