YAKINDU Statechart Tools 4.0.2 (Nov 06, 2020)

This is mainly a bugfix release, containing several fixes for our code generators and the YET infrastructure, but also some usability improvements.

Code Generation

In this release we added new feature for the C and C++ code generators: It is now possible to generate a software timer service implementation by using the ‚timerService’ parameter in the generator model, like in the example below:

Example:

feature GeneralFeatures {
    timerService = true
}

Furthermore, we fixed several issues, among others:

  • We fixed an issue in the C code generator where the generated check methods for choice transitions incorrectly used a const qualifier.
  • We fixed an issue the C code generator when type aliases were defined in a C/C++ domain statechart.
  • We fixed the C code generator for statechart using certain combinations of event buffering and time events.
  • We changed the names of the event and feature enumerators to be more consistent with the other API methods (no ‚Iface’ in the name)
  • We fixed an issue in the C code generator when generic tracing is enabled.
  • For multi state machine scenarios, we fixed an issue in the C++ code generator when the ‚isStateActive’ method is used.
  • For multi state machine scenarios, we fixed all code generators to properly reference sub machines that use a namespace.
  • We removed the obsolete parameters ‚apiTargetFolder’ and ‚apiTargetPackage’ from the Java and Python generator models.

YET Infrastructure

For this release, we also spent some effort in further improving the Yakindu Execution Trace (YET) infrastructure:

  • We improved the YET C code generator to make the generated code compilable with pedantic checks,
  • We fixed an issue in the YET C code generator and debugger when declarations in named statechart interfaces were used.
  • We fixed several minor issues in the YET debugger

Editor Usability and Other Fixes

  • We fixed several smaller usability issues to make statechart modeling more convenient.
  • Selecting a region is now more intuitive again: Single click just selects the region; click & move spans a multi-selection rectangle.
  • We fixed an issue causing an incorrect region order when moving a region into an orthogonal state.
  • For C/C++ domain statecharts, it is now possible to access external members, that are in the same namespace as the statechart, without the namespace qualifier.
  • Fixed an issue with the quick-fix to change the statechart domain in the generator model.
  • New SCTUnit files now proper reference the selected statechart when it declares a namespace.