24. Revision History#
Different versions of Reactis are labeled as shown in Figure 24.1 and described below.
- Major Releases.
There are two major Reactis releases each year, for example V2023 and V2023.2.
- Beta Releases.
Reactive Systems sometimes makes beta releases available to customers interested in evaluating the newest features of Reactis. Beta releases do not undergo as much testing as major releases do. By convention, beta releases have odd numbered major release numbers. For example, V2023.1, and V2023.3 denote beta releases.
- Patch Releases.
Both stable and beta releases may be patched. The label for a patch release is constructed by extending the label for the major release to be patched with a suffix that includes a second decimal point and a patch release number. For example:
- V2023.0.1
denotes the first patch release for V2023
- V2023.2.3
denotes the third patch release for V2023.2
24.1. Patches Mailing List Archive#
Patches to Reactis are posted to the Reactive Systems website between major releases. To view a summary of recent changes, please view the archives of the Reactis Patches mailing list available at:
24.2. V2024 (5 June 2024)#
The V2024 release of Reactis includes the bug fixes that were included in patch releases through V2023.2.2 plus the new features listed below.
24.2.1. Improved Static Analysis and Tester Coverage#
Static model analysis in Reactis has been significantly improved, specifically 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.
24.2.2. 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 versions or distributions may work but have not been tested). While the Reactis GUI is not yet available, using the Reactis API on Linux can be very beneficial for automated testing purposes.
Reactis can be installed on Linux using:
an installer script that installs Reactis for Simulink on Linux in a manner similar to the install process on a Windows machine.
a Dockerfile that facilitates adding Reactis for Simulink to a Docker container in which MATLAB is already installed. Note that when running within a Docker container, Reactis requires a floating license, node-locked licenses are not supported.
For more information on how to install Reactis on Linux see Installing and Starting Reactis for Simulink.
After installing on Linux, the Reactis for Simulink API may be used in the same way it is on Windows as described in Using the Reactis API from MATLAB, or
24.2.3. Linking Between Reactis for Simulink and Reactis for C for 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. 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 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 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.
24.2.4. Option to Not Highlight Uncovered Targets#
In Reactis Simulator, the Coverage menu now includes an entry Highlight Uncovered Targets to toggle whether uncovered targets are highlighted in red in the main Reactis panel and subsystem names are red if they or their 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.
24.2.5. Newly Supported Simulink Features#
The following Simulink features are newly supported in Reactis V2024:
MATLAB R2024a.
24.2.6. Embedded MATLAB (EML) Support Improvements#
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.
24.3. Previous Major Release Dates#
Major releases of Reactis for Simulink prior to V2024 occurred on the following dates:
V2023.2 |
December 22, 2023 |
V2023 |
June 30, 2023 |
V2022.2 |
December 23, 2022 |
V2022 |
June 22, 2022 |
V2021.2 |
December 23, 2021 |
V2021 |
July 9, 2021 |
V2020.2 |
December 18, 2020 |
V2020 |
July 17, 2020 |
V2019.2 |
December 20, 2019 |
V2019 |
June 28, 2019 |
V2018.2 |
December 20, 2018 |
V2018 |
June 27, 2018 |
V2017.2 |
December 22, 2017 |
V2017 |
July 7, 2017 |
V2016.2 |
December 22, 2016 |
V2016 |
June 20, 2016 |
V2015.2 |
December 18, 2015 |
V2015 |
June 30, 2015 |
V2014.2 |
December 19, 2014 |
V2014 |
June 25, 2014 |
V2013.2 |
December 17, 2013 |
V2013 |
August 14, 2013 |
V2012.2 |
December 19, 2012 |
V2012 |
June 14, 2012 |
V2011.2 |
December 20, 2011 |
V2011 |
June 22, 2011 |
V2010.2 |
November 19, 2010 |
V2010 |
February 8, 2010 |
V2009.2 |
July 22, 2009 |
V2009 |
January 16, 2009 |
V2008 |
June 10, 2008 |
V2007 |
October 31, 2007 |
V2006.2 |
November 6, 2006 |
V2006 |
January 25, 2006 |
V2005 |
May 18, 2005 |
V2004.2 |
December 17, 2004 |
V2004 |
March 3, 2004 |
V2003.2 |
October 16, 2003 |
V2003 |
February 4, 2003 |
V2002 |
June 3, 2002 |