Documentation

Model Checks for IEC 61508, IEC 62304, ISO 26262, and EN 50128 Standard Compliance

You can check that your model or subsystem complies with selected aspects of the following safety standards by running the Model Advisor:

  • IEC 61508-3 Functional safety of electrical/electronic/programmable electronic safety-related systems - Part 3: Software requirements

  • IEC 62304 Medical device software - Software life cycle processes

  • ISO 26262-6 Road vehicles - Functional safety - Part 6: Product development: Software level

  • EN 50128 Railway applications - Communications, signalling and processing systems - Software for railway control and protection systems

To check compliance with these standards, open the Model Advisor and run the checks in these folders.

  • By Task > Modeling Standards for IEC 61508

  • By Task > Modeling Standards for IEC 62304

  • By Task > Modeling Standards for ISO 26262

  • By Task > Modeling Standards for EN 50128

The table lists the IEC 61508, IEC 62304, ISO 26262, and EN 50128 checks. Applicable guidelines are provided for checks used in High-Integrity System Modeling (Simulink).

IEC 61508, IEC 62304, ISO 26262, and EN 50128 ChecksApplicable High-Integrity System Modeling Guidelines
Display configuration management dataNot applicable
Display model metrics and complexity reportNot applicable
Check for unconnected objectsNot applicable
Check usage of lookup table blockshisl_0033: Usage of Lookup Table blocks
Check for inconsistent vector indexing methodshisl_0021: Consistent vector indexing method
Check for blocks not recommended for C/C++ production code deploymenthisl_0020: Blocks not recommended for MISRA C:2012 compliance
Check for variant blocks with 'Generate preprocessor conditionals' activehisl_0023: Verification of model and subsystem variants
Check for root Inports with missing propertieshisl_0024: Inport interface definition
Check usage of Math Operations blocks
Check usage of Signal Routing blockshisl_0034: Usage of Signal Routing blocks
Check usage of Logic and Bit Operations blocks
Check usage of Ports and Subsystems blocks
Check for root Inports with missing range definitionshisl_0025: Design min/max specification of input interfaces
Check for root Outports with missing range definitionshisl_0026: Design min/max specification of output interfaces
Check state machine type of Stateflow chartshisf_0001: Mealy and Moore semantics
Check Stateflow charts for transition paths that cross parallel state boundarieshisf_0013: Usage of transition paths (crossing parallel state boundaries)
Check Stateflow charts for ordering of states and transitionshisf_0002: User-specified state/transition execution order
Check Stateflow debugging optionshisf_0011: Stateflow debugging settings
Check Stateflow charts for uniquely defined data objectshisl_0061: Unique identifiers for clarity
Check Stateflow charts for strong data typinghisf_0015: Strong data typing (casting variables and parameters in expressions)
Check usage of shift operations for Stateflow datahisf_0064: Shift operations for Stateflow data to improve code compliance
Check assignment operations in Stateflow chartshisf_0065: Type cast operations in Stateflow to improve code compliance
Check Stateflow charts for unary operatorshisf_0211: Protect against use of unary operators in Stateflow Charts to improve code compliance
Check usage of Stateflow constructs
Check for MATLAB Function interfaces with inherited propertieshiml_0002: Strong data typing at MATLAB function boundaries
Check MATLAB Function metricshiml_0003: Limitation of MATLAB function complexity
Check MATLAB Code Analyzer messageshiml_0004: MATLAB Code Analyzer recommendations for code generation
Check MATLAB code for global variableshiml_0005: Usage of global variables in MATLAB functions
Check safety-related optimization settings
Check safety-related model referencing settingshisl_0037: Configuration Parameters > Model Referencing
Check safety-related code generation settings
Check safety-related diagnostic settings for solvershisl_0043: Configuration Parameters > Diagnostics > Solver
Check safety-related solver settings for simulation timehisl_0040: Configuration Parameters > Solver > Simulation time
Check safety-related solver settings for solver optionshisl_0041: Configuration Parameters > Solver > Solver options
Check safety-related solver settings for tasking and sample-timehisl_0042: Configuration Parameters > Solver > Tasking and sample time options
Check safety-related diagnostic settings for sample timehisl_0044: Configuration Parameters > Diagnostics > Sample Time
Check safety-related diagnostic settings for signal datahisl_0005: Usage of Product blocks
Check safety-related diagnostic settings for parametershisl_0302: Configuration Parameters > Diagnostics > Data Validity > Parameters
Check safety-related diagnostic settings for data used for debugginghisl_0305: Configuration Parameters > Diagnostics > Debugging
Check safety-related diagnostic settings for data store memoryhisl_0013: Usage of data store blocks
Check safety-related diagnostic settings for type conversionshisl_0309: Configuration Parameters > Diagnostics > Type Conversion
Check safety-related diagnostic settings for signal connectivityhisl_0306: Configuration Parameters > Diagnostics > Connectivity > Signals
Check safety-related diagnostic settings for bus connectivityhisl_0307: Configuration Parameters > Diagnostics > Connectivity > Buses
Check safety-related diagnostic settings that apply to function-call connectivityhisl_0308: Configuration Parameters > Diagnostics > Connectivity > Function calls
Check safety-related diagnostic settings for compatibilityhisl_0301: Configuration Parameters > Diagnostics > Compatibility
Check safety-related diagnostic settings for model initializationhisl_0304: Configuration Parameters > Diagnostics > Model initialization
Check safety-related diagnostic settings for model referencinghisl_0310: Configuration Parameters > Diagnostics > Model Referencing
Check safety-related diagnostic settings for savinghisl_0036: Configuration Parameters > Diagnostics > Saving
Check safety-related diagnostic settings for Merge blockshisl_0303: Configuration Parameters > Diagnostics > Merge block
Check safety-related diagnostic settings for Stateflowhisl_0311: Configuration Parameters > Diagnostics > Stateflow
Check safety-related optimization settings for Loop unrolling thresholdhisl_0051: Configuration Parameters > Optimization > Signals and Parameters > Loop unrolling threshold
Check model object nameshisl_0032: Model object names
Check for model elements that do not link to requirementshisl_0070: Placement of requirement links in a model
Check for blocks not recommended for MISRA C:2012hisl_0020: Blocks not recommended for MISRA C:2012 compliance
Check configuration parameters for MISRA C:2012hisl_0060: Configuration parameters that improve MISRA C:2012 compliance
Display bug reports for Embedded CoderNot applicable
Display bug reports for IEC Certification KitNot applicable
Display bug reports for Polyspace Code ProverNot applicable
Display bug reports for Polyspace Bug FinderNot applicable
Display bug reports for Simulink Design VerifierNot applicable
Display bug reports for Simulink CheckNot applicable
Display bug reports for Simulink CoverageNot applicable
Display bug reports for Simulink TestNot applicable

Related Topics

Was this topic helpful?