YAKINDU Statechart Tools 3.3.0 (Mar 26, 2018)

In this release our team closed 126 issues in total. Here are the new and noteworthy changes:

Statechart image generator (Standard and Professional Edition):

The statechart image generator renders a statechart and all its subdiagrams, if any, as image files. The generator supports several pixel-based and vector-based image formats. It is configured via a generator model, just like all the other YAKINDU generators:

GeneratorModel for yakindu::images {

  statechart CoffeeMachine {

      feature Outlet {
          targetProject = "coffeemachine"
          targetFolder = "images"
      }

      feature Renderer {
          format = "svg"
      }
  }
}

Each time the underlying CoffeeMachine statechart is changed, this will create SVG images of the statechart in the folder “images” in project “coffeemachine”.

SCov - Test Coverage Tracing for SCTUnit (Professional Edition)

SCov is the new model coverage feature and part of YAKINDU Statechart Tools Professional Edititon. When a SCTUnit test is executed, SCov will automatically trace all model elements that are executed during a test run. A model element that is fully executed is colored in green, elements that are not executed are colored in red and partly executed model elements are colored in yellow.

The first version supports state activation and transition coverage. Coverage of state local reactions is currently not supported. The upcoming version will also take local reactions into account.

MISRA Short Identifiers (Professional Edition)

The C Domain now offers a further annotation: @ShortCIdentifiers helps you to keep the generated code compliant to rules which require C identifiers not to be longer than 31 characters. To achieve this, instead of shortening names which are part of a statechart’s API, YAKINDU Statechart Tools gives feedback about the names that will be generated and warns if any user input results in C Code that is non-compliant with the 31 character rule. This puts the user in charge of the naming scheme and keeps the resulting C identifiers predictable.

Miscellaneous

  • Usability improvements: We improved the usability of the graphical editor. For example, dithering connection anchors are removed (link) to have a more robust connection routing layout.

  • New built-in variables for the generator model: We added two new variables that can be used in an arbitrary generator model, for instance, to print a hash code in the generated file comment.
  • bq. SHA256 (String): The hash of the referenced statechart file.
  • bq. SCTFILE (String): Path to the statechart file relative to the workspace.