Appendix C Revision History
Different versions of Reactis are labeled as shown in
Figure C.1 and described below.
Figure C.1: Version labels begin with a “V” and
include three parts: a year, a major release number, and a patch
release number. The parts are numbers separated by decimal points.
By convention, trailing zeros are omitted. |
-
Major Releases.
- A new version of Reactis is released
at the start of each year and labeled by a “V” followed by the
four-digit year, for example V2020. Each label for an intra-year
release includes a suffix consisting of a decimal point followed by a
major release number; for example V2020.1, V2020.2, etc. will
label the releases during 2020 that follow V2020.
- 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, V2020.1,
and V2020.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:
V2020.0.1 | denotes | the first patch release for V2020 |
V2019.2.3 | denotes | the third patch release for V2019.2 |
C.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:
C.2 V2021.2 (23 December 2021)
The V2021.2 release of Reactis includes the bug fixes that were included
in patch releases through V2021.0.2 plus the new features listed below.
C.2.1 Track Interval Coverage for Outports and Test Points
Reactis V2021.2 introduces interval coverage, a new metric that tracks
whether each harness outport and test point in a model has assumed values
from each interval specified for the item. Intervals can be defined in a
graphical editor in the Reactis GUI or added via the the Reactis API. For
each interval, Reactis will track the test and step in which the value of
the test point or output port first fell within the interval. In addition to range intervals specified by min/max boundaries, a special
initial value interval y0 enables tracking whether the value
of the tracked item has ever changed from its initial value. Reactis can be configured to automatically create the not initial
value interval target ~y0 for each harness output in order to
track whether each output has changed from its initial value. This setting
can be configured by selecting Edit > Coverage Metrics, then
enabling Track whether outputs have changed from initial value.
C.2.2 Step Constraints for Inports of Integer Type
For any harness input, Reactis supports assigning a constraint that limits
the set of values Reactis generates for the input during test generation or
random simulation. For example, a constraint can specify a range consisting
of a minimum and maximum value. Prior to V2021.2, for inputs of type double
or single, a range could also include a step size (aka resolution). For
each element of a range with resolution, the difference between the value
and the minimum value is an integer multiple of the step size. For
example, the constraint double [1.0:2.0:5.0] specifies a minimum of
1.0, a step size of 2.0, and maximum 5.0 as a shorthand for the the set
1.0, 3.0, 5.0 . V2021.2 extends this facility to support step
constraints for inputs with integer types.
C.2.3 Performance Improvements When Running Test Suites
In a test suite generated by Reactis Tester, if two or more tests share a
common prefix of test steps, then the common steps are only stored once
instead of being duplicated. Starting in V2021.2, Reactis Simulator makes
use of this prefix sharing by only executing common prefixes
once. Depending on the test structure and especially for large models, this
can significantly reduce the time it takes to execute Tester-generated test
suites or generate reports in Reactis Simulator.
C.2.4 Improved Test Generation for Timer Targets
Covering targets that require a counter in the model to count up or down by
a certain number of steps is a hard problem for automatic test case generators
in general. Reactis has always provided a way for users to tag such counters/timers
(see section 9.3.3 in this manual). Tagging a counter allowed Reactis to observe
its value and focus on simulation steps that increase the count. Reactis V2021.2 improves on this feature by analyzing the conditions that
lead to the timer to increase. Reactis traces the relevant signals to the top-level
inputs of the model and attempts to actively produce input values that will increase
the timer.
C.2.5 Other Improvements
- Support for MATLAB R2021b.
- The analysis to flag dead code has been improved to identify more
targets as unreachable.
- For masked blocks and subsystems, the mask parameters and mask
initialization code are now shown in the block parameters dialog within
Reactis.
- Reactis now supports variant control expressions containing logical
operators. Previously, using such operators (
|| or && )
would produce errors during model import. - In Reactis Validator expressions placed in Stateflow charts, a new
in_state function can be used to determine whether a Stateflow
state (within the same chart) is currently active. The function argument
must be the full path of the state from the top-level of the chart.
C.3 Previous Major Release Dates
Major releases of Reactis prior to V2021.2 have occurred on the following dates: 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 |
|