HIS高完整性建模规范有助于您为系统建模生成符合 MISRA C:2012 编码标准的代码的可能性。使用针对这些规范的合规性检查以增强模型到代码的MISRA C:2012 一致性。
建模风格
hisl_0032: Model element nameshisl_0061: Unique identifiers for clarityhisl_0062: Global variables in graphical functionshisl_0063: Length of user-defined object names to improve MISRA C:2012 compliance
模块用法
hisl_0020: Blocks not recommended for MISRA C:2012 compliancehisl_0101: Avoid operations that result in dead logic to improve code compliancehisl_0102: Data type of loop control variables to improve MISRA C:2012 compliance
配置设置
hisl_0060: Configuration parameters that improve MISRA C:2012 compliance
Stateflow 图注意事项
hisf_0065: Type cast operations in Stateflow to improve code compliancehisf_0211: Protect against use of unary operators in Stateflow Charts to improve code compliance
High-Integrity System Modeling Guidelines
hisl_0033: Usage of Lookup Table blocks
hisl_0021: Consistent vector indexing method
hisl_0023: Verification of variant blocks
hisl_0024: Inport interface definition
hisl_0017: Usage of blocks that compute relational operators (2)
hisl_0016: Usage of blocks that compute relational operators
hisl_0018: Usage of Logical Operator block
hisl_0006: Usage of While Iterator blocks
hisl_0007: Usage of For Iterator or While Iterator subsystems
hisl_0008: Usage of For Iterator Blocks
hisl_0010: Usage of If blocks and If Action Subsystem blocks
hisl_0011: Usage of Switch Case blocks and Action Subsystem blocks
hisl_0045: Configuration Parameters > Math and Data Types > Implement logic signals as Boolean data (vs. double)
hisl_0048: Configuration Parameters > Math and Data Types > Application lifespan (days)
hisl_0052: Configuration Parameters > Code Generation > Optimization > Data initialization
hisl_0053: Configuration Parameters > Code Generation > Optimization > Remove code from floating-point to integer conversions that wraps out-of-range values
hisl_0054: Configuration Parameters > Code Generation > Optimization > Remove code that protects against division arithmetic exceptions
hisl_0038: Configuration Parameters > Code Generation > Comments
hisl_0039: Configuration Parameters > Code Generation > Interface
hisl_0047: Configuration Parameters > Code Generation > Code Style
hisl_0049: Configuration Parameters > Code Generation > Identifiers
hisl_0001: Usage of Abs block
hisl_0002: Usage of remainder and reciprocal operations
hisl_0003: Usage of square root operations
hisl_0004: Usage of natural logarithm and base 10 logarithm operations
hisl_0029: Usage of Assignment blocks
hisl_0034: Usage of Signal Routing blocks
hisl_0025: Design min/max specification of input interfaces
hisl_0026: Design min/max specification of output interfaces
hisf_0001: State Machine Type
hisf_0013: Usage of transition paths (crossing parallel state boundaries)
hisf_0002: User-specified state/transition execution order
hisf_0011: Stateflow debugging settings
hisl_0061: Unique identifiers for clarity
hisf_0015: Strong data typing (casting variables and parameters in expressions)
hisf_0065: Type cast operations in Stateflow to improve code compliance
hisf_0211: Protect against use of unary operators in Stateflow Charts to improve code compliance
himl_0002: Strong data typing at MATLAB function boundaries
himl_0003: Complexity of user-defined MATLAB Functions
himl_0004: MATLAB Code Analyzer recommendations for code generation
hisl_0037: Configuration Parameters > Model Referencing
hisl_0043: Configuration Parameters > Diagnostics > Solver
hisl_0040: Configuration Parameters > Solver > Simulation time
hisl_0041: Configuration Parameters > Solver > Solver options
hisl_0042: Configuration Parameters > Solver > Tasking and sample time options
hisl_0044: Configuration Parameters > Diagnostics > Sample Time
hisl_0302: Configuration Parameters > Diagnostics > Data Validity > Parameters
hisl_0305: Configuration Parameters > Diagnostics > Data Validity > Debugging
hisl_0013: Usage of data store memory
hisl_0309: Configuration Parameters > Diagnostics > Type Conversion
hisl_0306: Configuration Parameters > Diagnostics > Connectivity > Signals
hisl_0307: Configuration Parameters > Diagnostics > Connectivity > Buses
hisl_0308: Configuration Parameters > Diagnostics > Connectivity > Function calls
hisl_0301: Configuration Parameters > Diagnostics > Compatibility
hisl_0304: Configuration Parameters > Diagnostics > Data Validity > Model initialization
hisl_0310: Configuration Parameters > Diagnostics > Model Referencing
hisl_0036: Configuration Parameters > Diagnostics > Saving
hisl_0303: Configuration Parameters > Diagnostics > Data Validity > Merge blocks
hisl_0311: Configuration Parameters > Diagnostics > Stateflow
hisl_0032: Model element names
hisl_0070: Placement of requirement links in a model
hisf_0014: Usage of transition paths (passing through states)
hisl_0019: Usage of bitwise operations
hisl_0022: Data type selection for index signals
hisl_0031: Model file names
himl_0006: MATLAB code if / elseif / else patterns
himl_0007: MATLAB code switch / case / otherwise patterns
hisl_0062: Global variables in graphical functions
hisl_0063: Length of user-defined object names to improve MISRA C:2012 compliance
hisl_0015: Usage of Merge blocks
himl_0001: Usage of standardized MATLAB function headers
himl_0008: MATLAB code relational operator data types
himl_0010: MATLAB code with logical operators and functions
himl_0011: Data type and size of condition expressions
hisf_0016: Stateflow port names
hisf_0017: Stateflow data object scoping
hisl_0066: Usage of Gain blocks
hisl_0067: Protect against divide-by-zero calculations
hisl_0102: Data type of loop control variables to improve MISRA C:2012 compliance
hisl_0060: Configuration parameters that improve MISRA C:2012 compliance
hisl_0020: Blocks not recommended for MISRA C:2012 compliance
hisl_0056: Configuration Parameters > Code Generation > Optimization > Optimize using the specified minimum and maximum values
hisl_0028: Usage of Reciprocal Square Root blocks
hisl_0071: Configuration Parameters > Hardware Implementation >Inconsistent hardware implementation settings
hisf_0004: Protect against recursive function calls to improve code compliance
himl_0012: Usage of MATLAB functions for code generation
himl_0013: Limitation of built-in MATLAB Function complexity
hisl_0072: Usage of tunable parameters for referenced models
hisl_0073: Usage of bit-shift operations
hisl_0074: Configuration Parameters > Diagnostics > Modeling issues related to variants
hisl_0075: Usage of library links
hisl_0101: Avoid operations that result in dead logic to improve code compliance
hisl_0077: Outport interface definition
hisl_0078: Usage of identical modeling patterns
hisl_0079: Connections to root input/output ports
参考来源:https://ww2.mathworks.cn/help/simulink建模HIS 规范