Detect Read-Before-Write Issues
If you have Simulink® Design Verifier™, you can analyze the table to identify read-before-write issues in the requirements in a Requirements Table block. Read-before-write issues occur when a requirement attempts to read data that has not yet been defined. For more information on table analysis and the types of issues it detects, see Analyze Requirements Table Blocks for Modeling Problems.
Analyze the Block for Read-Before-Write Issues
To analyze the block, in the Table tab of the toolstrip, click
Analyze Table. If there are
issues in the block, the Analysis Results pane displays additional
information. For example, in this table, the first requirement reads the output data
y2
before y2
has an assigned value.
When you analyze the example table, the Analysis Results pane displays additional information on the read-before-write issue.
Resolve Read-Before-Write Issues
You can resolve read-before-write issues by modifying the table to not call output data in preconditions and postconditions. Alternatively, you can create requirement preconditions that rely on output data if you list the requirements in order and enable the Enable outputs in preconditions property in the block. See Enable outputs in preconditions. For example, the model used in Example Using Requirement Order does not produce requirement issues because the requirement order specifies the local data before the other requirements need it. If you change the order of the requirements so that Requirements 3 and 4 are listed first, then analyze the requirements, the analysis finds two read-before-write issues. For more information on specifying requirement order to prevent or resolve issues, see Leverage Evaluation Order of Formal Requirements
Note
If you write more than two requirements that read the same data before the data is written, the analysis detects the issue in only the first listed requirement with the issue. After resolving the issue, rerun the analysis to detect the next read-before-write issue.