Contenu principal

Stateflow® debugging settings

R2026b

Protect against unreachable code and indeterminate execution time by configuring Stateflow debugging settings

Rules

hisf_0011: Stateflow debugging settings
A

To protect against unreachable code and indeterminate execution time, set configuration parameters Wrap on overflow and Simulation range checking to error.

In the model, open the Debug tab and select Diagnostics > Detect Cyclical Behavior

Rationale

Protect against unreachable code and unpredictable execution time.

Verification

Check Stateflow debugging options (Simulink Check)

B

To protect against unreachable code and indeterminate execution time, right-click on each truth table in the model and select Properties. Set these parameters to Error:

  • Underspecification

  • Overspecification

Rationale

Protect against unreachable code and unpredictable execution time.

Verification

Check Stateflow debugging options (Simulink Check)

Industry Standards

  • DO-331, Section MB.6.3.2.b 'Low-level requirements are accurate and consistent'

  • DO-331, Section MB.6.3.3.d 'Software architecture is verifiable'

  • IEC 61508-3, Table A.3 (2) 'Strongly typed programming language'

  • IEC 61508-3, Table A.3 (3) - Language subset

  • IEC 61508-3, Table A.4 (5) - Design and coding standards

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1b) - 'Use of language subsets'

  • ISO 26262-6, Table 1 (1c) 'Enforcement of strong typing'

  • ISO 26262-6, Table 1 (1d) - 'Use of defensive implementation techniques'

  • ISO 26262-6, Table 1 (1e) - 'Use of well-trusted design principles'

  • ISO 26262-6, Table 1 (1f) - 'Use of unambiguous graphical representation

  • EN 50128, Table A.3 (1) - Defensive Programming

  • EN 50128, Table A.4 (8) 'Strongly Typed Programming Language'

  • EN 50128, Table A.4 (11) - Language Subset

  • EN 50657, Table A.3 (1) - Defensive Programming

  • EN 50657, Table A.4 (8) 'Strongly Typed Programming Language'

  • EN 50657, Table A.4 (11) - Language Subset

  • EN 50716, Table A.3 (1) - Defensive Programming

Tips

  • Run-time diagnostics are only triggered during simulation. If the error condition is not reached during simulation, the error message is not triggered for code generation.

Industry Standards

  • DO-331, Section MB.6.3.2.b 'Low-level requirements are accurate and consistent'

  • DO-331, Section MB.6.3.3.d 'Software architecture is verifiable'

  • IEC 61508-3, Table A.3 (2) 'Strongly typed programming language'

  • IEC 61508-3, Table A.3 (3) - Language subset

  • IEC 61508-3, Table A.4 (5) - Design and coding standards

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1b) - 'Use of language subsets'

  • ISO 26262-6, Table 1 (1c) 'Enforcement of strong typing'

  • ISO 26262-6, Table 1 (1d) - 'Use of defensive implementation techniques'

  • ISO 26262-6, Table 1 (1e) - 'Use of well-trusted design principles'

  • ISO 26262-6, Table 1 (1f) - 'Use of unambiguous graphical representation

  • EN 50128, Table A.3 (1) - Defensive Programming

  • EN 50128, Table A.4 (8) 'Strongly Typed Programming Language'

  • EN 50128, Table A.4 (11) - Language Subset

  • EN 50657, Table A.3 (1) - Defensive Programming

  • EN 50657, Table A.4 (8) 'Strongly Typed Programming Language'

  • EN 50657, Table A.4 (11) - Language Subset

  • EN 50716, Table A.3 (1) - Defensive Programming

Version History

Introduced in R2010a

expand all