hisl_0005: Usage of Product blocks
R2026bProtect divisor inputs from becoming singular matrices in Product blocks
Usage: High-Integrity System Modeling
Guideline ID: hisl_0005
Prerequisite: hisl_0314: Configuration Parameters > Diagnostics > Data Validity > Signals
Rules
| hisl_0005: Usage of Product blocks |
|---|
When the Product block
parameter Multiplication is set to
Rationale Protect against overflows and support robustness of generated code. Verification Adherence to this modeling guideline cannot be verified by using a Model Advisor check. |
Tips
When using Product blocks to compute the inverse of a matrix, or a matrix division, you might get a divide by a singular matrix. This division results in a
NaNoutput. To avoid overflows, protect divisor inputs from becoming singular input matrices.
Industry Standards
IEC 61508-3, Table A.3 (3) 'Language subset'
IEC 61508-3, Table A.4 (3) 'Defensive programming'IEC 62304, 5.5.3 - Software Unit acceptance criteria
ISO 26262-6, Table 1 (1b) 'Use of language subsets'
ISO 26262-6, Table 1 (1d) 'Use of defensive implementation techniques'EN 50128, Table A.4 (11) 'Language Subset'
EN 50128, Table A.3 (1) 'Defensive Programming'EN 50657, Table A.4 (11) 'Language Subset'
EN 50657, Table A.3 (1) 'Defensive Programming'EN 50716, Table A.3 (1) 'Defensive Programming'
DO-331, Section MB.6.3.2.g 'Algorithms are accurate
MISRA C:2012, Dir 4.1
MISRA C:2023, Dir 4.1