Reactis User's Guide   Contents  |  Index
 Chapters:  1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | A | B | C

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.
images/versionLabel_web.png

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.1denotesthe first patch release for V2020
V2019.2.3denotesthe 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:

V2021July9,2021
V2020.2December18,2020
V2020July17,2020
V2019.2December20,2019
V2019June28,2019
V2018.2December20,2018
V2018June27,2018
V2017.2December22,2017
V2017July7,2017
V2016.2December22,2016
V2016June20,2016
V2015.2December18,2015
V2015June30,2015
V2014.2December19,2014
V2014June25,2014
V2013.2December17,2013
V2013August14,2013
V2012.2December19,2012
V2012June14,2012
V2011.2December20,2011
V2011June22,2011
V2010.2November19,2010
V2010February8,2010
V2009.2July22,2009
V2009January16,2009
V2008June10,2008
V2007October31,2007
V2006.2November6,2006
V2006January25,2006
V2005May18,2005
V2004.2December17,2004
V2004March3,2004
V2003.2October16,2003
V2003February4,2003
V2002June3,2002