In order to focus on the important, it helps to identify and tune out the unimportant. Reactis V2011.2 helps you do this in your testing by letting you configure how Reactis tracks coverage in order to tune out targets unimportant to your task at hand. For example, if your model includes no Stateflow diagrams, then you can instruct Reactis to include no Stateflow-related targets as goals for test generation, in visual feedback during simulation, or in coverage reports generated for your model. Or if your current model does not require obtaining coverage at the level of Modified Condition/Decision Coverage (MC/DC), then you can turn off MC/DC for a model.
Another new feature of V2011.2 lets you turn off all coverage tracking for any subsystem in your model. This capability comes in handy if your model references a well-tested library that is not a focus of your current test efforts. In this case, you can turn off all coverage tracking within the library subsystem in order to concentrate your attention on the non-library portion of your model.
V2011.2 also contains a new coverage metric that helps you construct test suites that more thoroughly exercise Stateflow diagrams. Child State Exit via Parent Transition (CSEPT) coverage lets you track whether each transition exiting a state with child states, causes each child to exit. For example, consider the Stateflow diagram below. The state On has three child states: Inactive, Active, and Init. CSEPT coverage tracks whether the transition from On to Off has fired when On is in each of its child states. So in this case there are three CSEPT targets. Namely the transition from On to Off fires when:
Enhanced Test Suite Browsing
Several enhancements to the Reactis Test Suite Browser continue with our theme of helping you focus on the important. Recall that the Test Suite Browser lets you display each test as a matrix where the rows correspond to the inputs and outputs of the model and the columns correspond to test steps. You can now hide both rows and columns to concentrate certain parts of a test. To hide rows simply select a subset of rows and select Filter -> Hide Selected Rows. A new Filter entry box in the toolbar lets you search for columns (test steps) that satisfy a given search condition. For example, to see all test steps for a cruise control test suite in which the brake is pressed, simply enter brake == 1 as the test step filter.
HTML Test Execution Reports
Simply load a test suite in Simulator and select Simulate -> Fast Run with Report to generate an HTML test execution report like the one shown below. For each test, the report lists any runtime errors or assertion violations that occurred as well as any differences between values stored in the tests and those computed by the model.
Several new features improve the experience of stepping through model execution in Reactis Simulator. You can now pause a slow simulation mid-step. Previously, when you pressed pause, Reactis completed the currently executing simulation step, which can take significant time for large models or C code bases. You can also now back up to the start of the current step when Reactis is paused mid-step.
When using the Reactis for C Plugin and executing a model containing C code in Simulator, you can now step backwards one C statement at a time. If a test suite uncovers an error, you can execute right up to the error and then back up one C statement at a time in order to diagnose the problem.
Newly Supported Simulink® FeaturesReactis V2011.2 includes:
Synergy Between Reactis and Reactis for C
In March of this year, Reactive Systems launched a new product Reactis for C which supports the test and validation of C code that is not incorporated into a model. You can generate test cases directly from C code and in the process detect runtime errors, check assertions, and track coverage. If you use a model-based design process and C as your implementation language, you might benefit from synergies available when using Reactis for C (the new product) in combination with Reactis for Simulink. Use-cases shown below demonstrate some of the ways the two versions can be used collaboratively. Note, that both tools support the same test suite file format to facilitate interoperability.
As shown above, thanks to the common test suite file format, you can generate tests from a model using Reactis for Simulink and run those tests on C code using Reactis for C. This lets you visualize C code coverage and flag any differences in behavior.
The basic steps performed during this process are as follows:
Alternatively, the work flow can proceed from Code to model as shown above.