Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

基于 DO-178C/DO-331 标准的模型合规性检查

您可以运行模型顾问来检查您的模型或子系统是否符合 DO-178C 安全标准的选定方面。

要检查是否符合 DO 标准,请打开模型顾问,并运行按任务 > DO-178C/DO-331 建模标准下面的检查。

表中列出了 DO-178C/DO-331 检查。

以下是适用于 DO-178C/DO-331 标准的高完整性系统建模检查。

用于高完整性系统建模的模型检查

您可以运行模型顾问来检查您的模型或子系统是否符合高完整性系统模型安全标准的选定方面。

要检查是否符合高完整性系统模型标准,请从以下模型顾问文件夹运行高完整性检查:

  • By Task > Modeling Standards for DO-178C/DO-331 > High-Integrity Systems

  • By Task > Modeling Standards for IEC 61508 > High-Integrity Systems

  • By Task > Modeling Standards for IEC 62304 > High-Integrity Systems

  • By Task > Modeling Standards for EN 50128/EN 50657 > High-Integrity Systems

  • By Task > Modeling Standards for ISO 26262 > High-Integrity Systems

  • By Task > Modeling Standards for ISO 25119 > High-Integrity Systems

有关机载系统和设备审定中高完整性系统模型软件注意事项及相关标准的信息,请参阅航空无线电技术委员会 (RTCA)

下表列出了高完整性系统模型检查及其对应的建模规范。有关高完整性建模规范的详细信息,请参阅高完整性系统建模

高完整性系统建模检查

