Main Content

hisl_0007: Usage of For Iterator or While Iterator subsystems

R2026b

Avoid using sample time-dependent blocks within For Iterator or While Iterator subsystems

Usage: High-Integrity System Modeling

Guideline ID: hisl_0007

Rules

hisl_0007: Usage of For Iterator or While Iterator subsystems

To support unambiguous behavior, when using For Iterator Subsystem or While Iterator Subsystem, avoid using sample time-dependent blocks, such as integrators, filters, and transfer functions within the subsystems.

Rationale

Avoid ambiguous behavior from the subsystem.

Verification

Check usage of For and While Iterator subsystems (Simulink Check)

Example — Incorrect

The Discrete FIR Filter block is time-dependent and is in a For or While Iterator subsystem.

While Iterator subsystem containing Discrete FIR Filter and Unit Delay blocks, both with sample time -1

Industry Standards

  • DO-331, Section MB.6.3.2.g 'Algorithms are accurate'

  • 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'

  • MISRA C:2012, Rule 14.2
    MISRA C:2012, Rule 16.4
    MISRA C:2012, Dir 4.1

  • MISRA C:2023, Rule 14.2
    MISRA C:2023, Rule 16.4
    MISRA C:2023, Dir 4.1

Version History

Introduced in R2010a

expand all