FAQ: Reactis for Simulink - Loading Models in Reactis
What model preparation needs to be done to run Tester?
In brief, you should:
Why do I get Reactis was unable to invoke MATLAB when I try to simulate or generate tests in Reactis?
When importing models for test generation or simulation, Reactis invokes MATLAB in the background to perform various tasks. When you see the above error, this indicates that Reactis encountered a problem when it attempted to invoke MATLAB. If this occurs, try the following troubleshooting steps.
Can Reactis process models containing S-Functions?
Yes. In the base Reactis product, S-Functions can be executed, but they are treated as black boxes, and coverage of targets within S-Functions (for example, branches) is not tracked.
The Reactis for C Plugin integrates seamlessly with Reactis to offer white-box testing and validation of the C-code portions of models (S-Functions and C code called from Stateflow). Together, Reactis and Reactis for C Plugin automate the generation of test data from, and validation of models constructed with Simulink, Stateflow, and C code.
A separate license is required to use the Reactis for C Plugin. If your organization does not yet
own such a license please contact firstname.lastname@example.org to inquire about purchase
options or to obtain a demo license for the product. Reactis for C Plugin requires base Reactis to run.
Can Reactis process models containing embedded MATLAB?
Yes. Reactis V2012 added support for Embedded MATLAB (EML) code. Note, currently a subset of the full language is supported, i.e. not all functions, data types and features of the EML language are supported. Support for additional features of the language are gradually being added. Please see Section 14.4 of the Reactis User's Guide for a list of currently supported features.
Embedded MATLAB support in the base Reactis for Simulink product is
black-box only, meaning Reactis can execute the code but it is not possible
to track coverage or to single-step through the code within Reactis. If
you purchase the Reactis for EML Plugin, you obtain white-box support
including coverage tracking and stepping through EML code.
Does Reactis support Simulink block "X"?
Chapter Preparing Models for Use with Reactis of the Reactis User's Guide contains a description of which MATLAB/Simulink/Stateflow
features are supported by Reactis. Please see Section 14.2.3 of the Reactis User's Guide
for a table detailing which blocks are supported specifically.
Can Reactis process models containing TargetLink blocks?
Yes. TargetLink is an automatic code generator
produced by dSPACE GmbH.
If you are using TargetLink 3.0 or later, you can use the full blockset when working with
Reactis. If you are using an older version, then you must use the standalone
TargetLink blockset. To switch between the full TargetLink blockset
and the standalone blockset, execute tl_switch_blockset from
the MATLAB command line prompt. To query the current mode,
Can Reactis process multi-rate models?
Yes. Reactis interprets sample times defined in your model exactly
as Simulink does.
Why do I get Reactis was unable to load MATLAB shared libraries when I try to simulate / generate tests from my model in Reactis?
For some models, Reactis needs to invoke MATLAB to evaluate expressions from the model. When you see the above error, this indicates that Reactis was unable to locate the part of the MATLAB installation (specifically, the dynamically loaded library [.dll] files) needed to evaluate the expression in question.
One source of the problem may be that you do not have MATLAB available on the machine on which you are running Reactis. You can check this by trying to invoke MATLAB by hand. If you are unable to do so, you must make arrangements to have MATLAB installed.
If MATLAB is installed, please consult the MATLAB tab of the
Reactis Settings dialog
(accessed by selecting File, Settings...
from the top-level Reactis window)
to check that the Use MATLAB version
pull-down specifies the version of MATLAB that you intend for Reactis
When I try to load my model file I get an error message like Couldn't find library file simulink.mdl. Why?
In order to process Simulink models, Reactis needs access to the block libraries included in the Simulink distribution. These libraries are not libraries in the traditional, systems-programming sense of the word (i.e. they are not .dll files); rather, they are plain-text files that Simulink treats as libraries. For this reason, the MATLAB installer does not add the folders containing these files to the Windows search path. Reactis therefore must maintain its own search path for these folders. The likely source of the error is that your Reactis search path does not contain the relevant entry. To check whether or not this is the case, select the File, Settings... menu from the top-level Reactis window. The Path tab of the resulting dialog includes a list of folders. One of the entries should have the form
MATLABHOME\toolbox\simulink\blocks(for MATLAB R2010b or earlier), or
MATLABHOME\toolbox\simulink\blocks\library(for MATLAB R2011a or later) where MATLABHOME is the name of the main MATLAB installation folder. The default name for the installation folder is:
For 32-bit installations the location is:
c:\Program Files (x86)\MATLAB\R2015b
If the relevant entry is missing from your Reactis library path, then click the Add button and add the missing folder.
Note that the Reactis installer automatically adds the necessary
directories to the search path, so re-installing Reactis should resolve
I get errors loading my model into Reactis, even though the model loads without problem into Simulink. Why?There are two possible causes of this problem.
Why doesn't Reactis recognize a workspace variable in my model?
Although Reactis may invoke MATLAB to perform some tasks, Reactis does not directly interact with an executing MATLAB session in the same way that Simulink does. Consequently, any workspace data items that a model uses must be attached to a model in a way such that they are automatically initialized when the model is loaded. There are several ways to automatically load the data items:
For example: for the cruise-control model included in the Reactis release, the file cruise_constants.m defines two workspace variables that are used in cruise.slx. One attaches cruise_constants.m to cruise.slx as follows:
Why do I get a Mismatched Simulink version warning?
This warning is issued when you load a model that was created with a version of Simulink that differs from the version that Reactis is configured to use. There are a couple of ways to eliminate the warning.