高完整性系统模型检查适用的高完整性系统建模规范
Check usage of lookup table blocks hisl_0033: Usage of Lookup Table blocks
Check for inconsistent vector indexing methodshisl_0021: Consistent vector indexing method
Check usage of variant blockshisl_0023: Verification of variant blocks
Check for root Inports with missing propertieshisl_0024: Inport interface definition
Check usage of Relational Operator blockshisl_0017: Usage of blocks that compute relational operators (2)
Check usage of Relational Operator blocks
Check usage of Logical Operator blockshisl_0018: Usage of Logical Operator block
Check usage of While Iterator blockshisl_0006: Usage of While Iterator blocks
Check usage of For and While Iterator subsystemshisl_0007: Usage of For Iterator or While Iterator subsystems
Check usage of For Iterator blockshisl_0008: Usage of For Iterator Blocks
Check usage of If blocks and If Action Subsystem blockshisl_0010: Usage of If blocks and If Action Subsystem blocks
Check usage Switch Case blocks and Switch Case Action Subsystem blockshisl_0011: Usage of Switch Case blocks and Action Subsystem blocks
Check safety-related optimization settings for logic signalshisl_0045: Configuration Parameters > Math and Data Types > Implement logic signals as Boolean data (vs. double)
Check safety-related block reduction optimization settingshisl_0046: Configuration Parameters > Simulation Target > Block reduction
Check safety-related optimization settings for application lifespanhisl_0048: Configuration Parameters > Math and Data Types > Application lifespan (days)
Check safety-related optimization settings for data initializationhisl_0052: Configuration Parameters > Code Generation > Optimization > Data initialization
Check safety-related optimization settings for data type conversionshisl_0053: Configuration Parameters > Code Generation > Optimization > Remove code from floating-point to integer conversions that wraps out-of-range values
Check safety-related optimization settings for division arithmetic exceptionshisl_0054: Configuration Parameters > Code Generation > Optimization > Remove code that protects against division arithmetic exceptions
Check safety-related code generation settings for commentshisl_0038: Configuration Parameters > Code Generation > Comments
Check safety-related code generation interface settingshisl_0039: Configuration Parameters > Code Generation > Interface
Check safety-related code generation settings for code stylehisl_0047: Configuration Parameters > Code Generation > Code Style
Check safety-related code generation identifier settingshisl_0049: Configuration Parameters > Code Generation > Identifiers
Check usage of Abs blockshisl_0001: Usage of Abs block
Check usage of Math Function blocks (rem and reciprocal functions)hisl_0002: Usage of remainder and reciprocal operations
Check usage of Math Function blocks (log and log10 functions)hisl_0004: Usage of natural logarithm and base 10 logarithm operations
Check usage of Assignment blockshisl_0029: Usage of Assignment blocks
Check usage of Signal Routing blockshisl_0034: Usage of Signal Routing 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: State Machine Type
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 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 for Strong Data Typing with Simulink I/Ohisf_0009: Strong data typing (Simulink and Stateflow boundary)
Check for MATLAB Function interfaces with inherited propertieshiml_0002: Strong data typing at MATLAB function boundaries
Check MATLAB Function metricshiml_0003: Complexity of user-defined MATLAB Functions
Check MATLAB Code Analyzer messageshiml_0004: MATLAB Code Analyzer recommendations for code generation
Check safety-related model referencing settingshisl_0037: Configuration Parameters > Model Referencing
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 parametershisl_0302: Configuration Parameters > Diagnostics > Data Validity > Parameters
Check safety-related diagnostic settings for data used for debugginghisl_0305: Configuration Parameters > Diagnostics > Data Validity > 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 > Data Validity > 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 > Data Validity > Merge blocks
Check safety-related diagnostic settings for Stateflowhisl_0311: Configuration Parameters > Diagnostics > Stateflow
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 inappropriate use of transition pathshisf_0014: Usage of transition paths (passing through states)
Check usage of Bitwise Operator blockhisl_0019: Usage of bitwise operations
Check data types for blocks with index signalshisl_0022: Data type selection for index signals
Check model file namehisl_0031: Model file names
Check if/elseif/else patterns in MATLAB Function blockshiml_0006: MATLAB code if / elseif / else patterns
Check switch statements in MATLAB Function blockshiml_0007: MATLAB code switch / case / otherwise patterns
Check global variables in graphical functionshisl_0062: Global variables in graphical functions
Check for length of user-defined object nameshisl_0063: Length of user-defined object names to improve MISRA C:2012 compliance
Check usage of Merge blockshisl_0015: Usage of Merge blocks
Check usage of conditionally executed subsystemshisl_0012: Usage of conditionally executed subsystems
Check usage of standardized MATLAB function headershiml_0001: Usage of standardized MATLAB function headers
Check usage of relational operators in MATLAB Function blockshiml_0008: MATLAB code relational operator data types
Check usage of logical operators and functions in MATLAB Function blockshiml_0010: MATLAB code with logical operators and functions
Check type and size of conditional expressionshiml_0011: Data type and size of condition expressions
Check naming of ports in Stateflow chartshisf_0016: Stateflow port names
Check scoping of Stateflow data objectshisf_0017: Stateflow data object scoping
Check usage of Gain blockshisl_0066: Usage of Gain blocks
Check for divide-by-zero calculationshisl_0067: Protect against divide-by-zero calculations
Check usage of bitwise operations in Stateflow chartshisf_0003: Usage of bitwise operations
Check data type of loop control variableshisl_0102: Data type of loop control variables to improve MISRA C:2012 compliance
Check configuration parameters for MISRA C:2012hisl_0060: Configuration parameters that improve MISRA C:2012 compliance

Check for blocks not recommended for C/C++ production code deployment

Check for blocks not recommended for MISRA C:2012

hisl_0020: Blocks not recommended for MISRA C:2012 compliance

Check safety-related optimization settings for specified minimum and maximum values

hisl_0056: Configuration Parameters > Code Generation > Optimization > Optimize using the specified minimum and maximum values
Check usage of remainder and reciprocal operationshisl_0002: Usage of remainder and reciprocal operations
Check usage of square root operationshisl_0003: Usage of square root operations
Check usage of log and log10 operationshisl_0004: Usage of natural logarithm and base 10 logarithm operations
Check usage of Reciprocal Sqrt blockshisl_0028: Usage of Reciprocal Square Root blocks
Check safety-related settings for hardware implementationhisl_0071: Configuration Parameters > Hardware Implementation >Inconsistent hardware implementation settings
Check usage of recursionshisf_0004:防止递归函数调用以提高代码合规性

相关主题