Documentation

Model Checks for DO-178C/DO-331 Standard Compliance

You can check that your model or subsystem complies with selected aspects of the DO-178C safety standard by running the Model Advisor.

To check compliance with DO standards, open the Model Advisor and run the checks in By Task > Modeling Standards for DO-178C/DO-331.

For information on the DO-178C Software Considerations in Airborne Systems and Equipment Certification and related standards, see Radio Technical Commission for Aeronautics (RTCA) .

The table lists the DO-178C/DO-331 checks. Applicable guidelines are provided for checks used in High-Integrity System Modeling (Simulink).

DO-178C/DO-331 CheckApplicable High-Integrity System Modeling Guidelines
Display model version informationNot 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
Check for Discrete-Time Integrator blocks with initial condition uncertaintyNot applicable
Check root model Inport block specificationsNot applicable
Identify unconnected lines, input ports, and output portsNot applicable
Check usage of tunable parameters in blocksNot applicable
Check for Strong Data Typing with Simulink I/ONot applicable
Check for blocks that have constraints on tunable parametersNot applicable
Identify questionable subsystem settingsNot applicable
Check bus signals treated as vectorsNot applicable
Check for potentially delayed function-call subsystem return valuesNot applicable
Check usage of Merge blocksNot applicable
Check Stateflow data objects with local scopeNot applicable
Check usage of exclusive and default states in state machinesNot applicable
Identify disabled library linksNot applicable
Identify parameterized library linksNot applicable
Identify unresolved library linksNot applicable
Check for model reference configuration mismatchNot applicable
Check for parameter tunability information ignored for referenced modelsNot applicable
Identify requirement links with missing documentsNot applicable
Identify requirement links that specify invalid locations within documentsNot applicable
Identify selection-based links having descriptions that do not match their requirements document textNot applicable
Identify requirement links with path type inconsistent with preferencesNot applicable
Check sample times and tasking modeNot applicable
Check solver for code generationNot applicable
Check the hardware implementationNot applicable
Display bug reports for DO Qualification KitNot applicable
Display bug reports for Embedded CoderNot applicable
Display bug reports for Polyspace Code ProverNot applicable
Display bug reports for Polyspace Bug FinderNot applicable
Display bug reports for Simulink Code InspectorNot applicable
Display bug reports for Simulink Report GeneratorNot applicable
Display bug reports for Simulink CheckNot applicable
Display bug reports for Simulink CoverageNot applicable
Display bug reports for Simulink TestNot applicable
Display bug reports for Simulink Design VerifierNot applicable

Related Topics

Was this topic helpful?