Reactive Systems logo
June 26, 2022

We are pleased to announce the availability of the V2022 updates for all Reactis® products.

Reactis for Simulink® V2022

The V2022 release includes all bug fixes from patch releases through V2021.2.2 plus the following new features.

Improvements to Test Case Generation

Improvements to Reactis Tester provide better coverage for models containing timers or counters. Previous versions of Reactis gave users a way to manually tag variables as counters using Reactis Validator timer targets and thereby make it more likely that Tester would generate tests to tick up the counters. The V2022 version of Tester aims to automatically identify counters and achieve improved coverage, without the requirement that the user create timer targets (although timer targets are also still supported). Tester has also been improved to reduce memory (RAM) usage during test generation for some models.

Indicate Signals not Computed During a Simulation Step

Some blocks in a model may not execute during a simulation step, either because they are located within conditional (i.e. triggered or enabled) subsystems that do not execute during the step or because of conditional input branch execution.

Previously, when hovering over a block or signal that had not executed in the current step, Reactis Simulator would show the value computed by the block when it last executed (or zero if it had never executed). The same applied to watched variables.

Starting in V2022, Simulator now indicates that a block or signal has not executed by showing [not computed] when hovering over it and for its value in the watched variable panel.

Access Control for Floating Licenses

When combined with the V2022 version of the Reactis License Manager, Reactis V2022 now supports access control for floating licenses. The License Manager now supports the definition of users and passwords to be used for authentication within the Reactis client to use a floating license. Each user can be configured to have access to a specific set of licenses. User groups can be defined to simplify setting access permissions in larger organizations.

Older versions of Reactis can access licenses served by the new License Manager if a legacy user is enabled. Any licenses assigned to the legacy user can be used by older Reactis versions that do not support user authentication.

Other Improvements

  • Support MATLAB® R2022a.
  • Support Integer To Bit and Bit To Integer blocks.
  • Support using the in_state function within a pre() directive within Stateflow Validator expressions.
  • Release Reactis license after GUI is inactive for some time. A new setting in the License tab in File → Global Settings allows you to specify a timeout after which Reactis should free up a floating license if Reactis remains idle for a duration exceeding the timeout limit.
  • The Reactis API now includes functions to either automatically print or buffer and later retrieve warnings generated during calls to API functions.
  • The new rsSimUpdateSuite() API function supports parameters mirroring the options available in the GUI Update Test Suite dialog. The previous rsSimUpdateOutputs() function is deprecated.
  • In Embedded MATLAB functions, Reactis now allows nested functions to call sibling nested functions.

Reactis for C V2022

The V2022 release of Reactis for C includes all patches up to and including the V2021.0.1 release, plus the following new features.

File-Level Coverage Exclusion

You can right-click on any file in the hierarchy tree to change the coverage tracking for all targets in the file. Coverage tracking for each file can be configured to be always enabled, to be always disabled, or to be inherited from the parent of the file in the tree. Previously, coverage tracking was set within an .rsm file and all files listed in the .rsm file shared the same coverage setting.

Function-Level Coverage Exclusion

V2022 also offers the capability to turn off coverage tracking for all coverage targets within a given C function. The new feature works as follows. When viewing a function in the main panel with Simulator enabled, you can right-click on the name of the function and select Track All Targets in Function… to open a dialog which lets you quickly exclude or include all targets within the function.

Access Control for Floating Licenses

The V2022 version of the Reactis License Manager introduces access control for floating licenses. The license manager supports the definition of users and passwords for authentication and supports the specification of which floating licenses a user may access. The V2022 version of Reactis for C includes the client-side support for access control.

Cleanup Compiler-Generated Files

Files containing Reactis-compiled C code can now be deleted via the Clean button in the Build File Editor. Reactis-generated files have one of the following extensions: .rso, .rsld, .rsls, .rsx.

Generic Selection

Expressions which use the C11 _Generic construct are supported. _Generic selects an expression from an association list based on the type of the first argument.

Reactis License Manager V2022

The V2022 version of the Reactis License Manager supports access control to floating licenses. Administrators can define users and passwords for authentication from Reactis clients. Each user can be granted access to different sets of licenses. Use of the access control mechanism requires V2022 clients also. Older clients can be supported by creating a special legacy user.

Reactis is a registered trademark of Reactive Systems, Inc. MATLAB, Simulink, and Stateflow are registered trademarks of The MathWorks, Inc.

Best Regards,
The Reactis Team