1. Introduction#

Reactis®[1] for Simulink offers model-based testing, debugging, and validation for Simulink® / Stateflow®[2] models. Reactis consists of three main components: Reactis Tester, Reactis Simulator, and Reactis Validator. An optional add-on product Reactis for C Plugin offers white-box analysis of C code that is incorporated into a model using S-Functions, C Caller blocks, or Stateflow custom C code. Similarly, the Reactis for EML Plugin provides white-box testing of any Embedded MATLAB code used in a model, for example in a MATLAB Function block.

Reactis Tester automatically generates test suites from Simulink / Stateflow models of embedded control software. Test suites generated by Reactis provide comprehensive yet concise coverage of different test-quality metrics. Each test in a test suite consists of a sequence of input vectors as well as the responses to those inputs generated by the model. These tests may be used for a variety of purposes, including:

Implementation conformance

The tests may be applied to implementations derived from models to ensure conformance with model behavior.

Model testing and debugging

The tests may be run on the models themselves to analyze model behavior and to detect runtime errors.

Regression testing

The tests may be run on a new version of a model to compare its behavior to an older version.

Reverse engineering of models from source

Tests may be generated from models derived from legacy code in order to check conformance between model and code.

Reactis enables you to maximize the effectiveness of your testing while reducing time and effort.

Reactis Simulator enables you to visualize model execution. Simulator’s user interface is similar to those of traditional debuggers from programming languages: it allows you to step through the execution of models by hand, set break points, and study values of intermediate data elements. By executing Tester-generated tests in Simulator and examining coverage, you can often identify modeling errors, redundant code, or dead code. Simulator also supports reverse execution and the fine-tuning of Tester-generated test suites.

Reactis Validator performs automated searches of models for violations of user-specified requirements. If Validator finds a violation of a requirement, it returns a test highlighting the problem. This test may then be executed in Reactis Simulator to gain an understanding of the source of the error. Validator enables the early detection of design errors and inconsistencies and reduces the effort required for design reviews. Some checks that may be performed with Validator include the following:

  • Will a car’s anti-lock brakes always engage within a specified time period when the brake pedal is pressed?

  • Will a plane’s thrust reversers ever engage while the aircraft is airborne?

  • Will an x-ray machine ever deliver a dangerous dose of radiation?

  • Will a cellular phone hang when moved from a non-serviced into a serviced area?

1.1. Support and Feedback#

RSI welcomes user feedback and questions. To ask questions, make suggestions, or report suspected bugs, you may call RSI’s help line at (+1) 919-324-3507 or send email to help@reactive-systems.com.

When sending email, you are encouraged to include the System Info information for your Reactis installation. This can be obtained by selecting the Help > About menu item from the top-level Reactis window, then clicking Copy To Clipboard and pasting the information into the email message.

A list of known open and resolved issues can be found in the issue tracker available from the Reactis User Pages:

https://reactive-systems.com/login.msp

Reactive Systems logo