YAKINDU Statechart Tools

Last updated
YAKINDU Statechart Tools
Developer(s) YAKINDU team at itemis AG
Initial release2008;15 years ago (2008)
Stable release
3.5.5 / 18 June 2019;4 years ago (2019-06-18)
Written in Java
Operating system Cross-platform, binaries for Microsoft Windows, Linux and macOS available
Platform Eclipse
Available inEnglish
Licence Proprietary, parts Eclipse Public License
Website 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 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. [2] Users are coming from both industry [3] [4] and academia. [5] [6] [7]

Contents

Concepts

YAKINDU Statechart Tools implement the concept of statecharts as invented by David Harel in 1984. [8] Statecharts have been adopted by the UML later. [9]

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:

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. [10] 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.

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 [11] in July and of the professional edition [12] 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

Literature and Sources

Related Research Articles

In computer science, static program analysis is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution.

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

Model Driven Architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.

<span class="mw-page-title-main">Simulink</span> Programming environment

Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of the MATLAB environment and can either drive MATLAB or be scripted from it. Simulink is widely used in automatic control and digital signal processing for multidomain simulation and model-based design.

I-Logix was a leading provider of Collaborative Model driven development (MDD) solutions for systems design through software development focused on real-time embedded applications. Founded in 1987, the Andover, Massachusetts-based company product line enhanced collaboration among engineers, graphically modeling the requirements, behavior, and functionality of embedded systems. In addition, I-Logix was a member of the UML Partners, a group devoted to the development of the Unified Modeling Language (UML).

Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract representations of the knowledge and activities that govern a particular application domain, rather than the computing concepts.

<span class="mw-page-title-main">QVT</span> Standard set of languages for model transformation

QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group.

<span class="mw-page-title-main">Systems modeling language</span> General-purpose modeling language

The systems modeling language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.

<span class="mw-page-title-main">Eclipse Modeling Framework</span> Project of Eclipse Foundation

Eclipse Modeling Framework (EMF) is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model.

Modeling and Analysis of Real Time and Embedded systems also known as MARTE is the OMG standard for modeling real-time and embedded applications with UML2.

<span class="mw-page-title-main">Papyrus (software)</span>

Papyrus is an open-source UML 2 tool based on Eclipse and licensed under the EPL. It has been developed by the Laboratory of Model Driven Engineering for Embedded Systems (LISE) which is a part of the French Alternative Energies and Atomic Energy Commission (CEA-List).

<span class="mw-page-title-main">DAvE (Infineon)</span> Software development & code generation tool

DAVE (Infineon) Digital Application Virtual Engineer (DAVE), is a C/C++-language software development and code generation tool for microcontroller applications. DAVE is a standalone system with automatic code generation modules. It is suited for the development of software drivers for Infineon microcontrollers and aids the developer with automatically created C-level templates and user-desired functionalities.

<span class="mw-page-title-main">Requirements Interchange Format</span>

RIF/ReqIF is an XML file format that can be used to exchange requirements, along with its associated metadata, between software tools from different vendors. The requirements exchange format also defines a workflow for transmitting the status of requirements between partners. Although developed in the automotive industry, ReqIF is suitable for lossless exchange of requirements in any industry.

<span class="mw-page-title-main">Modelio</span> Open-source UML tool developed by Modeliosoft

Modelio is an open-source UML tool developed by Modeliosoft, based in Paris, France. It supports the UML2 and BPMN standards.

Cantata++, or simply Cantata in newer versions, is a commercial computer program for dynamic testing, specifically unit testing and integration testing, and code coverage at run time of C and C++ programs. It is developed and sold by QA Systems, and was formerly a product of IPL Information Processing Ltd.

<span class="mw-page-title-main">Enterprise Architect (software)</span> Visual modeling and design tool

Sparx Systems Enterprise Architect is a visual modeling and design tool based on the OMG UML. The platform supports: the design and construction of software systems; modeling business processes; and modeling industry based domains. It is used by businesses and organizations to not only model the architecture of their systems, but to process the implementation of these models across the full application development life-cycle.

itemis AG, headquartered in Lünen, is a German IT consulting and software development company, active among other things in the field of model-driven software development (MDSD). With the YAKINDU product family, itemis sells a number of self-developed software products.

References

  1. Neumann, Alexander (2009-03-05). "itemis stellt Statechart-Tools unter die Eclipse-Lizenz". Heise Developer (in German). Archived from the original on 2016-08-06. Retrieved 2016-06-17.
  2. "YAKINDU Statechart Tools (YAKINDU SCT)". itemis AG . Retrieved 2018-01-11.
  3. "Improved AUTOSAR tool chain with YAKINDU – Case Study: Leopold Kostal GmbH & Co. KG". itemis AG. Archived from the original on 2016-09-16. Retrieved 2016-09-15.
  4. Stephane Maag (2013-05-23). "Final Security Testing Techniques" (PDF, 3.91 MB). DIAMONDS Consortium. Archived (PDF) from the original on 2017-01-18. Retrieved 2017-01-17.
  5. Maryam Rahmaniheris; Yu Jiang; Lui Sha (2016-10-21). "Model-Driven Design of Clinical Guidance Systems". arXiv: 1610.06895 [cs.CY].
  6. Rafael Mota Gregorut (December 2015). "Synthesising formal properties from statechart test cases" (PDF). University of São Paulo. Archived from the original (PDF, 1.35 MB) on 2017-01-17. Retrieved 2017-01-17.
  7. Claudia Picoco; Valentin Rychkov; Tunc Aldemir (November 2020). "A framework for verifying Dynamic Probabilistic Risk Assessment models" (PDF). Reliability Engineering & System Safety. 203. Retrieved 2020-07-10.
  8. Harel, David (1984). "Statecharts: A Visual Formalism For Complex Systems" (PDF). Science of Computer Programming. North Holland. 8 (3): 231–274. doi: 10.1016/0167-6423(87)90035-9 . Archived (PDF) from the original on 2013-10-12.
  9. OMG (February 2009). "OMG Unified Modeling Language (OMG UML), Superstructure Version 2.2". p. 525. Archived from the original on 2012-09-02. Retrieved 2016-06-17.
  10. "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-09-16. Retrieved 2013-02-19.
  11. Terfloth, Axel (2017-07-18). "Introducing YAKINDU Statechart Tools 3.0 Standard Edition". itemis AG. Archived from the original on 2018-01-13. Retrieved 2018-01-12.
  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-13. Retrieved 2018-01-12.
  13. "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-07-31. Retrieved 2016-06-17.