December 22, 2023

Dear Reactis User:

We are pleased to announce the availability of:

  • Reactis V2023.2
  • Reactis for C V2023
  • Reactis Model Inspector V2023.2
  • Reactis V2023.0.2 patch
  • Reactis V2022.2.4 patch
  • Reactis for C V2022.0.1 patch
  • Reactis for C V2021.0.2 patch

Reactis V2023.2

The V2023.2 release of Reactis includes all bug fixes that were included in patch releases through V2023.0.2 plus the new features listed below.

Linking between Reactis for Simulink and Reactis for C

When generating C code for a model, Simulink Embedded Coder adds comments to link the C code back to the model. Reactis now includes functionality to use this instrumentation to help exploring and co-simulating model and generated C code.

If a model is loaded in Reactis for Simulink and the corresponding C code (created by Embedded Coder) is loaded in Reactis for C, a connection can now be established between the two. Once a connection is established, the following functions are provided:

  • Clicking on a 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 mentioned in the comment above the C code 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 breakpoints on the first line of code below each comment mentioning the block.
  • Setting a breakpoint on a line of C code will set a breakpoint on each block mentioned in the comment above the C code line.

Newly Supported Simulink Features

The following Simulink features are newly supported in Reactis V2023.2:

  • MATLAB R2023b.
  • Support Data Store Memory block references. This functionality was introduced in MATLAB R2023b to allow Data Store access across model reference boundaries.

Embedded MATLAB (EML) Support Improvements

V2023.2 adds support for the following:

  • Tracking MCC coverage in EML code.
  • Keywords 'nan', 'NaN', 'Inf', 'inf' to represent the special floating point values 'Not a Number' and 'Infinity'.
  • Ignore Embedded Coder directives such as coder.allowpcode('plain'). When a model includes such directives, ignore them to allow the model to run.
  • Vector indexing when a field of a structure is a matrix.
  • Matrix arguments to relational operators, including scalar expansion.
  • The third argument to bitshift to specify assumed type of first argument.
  • Integer arguments to sign function.
  • Using the return values of functions with multiple return values to update the elements of structures and arrays, for example '[x(1), y.z] = twoReturnVals();'.
  • The 'diff' and 'cumsum' functions.

Other Improvements

  • When using the Reactis for C plugin, C header files used in S-Function, Stateflow custom code or C Caller blocks can now be viewed in the Reactis GUI.
  • Most GUI dialogs showing lists (for example lists of inputs, outputs and configuration variables) now include a filter function to simplify finding specific items in large lists.
  • After importing a model, Reactis can now keep the MATLAB session open to shorten wait times (due to MATLAB startup) for subsequent uses of MATLAB by Reactis.
  • During export to CSV format the index base (0 or 1) for vectors, matrices and bus arrays can now be explicitly specified.
  • Function call count section in test execution report is now optional.
  • Moved documentation to new format with improved search and viewing capabilities.

Reactis for C V2023

The V2023 release of Reactis for C includes all bug fixes that were included in patch releases up to V2022.0.1, plus the new features listed below.

Linking between Reactis for C and Reactis for Simulink

When generating C code for a model, Simulink Embedded Coder adds comments to link the C code back to the model. Reactis now includes functionality to use this instrumentation to help exploring and co-simulating model and generated C code.

If a model is loaded in Reactis for Simulink and the corresponding C code (created by Embedded Coder) is loaded in Reactis for C, a connection can now be established between the two. Once a connection is established, the following functions are provided:

  • Clicking on a 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 mentioned in the comment above the C code 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 breakpoints on the first line of code below each comment mentioning the block.
  • Setting a breakpoint on a line of C code will set a breakpoint on each block mentioned in the comment above the C code line.

View content of header files in Reactis for C GUI

Prior to the V2023 release of Reactis for C, content of header files was not shown in the Reactis for C GUI. Starting with this release, the following are possible:

  • Double-clicking or right-clicking on a #include statement will open the included header file for viewing.
  • If an error or warning is detected in a header file, clicking the "Highlight" button in the error/warning dialog will open the header file and highlight the location.

Other Improvements

  • Performance of the C compiler and linker has been improved. Build times for large programs are dramatically shorter in many cases.
  • Most GUI dialogs showing lists (for example lists of inputs, outputs and configuration variables) now include a filter function to simplify finding specific items in large lists.
  • Added API support for disabling coverage tracking at the file level.
  • Function call count section in test execution report is now optional.
  • Moved documentation to new format with improved search and viewing capabilities.

Reactis Model Inspector V2023.2

The V2023.2 release of Reactis Model Inspector includes the following new features.

  • Support MATLAB R2023b.

Reactis V2023.0.2

The following bugs were fixed since V2023.0.1:

  • Top-level inport names containing underscores produce error when used in user-defined input value expressions (#5317)
  • In EML, support nan, NaN and ignoring Embedded Coder directives (#5282)

Reactis V2022.2.4

The following bugs were fixed since V2022.2.3:

  • Top-level inport names containing underscores produce error when used in user-defined input value expressions (#5317)
  • In EML, support nan, NaN and ignoring Embedded Coder directives (#5282)

Reactis for C V2022.0.1

The following bugs were fixed since V2022.0.0:

  • File-level coverage settings lost when program contains nested libraries (#5296)
  • MATLAB (R2022a or later) API fails to open a file whose name contain non-ASCII characters (#5289)
  • Large complex structures may cause test suite generation to fail (#5275)
  • Main pane goes blank after editing RSM file (#5029)
  • Individual targets within an function that is excluded from coverage can be excluded from coverage a second time (#5027)
  • Dynamic .rsm file added twice to hierarchy tree. (#5090)
  • Space in file name causes stub generation to fail (#5264)
  • C function target tag missing from HTML test execution reports (#5149)
  • Use of "typeof" compiler extension may cause parse errors (#5048)

Reactis for C V2021.0.2

The following bugs were fixed since V2021.0.1:

  • MATLAB (R2022a or later) API fails to open a file whose name contain non-ASCII characters (#5289)
  • "Invalid numeric literal" error may be reported for code which is elided during preprocessing (#4992)
  • Space inserted when concatenating string literals. (#4997)
  • Empty argument list passed to macro with 1 argument is rejected (#4989)
  • Memory error reported when copying a structure with uninitialized padding (#4914)
  • Cannot rename configuration variables in the Reactis Harness Editor (#5003)
  • Use of "typeof" compiler extension may cause parse errors (#5048)
  • C function target tag missing from HTML test execution reports (#5149)
  • rsClose may (rarely) cause MATLAB to crash (#5108)

You may download the patches or full installers from the Reactis User Pages.

Best Regards,
The Reactis Team

Back to Patches Archive