Reactive Systems logo

Automated Testing and Validation with Reactis®

March 29, 2017
Back to Communicator Archive
To : Reactis Users
From : Reactive Systems, Inc.
Date : July 23, 2009


  1. Reactis V2009.2 Now Available
  2. Coming Soon: Reactis for C Standalone
  3. Recent and Coming Events
  4. New at

Reactis V2009.2 Now Available

We are pleased to announce the availability of Reactis V2009.2. The new version includes a host of new features and enhancements since the previous major release in January 2009.

Multi-Block MC/DC Coverage

Multi-Block MC/DC enables the aggregation of multiple Simulink Logical Operator blocks into a single unit for the purposes of Decision, Condition, and MC/DC coverage tracking. For example, consider the following model fragment: two Or blocks with outputs feeding an And block

Under the traditional definition of MC/DC coverage in Simulink, this fragment would include three separate decisions:

  • A or B
  • C or D
  • op1 and op2

each with its own conditions and MC/DC targets. When Multi-Block MC/DC is enabled, these three operators are combined into a single decision:

  • A or B and C or D

Multi-Block MC/DC may be enabled or disabled from the General tab of the Reactis Settings Dialog. When disabled the traditional definition of MC/DC for Simulink is used (one decision per Logical Operator block).

Hovering over a Logical Operator block will show arrows indicating the group that the block belongs to. If no arrows appear then the block is not part of any group.

New Model Navigation Features

Clicking on a signal line in Reactis now highlights the signal in yellow. This feature makes it easy to trace a signal back to the point where it was generated and forwards to the point where it is consumed (used by a block to compute a new value). The highlighting flows through (backwards and forwards) the following blocks that do not modify a signal value: Inport, Outport, Subsystem, From, Goto, DataStoreWrite, DataStoreRead. Highlighting can be removed by clicking in open space.

After clicking the "up" arrow (or pressing F2) to display the parent of the currently displayed subsystem, Reactis now highlights the subsystem that was previously visible. This can be helpful when navigating large models.

'Objectives' Tab in RSI File Editor

A new tab lists all Validator objectives (assertions, user-defined targets, and virtual sources) that have been added to a model. For each objective, the listing provides the objective's status (disabled, enabled, covered, not covered, violated, ok), name, and location in the model. For any objective, you may double-click on the objective in the list to display it in the main panel or right-click to edit the objective. Also, the list can be used to revive "orphaned" objectives (those that are invisible because the name of the system in which they reside has changed).

Newly supported Simulink features

Reactis now supports the following:

  • MATLAB R2009a models (initial support).
  • Accessing Data Store Memory blocks from within Stateflow charts.
  • The use of bus types in Stateflow charts.
  • Parameterized links in library references.
  • Setting the data type for a machine-global Stateflow variable to "inherited".
  • The & operator can now be applied to array and structure elements as a parameter to an external C function called from Stateflow. For example: foo(&(a[3])) and foo(&b.x) are now supported if foo is an external C function called from Stateflow.

Reactis for C Plugin Improvements

  • Improved performance and memory consumption when simulating or generating tests for C code.
  • Improved coverage of the C code portions of models by Tester.
  • When paused in Simulator, hovering:
    • over an active function displays the current call stack,
    • over a variable will display the location in the source code at which the variable was last modified,
    • over a pointer displays the contents of the location pointed to.
  • A new tab in the RSI File Editor lists all locations where C code might be incorporated into a model. Specifically, there is an entry for Stateflow custom code (if the model has any) as well as a line for each S-Function in the model. An RSM file (Reactis Makefile listing the C files comprising the S-Function) may be added or removed by right-clicking on the S-Function in the list.
  • When hovering over a macro in C, the expanded macro text is displayed.

Other Improvements

  • Improved performance when running Simulator or Tester on large models.
  • An "Auto-wire" button in the Validator objective dialog simplifies the process of wiring objectives into a model (especially in the case of virtual sources that may control a number of inputs). Clicking the button will automatically select the correct connections for a port of an objective if the port's name matches the name of an item in the model.
  • The contents of the log window in the "runtests" utility can now be saved to a file.
  • In the Reactis Info File Editor, multiple configuration variables can be removed at once.
  • If a Simulink.Parameter object is used as a configuration variable, the value of the objects’ “DataType” property is shown in the DataType column of Reactis’ configuration variable list. Previously, such configuration variables did show up as type “double”.

More details regarding the V2009.2 enhancements may be found in the revision history in the Reactis User's Guide.

Coming Soon: Reactis for C Standalone

When using Reactis to generate tests from a model or check requirements of a model, have you ever wished you could do the same for C code independently of any model? An upcoming new product Reactis for C Standalone will offer just such functionality. You will be able to:

  • Generate comprehensive tests from C code in order to detect a variety of runtime errors including:
    • Memory errors:
      • Exceeding the bounds of an array or malloced data
      • Accessing memory after a call to free()
      • Accessing a pointer to a local variable after a function call has returned
      • Calling free() twice
      • Reading an uninitialized local variable
    • Overflow errors
    • Divide-by-zero errors
    • Invalid shift operations
  • Execute tests in an advanced debug environment that offers coverage tracking and even reverse execution
  • Check that a program meets its requirements

Recent and Coming Events

On May 20, 2009, Reactis distributor Cybernet Systems Taiwan conducted a seminar at the Industrial Technology Research Institute. Reactis was one of several solutions presented to a group of engineers, professors, and students primarily working in the area of automotive vehicle electronics.

On July 17, 2009, Reactis distributor Cybernet CAE Systems sponsored the Shanghai Automobile Electronic Summit. The event was held in JiaDing Shanghai, a center of activity for the Chinese automotive industry. Reactis was featured at the event that attracted hundreds of engineers from different companies.

On October 27, 2009, Reactive Systems will exhibit Reactis at the JMAAB Open Conference 2009 to be held at the Tokyo Conference Center Shinagawa.

On December 2, 2009, Reactive Systems will exhibit Reactis at MATLAB EXPO 2009 to be held at the Prince Park Tower Hotel in Tokyo, Japan.

New at

  • A new section includes videos introducing Reactis, its benefits, and how to use the tool.
  • A portion of the website has been translated into German.

Best Regards,
The Reactis Team

Back to Communicator Archive