We are pleased to announce the availability of Reactis for Simulink V2024 and Reactis for C V2024.

Reactis for Simulink

Improved Static Analysis and Tester Coverage

Static analysis of Simulink® models in Reactis® has been significantly improved, especially in the following areas:

  • Tracing signals through Bus Creator and Bus Selector blocks
  • Tracing through individual elements of arrays (Mux/Demux blocks)
  • Tracing through assignments to local variables in Stateflow® charts
  • Tracing through array indexing and record selection in Stateflow charts

These improvements enable Reactis to identify more unreachable targets in a model and to exercise more coverage targets in generated test suites.

Reactis for Simulink API on Linux®

The Reactis for Simulink API is now available on Linux. Currently, only Ubuntu® Linux 22.04 LTS is supported (other Ubuntu versions or Linux distributions may work but have not yet been tested). While the Reactis GUI is not included in this initial release, using the Reactis API on Linux can be very beneficial for automated testing. A Dockerfile is also available to facilitate adding the Reactis for Simulink API to a Docker container in which MATLAB® is already installed.

Co-simulation of TargetLink® Models and Generated Code

Reactis V2023.2 introduced the capability to link between a Simulink model loaded in Reactis for Simulink and the corresponding C code loaded in Reactis for C. Linking a model to the corresponding code makes it easier to understand the correlation between model and code components. For example, when a model and code are linked, clicking on a block in the model highlights the corresponding C code and vice versa. In V2023.2, this linking only worked for code generated by MathWorks' Embedded Coder product. Reactis V2024 extends this functionality to code produced by the TargetLink code generator of dSPACE.

If a TargetLink model is loaded in Reactis for Simulink and the corresponding C code is loaded in Reactis for C, a connection can be established between the two. Once a connection is established, the following functions are provided:

  • Clicking on a TargetLink block or Stateflow state or transition in the model will highlight corresponding C code comment(s).
  • Clicking on a comment mentioning a block in C code will highlight the corresponding block in the model.
  • Clicking on a line of C code will highlight all model blocks which correspond to that line.
  • Enabling or disabling Reactis Simulator in either Reactis for Simulink or Reactis for C will automatically do so in the connected session.
  • Setting a breakpoint on a model block or Stateflow item will set a breakpoint at the start of each code fragment which corresponds to the block.
  • Setting a breakpoint on a line of C code will set a breakpoint on each block which corresponds to that line.

Option to Not Highlight Uncovered Targets

In Reactis Simulator, the Coverage menu now includes an entry Highlight Uncovered Targets to toggle highlighting of uncovered targets. When enabled:

  • In the main panel, each uncovered target is highlighted in red.
  • In the hierarchy panel, the name of a subsystem is red if it or its descendants contain at least one uncovered target.

A use case for turning off Highlight Uncovered Targets is to more easily locate unreachable targets in your model. Unreachable targets are targets statically determined to be impossible to exercise. If Highlight Uncovered Targets is enabled, then in the hierarchy panel a subsystem name will be red if it or any of its descendants contain an uncovered target. This can mask whether the subsystem or any of its descendants contain unreachable targets because the subsystem name will be purple only if the subsystem and all of its descendants contain no uncovered targets. Turning off Highlight Uncovered Targets will cause the hierarchy panel to display a subsystem name in purple if it or any of its descendants contain an unreachable target.

Newly Supported Simulink Features

  • MATLAB R2024a.

Reactis for EML Plugin Updates

The Reactis for EML Plugin supports white-box testing of the Embedded MATLAB parts of a model (MATLAB Function blocks and EML action language in Stateflow). When using the EML Plugin, Reactis Tester aims to exercise coverage targets within the EML code and Reactis Simulator lets you step into EML code for debugging and visualization of coverage information. V2024 adds support for the following:

  • Element-wise logical operators | and &.
  • The det function.
  • More variations of the if-then-else syntax, including empty command lists, a constant as the guard, and an if statement all in one line.
  • More use cases of the end keyword for indexing vectors or matrices.
  • Empty end-of-line comments.
  • In a function definition, a line continuation ... immediately following the function keyword.

Reactis for C

Co-simulation of TargetLink® Models and Generated Code

See the feature description above (in the Reactis for Simulink section). Reactis for C V2024 implements the support on the C code side for this feature.

Synchronize a Harness with an RSI File

A new feature in the Reactis Harness Editor lets you synchronize a harness with an RSI file in order to incorporate changes to a model's inputs, outputs, or configuration variables into your C code harness.

Automatically Match TargetLink Names During Harness Import

A common use case for Reactis for C is back-to-back testing of C code against a Simulink model. To facilitate back-to-back testing, the C code needs a harness with the same inputs, outputs, and configuration variables as the corresponding model. To ease the creation of a matching harness, Reactis for C can automatically create a harness based on the inputs, outputs, and configuration variables found in an RSI file for a model (created by Reactis for Simulink). V2024 extends this ability to automatically import inputs, outputs, and configuration variables from a the RSI file for a TargetLink model into a harness for testing the corresponding TargetLink-generated C code.

Reactis is a registered trademark of Reactive Systems, Inc. MATLAB, Simulink, Stateflow, Embedded Coder, and Embedded MATLAB are registered trademarks of The MathWorks, Inc. TargetLink is a registered trademark of dSPACE, Inc. Ubuntu is a registered trademark of Canonical Limited. Linux is a registered trademark of Linus Torvalds.

Best Regards,
The Reactis Team


Back to Communicator Archive