April 7, 2009
Dear Reactis User:
We are pleased to announce the availability of Reactis V2009.0.2, V2008.0.11
and of Reactis V2009.1 (beta)
V2009.1 (beta)
In addition to all bug fixes up to Reactis V2009.0.2, the following
features were added:
Multi-Block MC/DC coverage
A new feature called 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:
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:
Multi-Block MC/DC may be enabled or disabled from the General tab of
the Reactis Settings Dialog using the “Enable Multi-Block MC/DC coverage for
Logical Operator blocks” checkbox. When disabled the traditional definition of
MC/DC for Simulink is used (one decision per Logical Operator block).
When Multi-Block MC/DC is enabled, the following rules are used
to combine Logical Operator blocks into a group that will constitute
a single decision:
-
Groups may only contain "Logical Operator" blocks.
- Groups may not cross subsystem boundaries.
- Each group has exactly one exiting signal line. The output port
of the block at which the exiting signal line originates will be
marked as the decision (red dot).
- Each group may have multiple incoming signals lines. The input
ports of the blocks where the entering signal lines end will be
marked as the conditions (red dot).
- The set of Logical Operator blocks
L within a subsystem are partitioned
into a set of groups as follows. For each l ∈ L, let G(l) denote
the group containing l.
-
For each li in L, let G(li) = { li }
- For each li ∈ L:
-
If all branches of the output of li feed into a group gj
then merge G(li) and gj
- otherwise G(li) remains unchanged.
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.
To see the MC/DC coverage details for a group, right-click on
the final “Logical operator” block and select “Show coverage details”.
Newly supported Simulink features
- Initial support for MATLAB R2009a models. This means
Reactis will work together with MATLAB R2009a and models created
and edited with R2009a will work in Reactis. However, new features
introduced in MATLAB R2009a are not yet supported. New features will
be supported as demand increases.
- Accessing “Data Store Memory” blocks from within Stateflow
charts is now supported.
- The “
&
” operator can now be applied to array
elements as a parameter to an external C function call in Stateflow. For example:
foo(&(a[3]))
is now supported.
Other Improvements
- New backend engine significantly improves performance when running
Simulator or Tester on large models.
- In the Reactis Info File Editor, multiple configuration variables
can be removed at once.
- Improved performance and memory consumption when calling S-Functions
via the Reactis for C plugin.
- 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”.
V2009.0.2
The following bugs were fixed since V2009.0.1:
- Fixed bug that caused an error "Unexpected MATLAB operator" when using
multiple lines of code in Reactis' pre-load function for a model
- Fixed bug that could cause a "Lost connection to backend" error when using
data objects with variable names of 42 characters or more.
- Fixed bug that caused parse errors in the Reactis for C plugin when using
combinations of empty macro definitions.
- Fixed bug that caused Difference Scopes to show non-existent differences
when running tests with more than 1200 steps.
- Fixed problem that could cause errors like "getParameterMode: unhandled
parameter mode" or "Not enough input arguments" when specifying the parameter
data type for some blocks.
- Fixed bug where some input ports were not available in the virtual source
properties dialog after switching the library containing virtual sources.
- Fixed problem that caused an "Invalid Output times" error occur during
model import if the "Output options" setting of a model is set to
"Produce specified outputs only". Also fixed the problems that this setting
caused in the "runtests" utility.
- Fixed bug that occurred when initializing a pointer to a function with the
address of a static function when using the Reactis for C Plugin.
V2008.0.11
The following bugs were fixed since V2008.0.10:
- Fixed bug that caused an error "Unexpected MATLAB operator" when using
multiple lines of code in Reactis' pre-load function for a model
- Fixed problem that could cause errors like "getParameterMode: unhandled
parameter mode" or "Not enough input arguments" when specifying the parameter
data type for some blocks.
- Fixed bug that caused parse errors in the Reactis for C plugin when using
combinations of empty macro definitions.
- Fixed problem that caused an "Invalid Output times" error occur during
model import if the "Output options" setting of a model is set to
"Produce specified outputs only". Also fixed the problems that this setting
caused in the "runtests" utility.
- Fixed bug that occurred when initializing a pointer to a function with the
address of a static function when using the Reactis for C Plugin.
You may download the patches or full installers from the
Reactis User Pages.
Best Regards,
The Reactis Team