YAKINDU Statechart Tools
YAKINDU Statechart Tools executing a statechart in simulation mode | |
Developer(s) | YAKINDU team at itemis AG |
---|---|
Initial release | 2008 |
Stable release | 3.4.3
/ 12 November 2018 |
Written in | Java |
Operating system | Cross-platform, binaries for Microsoft Windows, Linux and macOS available |
Platform | Eclipse |
Available in | English |
Licence | Proprietary, parts Eclipse Public License |
Website | https://www.itemis.com/en/yakindu/statechart-tools/ |
YAKINDU Statechart Tools (YAKINDU SCT) is a tool[1] for the specification and development of reactive, event-driven systems with the help of finite-state machines. It consists of an easy-to-use 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 as a standard and as a professional edition, with no-cost licenses for non-commercial resp. academic usage.[2] Users are coming from both industry[3][4] and academia.[5][6][7][8][9][10][11][12][13][14][15][16][excessive citations]
Contents
Concepts[edit]
YAKINDU Statechart Tools implement the concept of statecharts as invented by David Harel in 1984.[17] Statecharts have been adopted by the UML later.[18]
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[edit]
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[edit]
YAKINDU Statechart Tools provide 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[edit]
The first version of YAKINDU Statechart Tools was released in 2008 as part of the research project MDA for Embedded.[19] 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[edit]
In December 2016, itemis released a professional edition of the software for a fee, providing additional functionalities:
- Seamless integration with the C programming language
- Advanced capabilities for simulating statecharts (breakpoints, snapshots)
Change of licensing model[edit]
With release 3.0 of the standard edition[20] in July and of the professional edition[21] 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 edition. Academic users 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[edit]
- Germany – Land of Ideas 2008: Model-based generative software development for embedded systems[22]
Literature and Sources[edit]
- Mülder, Andreas; Nyßen, Alexander (2011). "TMF meets GMF". Eclipse Magazin (in German). Frankfurt am Main: Software & Support Media GmbH (Nr. 3): S. 74–78. ISSN 1861-2296. Archived from the original (PDF) on 2016-06-20. Retrieved 2016-06-20.
- Mülder, Andreas; Unger, Andreas (2012). "Yakindu ist auch eine Stadt". Eclipse Magazin (in German). Frankfurt am Main: Software & Support Media GmbH (Nr. 3). ISSN 1861-2296.
- Alexander Nyßen (2011). "TMF meets GMF – Combining Graphical & Textual Modeling". EclipseCon Europe 2011. Archived from the original (PDF) on 2016-06-17. Retrieved 2016-06-17.
- Nyßen, Alexander; Terfloth, Axel (2012). "YAKINDU SCT – Domain-Specific Statecharts". EclipseCon 2012. Archived from the original on 2012-09-15. Retrieved 2012-09-15.
- Terfloth, Axel (2011-07-12). "Modellgetriebene Entwicklung mit der Yakindu Workbench: Vortrag auf dem BAIKEM Netzwerktreffen Embedded Systems" (in German). Bayern Innovativ. Archived from the original (PDF) on 2016-09-15. Retrieved 2016-09-15.
External links[edit]
References[edit]
- ^ Neumann, Alexander (2009-03-05). "itemis stellt Statechart-Tools unter die Eclipse-Lizenz". Heise Developer (in German). Archived from the original on 2016-06-17. Retrieved 2016-06-17.
- ^ "YAKINDU Statechart Tools (YAKINDU SCT)". itemis AG. Retrieved 2018-01-11.
- ^ "Improved AUTOSAR tool chain with YAKINDU – Case Study: Leopold Kostal GmbH & Co. KG". itemis AG. Archived from the original on 2016-09-15. Retrieved 2016-09-15.
- ^ Stephane Maag (2013-05-23). "Final Security Testing Techniques". DIAMONDS Consortium. Archived from the original (PDF, 3.91 MB) on 2017-01-17. Retrieved 2017-01-17.
- ^ Maryam Rahmaniheris; Yu Jiang; Lui Sha (2016-10-21). "Model-Driven Design of Clinical Guidance Systems" (PDF, 1.19 MB). University of Illinois. Retrieved 2017-01-17.
- ^ Rafael Mota Gregorut (December 2015). "Synthesising formal properties from statechart test cases". University of São Paulo. Archived from the original (PDF, 1.35 MB) on 2017-01-17. Retrieved 2017-01-17.
- ^ Marina Machado (2015-10-24). "MODUS – Generation of Interfaces based on Models". Universidade do Minho. Archived from the original (PDF, 5.55 MB) on 2017-01-17. Retrieved 2017-01-17.
- ^ Rogerio Atem de Carvalho; Hudson Silva; Rafael Ferreira Toledo; Milena Silveira de Azevedo (2015-08-03). "TDD for Embedded Systems: A Basic Approach and Toolset" (PDF, 417 KB). Instituto Federal Fluminense (IFF). Retrieved 2017-01-17.
- ^ João Henrique Correia Pimentel (2015-02-27). "Systematic design of adaptive systems – control-based framework" (in Portuguese). Universidade Federal de Pernambuco. Archived from the original (PDF, 10.3 MB) on 2017-01-17. Retrieved 2017-01-17.
- ^ Joel Greenyer (2014-10-28). "Formal Methods in Software Engineering". Leibniz-Universität Hannover. Archived from the original (PDF, 667 KB) on 2017-01-17. Retrieved 2017-01-17.
- ^ Christian Motika (2014-06-27). "SCCharts-Editor based on Yakindu". Christian-Albrechts-Universität zu Kiel. Archived from the original on 2016-09-14. Retrieved 2016-09-14.
- ^ Jabier Martinez; Tewfik Ziadi; Jacques Klein; Yves le Traon (2014-05-13). "Identifying and Visualising Commonality and Variability in Model Variants". University of Luxembourg. Archived from the original (PDF, 878 KB) on 2017-01-17. Retrieved 2017-01-17.
- ^ Josip Bozic; Dimitris E. Simos; Franz Wotawa (2014-03-10). "Attack Pattern-Based Combinatorial Testing". Graz University of Technology, SBA Research. Archived from the original (PDF, 249 KB) on 2017-01-17. Retrieved 2017-01-17.
- ^ Mohamad Sbeiti. "Simulation-based Performance Evaluation of PASER". Technische Universität Dortmund. Archived from the original on 2012-12-17. Retrieved 2012-07-05.
- ^ A. Topalidou-Kyniazopoulou, N. I. Spanoudakis2, M. G. Lagoudakis (2012-03-04). "A CASE Tool for Robot Behavior Development". Technical University of Crete. Archived from the original (PDF, 762 kB) on 2016-09-14. Retrieved 2016-09-14.CS1 maint: Multiple names: authors list (link)
- ^ Erik Kamsties, Burkhard Igel (2011-03-16). "Vorlesung "Einführung in die modellbasierte Softwareentwicklung"" (in German). Fachhochschule Dortmund. Archived from the original on 2016-09-14. Retrieved 2016-09-14.
- ^ Harel, David (1984). "Statecharts: A Visual Formalism For Complex Systems". Science of Computer Programming. North Holland. 8: 231–274. Archived from the original (PDF) on 2016-06-17.
- ^ OMG (February 2009). "OMG Unified Modeling Language (OMG UML), Superstructure Version 2.2". p. 525.
- ^ "Tutorial: Statechart Editor mit GMF erstellen". Forschungsprojekt MDA for Embedded (in German). itemis AG, Ingenieurbüro Dr. Kahlert, Nachrichtentechnik FH Dortmund. 2008-07-16. Archived from the original on 2016-06-17.
- ^ Terfloth, Axel (2017-07-18). "Introducing YAKINDU Statechart Tools 3.0 Standard Edition". itemis AG. Archived from the original on 2018-01-12. Retrieved 2018-01-12.
- ^ Mülder, Andreas (2017-08-07). "YAKINDU Statechart Tools 3.0 Professional Edition – New and Noteworthy". itemis AG. Archived from the original on 2018-01-12. Retrieved 2018-01-12.
- ^ "365 Orte: Lünen 2008". Deutschland – Land der Ideen (in German). Deutschland – Land der Ideen Management GmbH. 2009-03-05. Archived from the original on 2016-06-17. Retrieved 2016-06-17.