YAKINDU Statechart Tools
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.[5][6][7][8][9][10][11][12][13][14][15][16][17]
YAKINDU Statechart Tools | |
---|---|
YAKINDU Statechart Tools führt ein Zustandsdiagramm im Simulationsmodus aus. | |
Basisdaten | |
Maintainer | YAKINDU-Team der itemis AG |
Entwickler | itemis AG |
Erscheinungsjahr | 2008 |
Aktuelle Version | 3.5.5 (2019-06-18) |
Betriebssystem | Plattformübergreifend (Eclipse), Binaries für Microsoft Windows, Linux und MacOS verfügbar |
Programmiersprache | Java |
Kategorie | Entwicklungswerkzeug |
Lizenz | Proprietär, Teile Eclipse Public License |
deutschsprachig | nein |
https://www.itemis.com/en/yakindu/statechart-tools/ |
Konzepte
YAKINDU Statechart Tools implementieren das Konzept der 1984 von David Harel entwickelten Statecharts.[18] Statecharts wurden später in die UML übernommen.
Mit der Software lassen sich Endliche Automaten (finite-state machines) modellieren. Wesentliche theoretische Modelle für Endliche Automaten sind Mealy-Automaten und Moore-Automaten. Mit YAKINDU Statechart Tools lassen sich beide Typen modellieren.
Funktionalität
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
- Test-Framework SCTUnit
- Abdeckungsanalyse (SCov)
Erweiterbarkeit
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.
Geschichte
Die erste Version der YAKINDU Statechart Tools wurde im Jahre 2008 im Rahmen des Forschungsprojektes MDA for Embedded veröffentlicht.[19] 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.
Professional Edition
Im Dezember 2016 veröffentlichte die itemis AG eine kostenpflichtige »Professional Edition« der Software mit zusätzlichen Funktionalitäten:
- Nahtlose Integration der Programmiersprache C
- Erweiterte Möglichkeiten zur Simulation von Statecharts (Breakpoints, Snapshots)
Wechsel des Lizenzmodells
Mit der Version 3.0 der Standard-Edition[20] im Juli und der Professionial-Edition[21] 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.
Auszeichnung
- Deutschland – Land der Ideen 2008: Modellbasierte, generative Softwareentwicklung für eingebettete Systeme[22]
Literatur und Quellen
- 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, archiviert vom Original am 20. Juni 2016; abgerufen am 20. Juni 2016 (Frankfurt am Main, ISSN 1861-2296).
- Andreas Mülder, Andreas Unger: Yakindu ist auch eine Stadt. In: Software & Support Media GmbH (Hrsg.): Eclipse Magazin. Nr. 3, 2012, ISSN 1861-2296.
- Alexander Nyßen: TMF meets GMF – Combining Graphical & Textual Modeling. (PDF) Vortrag auf der EclipseCon Europe 2011. EclipseCon Europe 2011, 2011, archiviert vom Original am 17. Juni 2016; abgerufen am 17. Juni 2016 (englisch).
- Alexander Nyßen, Axel Terfloth: YAKINDU SCT – Domain-Specific Statecharts. Vortrag auf der EclipseCon 2012. EclipseCon Europe 2012, 2012, archiviert vom Original am 15. September 2012; abgerufen am 15. September 2012 (englisch).
- Axel Terfloth: Modellgetriebene Entwicklung mit der Yakindu Workbench. (PDF) Vortrag auf dem BAIKEM Netzwerktreffen Embedded Systems. Bayern Innovativ, 12. Juli 2011, archiviert vom Original am 15. September 2016; abgerufen am 15. September 2016.
Einzelnachweise
- Alexander Neumann: itemis stellt Statechart-Tools unter die Eclipse-Lizenz. In: heise Developer. 5. März 2009, archiviert vom Original am 17. Juni 2016; abgerufen am 17. Juni 2016.
- YAKINDU Statechart Tools (YAKINDU SCT). State Machine Tool. itemis AG, abgerufen am 11. Januar 2018 (englisch).
- Improved AUTOSAR tool chain with YAKINDU. Case Study: Leopold Kostal GmbH & Co. KG. itemis AG, archiviert vom Original am 15. September 2016; abgerufen am 15. September 2016 (englisch).
- Stephane Maag: Final Security Testing Techniques. (PDF, 3,91 MB) DIAMONDS Consortium, 23. Mai 2013, archiviert vom Original am 17. Januar 2017; abgerufen am 17. Januar 2017 (englisch).
- Maryam Rahmaniheris, Yu Jiang, Lui Sha: Model-Driven Design of Clinical Guidance Systems. (PDF, 1,19 MB) University of Illinois, 21. Oktober 2016, abgerufen am 17. Januar 2017 (englisch).
- Rafael Mota Gregorut: Synthesising formal properties from statechart test cases. (PDF, 1,35 MB) Final monograph for the course MAC0499 – Final Graduation Project. University of São Paulo, Dezember 2015, archiviert vom Original am 17. Januar 2017; abgerufen am 17. Januar 2017 (englisch).
- Marina Machado: MODUS – Generation of Interfaces based on Models. (PDF, 5,55 MB) Master dissertation. Universidade do Minho, 24. Oktober 2015, archiviert vom Original am 17. Januar 2017; abgerufen am 17. Januar 2017 (englisch).
- Rogerio Atem de Carvalho, Hudson Silva, Rafael Ferreira Toledo, Milena Silveira de Azevedo: TDD for Embedded Systems: A Basic Approach and Toolset. (PDF, 417 KB) Instituto Federal Fluminense (IFF), 3. August 2015, abgerufen am 17. Januar 2017 (englisch).
- João Henrique Correia Pimentel: Systematic design of adaptive systems – control-based framework. (PDF, 10,3 MB) Ph.D. Thesis. Universidade Federal de Pernambuco, 27. Februar 2015, archiviert vom Original am 17. Januar 2017; abgerufen am 17. Januar 2017 (portugiesisch).
- Joel Greenyer: Formal Methods in Software Engineering. (PDF, 667 KB) Vorlesung. Leibniz-Universität Hannover, 28. Oktober 2014, archiviert vom Original am 17. Januar 2017; abgerufen am 17. Januar 2017 (englisch).
- Christian Motika: SCCharts-Editor based on Yakindu. Christian-Albrechts-Universität zu Kiel, 27. Juni 2014, archiviert vom Original am 14. September 2016; abgerufen am 14. September 2016 (englisch).
- Jabier Martinez, Tewfik Ziadi, Jacques Klein, Yves le Traon: Identifying and Visualising Commonality and Variability in Model Variants. (PDF, 878 KB) University of Luxembourg, 13. Mai 2014, archiviert vom Original am 17. Januar 2017; abgerufen am 17. Januar 2017 (englisch).
- Josip Bozic, Dimitris E. Simos, Franz Wotawa: Attack Pattern-Based Combinatorial Testing. (PDF, 249 KB) Graz University of Technology, SBA Research, 10. März 2014, archiviert vom Original am 17. Januar 2017; abgerufen am 17. Januar 2017 (englisch).
- Mohamad Sbeiti: Simulation-based Performance Evaluation of PASER. Technische Universität Dortmund, archiviert vom Original am 17. Dezember 2012; abgerufen am 5. Juli 2012 (englisch).
- A. Topalidou-Kyniazopoulou, N. I. Spanoudakis2, M. G. Lagoudakis: A CASE Tool for Robot Behavior Development. (PDF, 762 kB) Technical University of Crete, 4. März 2012, archiviert vom Original am 14. September 2016; abgerufen am 14. September 2016 (englisch).
- Erik Kamsties, Burkhard Igel: Vorlesung "Einführung in die modellbasierte Softwareentwicklung". Fachhochschule Dortmund, 16. März 2011, archiviert vom Original am 14. September 2016; abgerufen am 14. September 2016.
- Claudia Picoco, Valentin Rychkov, Tunc Aldemir: A framework for verifying Dynamic Probabilistic Risk Assessment models. In: Reliability Engineering and System Safety. November 2020, abgerufen am 10. Juli 2020 (englisch).
- David Harel: Statecharts: A Visual Formalism For Complex Systems. (PDF) In: Science of Computer Programming, Volume 8. North Holland, 1984, S. 231–274, archiviert vom Original am 17. Juni 2016; abgerufen am 17. Juni 2016 (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 am 17. Juni 2016; abgerufen am 21. Juni 2012.
- Axel Terfloth: Introducing YAKINDU Statechart Tools 3.0 Standard Edition. itemis AG, 18. Juli 2017, archiviert vom Original am 12. Januar 2018; abgerufen am 12. Januar 2018 (englisch).
- Andreas Mülder: YAKINDU Statechart Tools 3.0 Professional Edition – New and Noteworthy. itemis AG, 7. August 2017, archiviert vom Original am 12. Januar 2018; abgerufen am 12. Januar 2018 (englisch).
- 365 Orte: Lünen 2008. In: Deutschland – Land der Ideen. Deutschland – Land der Ideen Management GmbH, 5. März 2009, archiviert vom Original am 17. Juni 2016; abgerufen am 17. Juni 2016.