Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

MAB 和 JMAAB 合规性的模型检查

您可以使用模型顾问来验证您的模型或子系统是否符合 MathWorks® 咨询委员会 (MAB) 和日本 MATLAB® 汽车咨询委员会 (JMAAB) 建模规范。

访问 MAB 和 JMAAB 模型顾问检查

要打开模型顾问,请在 Simulink® 编辑器中,点击建模选项卡并选择模型顾问。将打开 System Selector ― Model Advisor 对话框。选择要查看的模型或系统,然后点击确定

MAB 检查可从以下模型顾问文件夹中获得:

  • 按产品 > Simulink Check > 建模标准 > MAB 检查

  • 按任务 > MAB 建模标准

JMAAB 检查可从以下模型顾问文件夹中获得:

  • 按产品 > Simulink Check > 建模标准 > JMAAB 检查

  • 按任务 > JMAAB 建模标准

有关使用模型顾问的信息,请参阅Run Model Advisor Checks and Review Results

MAB 和 JMAAB 的建模规范和模型顾问检查

下表列出了 MathWorks 咨询委员会 (MAB) 规范、对应的日本 MathWorks 汽车咨询委员会 (JMAAB) 规范,以及您可用于验证是否符合这些规范的模型顾问检查。表中的其他信息包括:

  • MAB 建模规范 - 链接到 MathWorks 咨询委员会 (MAB) 规范。

  • 对应的 JMAAB 建模规范 - 标识对应于 MAB 规范的 JMAAB 建模规范。要查看规范,请参阅 MathWorks 网站上的使用 MATLABSimulinkStateflow 的控制算法建模规范。

  • 模型顾问检查 - 提供模型顾问检查的链接,该检查用于验证是否符合建模规范。

    如果适用,此列说明为什么规范没有对应的检查:

    • 无检查 - 表示可以使用模型顾问检查来检查规范,但该检查当前不存在。

    • 不可检查 - 表示无法通过使用模型顾问检查来验证是否符合此规范。

MAB 建模规范

(版本 5.0)

对应的 JMAAB 建模规范

(版本 5.1)

模型顾问检查

ar_0001: Usable characters for file names

ar_0001Check file names
ar_0002: Usable characters for folder names

ar_0002

Check folder names
jc_0241: Length restriction for model file names

jc_0241

Check length of model file name
jc_0242: Length restriction for folder names

jc_0242

Check length of folder name at every level of model path
jc_0201: Usable characters for subsystem names

jc_0201

Check Subsystem names
jc_0231: Usable characters for block names

jc_0231

Check character usage in block names
jc_0211: Usable characters for Inport blocks and Outport block

jc_0211

Check port block names
jc_0243: Length restriction for subsystem names

jc_0243

Check length of subsystem names
jc_0247: Length restriction for block names

jc_0247

Check length of block names
jc_0244: Length restriction for Inport and Outport names

jc_0244

Check length of Inport and Outport names
jc_0222: Usable characters for signal and bus names

jc_0222

Check usable characters for signal names and bus names
jc_0232: Usable characters for parameter names

jc_0232

Check usable characters for parameter names
jc_0245: Length restriction for signal and bus names

jc_0245

Check length of signal and bus names
jc_0246: Length restriction for parameter name

jc_0246

Check length of parameter names
jc_0795: Usable characters for Stateflow data names

jc_0795

Check usable characters for Stateflow data names
jc_0796: Length restriction for Stateflow data names

jc_0796

Check length of Stateflow data name
jc_0791: Duplicate data name definitions

jc_0791

Check duplication of Simulink data names
jc_0792: Unused Data

jc_0792

Check unused data in Simulink Model
jc_0700: Unused data in Stateflow block

jc_0700

Check for unused data in Stateflow Charts
na_0019: Restricted variable names没有对应的 JMAAB 规范Check usage of restricted variable names
jc_0011:布尔数据类型的优化参数

jc_0011

Check Implement logic signals as Boolean data (vs. double)
jc_0642: Integer rounding mode setting

jc_0642

Check Signed Integer Division Rounding mode
jc_0806: Detecting incorrect calculation results

jc_0806

Check diagnostic settings for incorrect calculation results

jc_0021: Model diagnostic settings

没有对应的 JMAAB 规范Check model diagnostic parameters

na_0004: Simulink model appearance settings

na_0004

Check for Simulink diagrams using nonstandard display attributes
db_0043: Model font and font size

db_0043

Check Model font settings
jm_0002: Block resizingjm_0002无检查
db_0142: Position of block names

db_0142

Check whether block names appear below blocks
jc_0061: Display of block names

jc_0061

Check the display attributes of block names

db_0140: Display of block parameters

db_0140

Check for nondefault block attributes
jc_0603: Model description

jc_0603

Check Model Description
jc_0604: Using block shadow

jc_0604

Check if blocks are shaded in the model
db_0081: Unconnected signals and blocks

db_0081

Check for unconnected signal lines and blocks
db_0032: Signal line connections

db_0032

Check signal line connections
db_0141: Signal flow in Simulink models

db_0141

Check signal flow in model Check position of signal labels
jc_0110: Direction of block

jc_0110

Check block orientation
jc_0171: Clarification of connections between structural subsystems

jc_0171

Check connections between structural subsystems
jc_0602: Consistency in model element names

jc_0602

Check for consistency in model element names
jc_0281: Trigger signal names

jc_0281

Check trigger signal names
db_0143: Usable block types in model hierarchy

db_0143

Check for mixing basic blocks and subsystems
db_0144: Use of subsystems

db_0144

不可检查
jc_0653: Delay block layout in feedback loopsjc_0653Check for avoiding algebraic loops between subsystems

hd_0001: Prohibited Simulink sinks

没有对应的 JMAAB 规范Check for prohibited sink blocks
na_0010: Usage of vector and bus signals

na_0010

Check usage of vector and bus signals
jc_0008: Definition of signal names

jc_0008

Check signal line labels
jc_0009: Signal name propagation

jc_0009

Check for propagated signal labels
db_0097: Position of labels for signals and buses

db_0097

Check signal flow in model Check position of signal labels

na_0008: Display of labels on signals

没有对应的 JMAAB 规范Check signal line labels

na_0009: Entry versus propagation of signal labels

没有对应的 JMAAB 规范Check for propagated signal labels
db_0110: Block parameters

db_0110

Check usage of tunable parameters in blocks
db_0112: Usage of index

db_0112

Check Indexing Mode
jc_0645: Parameter definition for calibration

jc_0645

Check if tunable block parameters are defined as named constants
jc_0641: Sample time setting

jc_0641

Check for sample time setting
jc_0643: Fixed-point setting

jc_0643

Check usage of fixed-point data type with non-zero bias
jc_0644: Type setting

jc_0644

Check type setting by data objects
db_0146: Block layout in conditional subsystems

db_0146

Check position of conditional blocks and iterator blocks
jc_0640: Initial value settings for Outport blocks in conditional subsystems

jc_0640

Check undefined initial output for conditional subsystems
jc_0659: Usage restrictions of signal lines input to Merge blocks

jc_0659

Check usage of Merge block
na_0003: Usage of If blocks

na_0003

Check logical expressions in If blocks
jc_0656: Usage of Conditional Control blocks

jc_0656

Check default/else case in Switch Case blocks and If blocks
jc_0657: Retention of output value based on conditional control flow blocks and Merge blocks

jc_0657

不可检查
na_0002: Appropriate usage of basic logical and numerical operations

na_0002

Check fundamental logical and numerical operations
jc_0121: Usage of add and subtraction blocks

jc_0121

Check usage of Sum blocks
jc_0610: Operator order for multiplication and division block

jc_0610

Check operator order of Product blocks
jc_0611: Input sign for multiplication and division blocks

jc_0611

Check signs of input signals in product blocks
jc_0794: Division in Simulink

jc_0794

Check for division by zero in Simulink
jc_0805: Numerical operation block inputs

jc_0805

无检查
jc_0622: Usage of Fcn blocks

jc_0622

Check for parentheses in Fcn block expressions
jc_0621: Usage of Logical Operator blocks

jc_0621

Check icon shape of Logical Operator blocks
jc_0131: Usage of Relational Operator blocks

jc_0131

Check usage of Relational Operator blocks
jc_0800: Comparing floating-point types in Simulink

jc_0800

Comparing floating point types in Simulink
jc_0626: Usage of Lookup Table blocks

jc_0626

Check usage of Lookup Tables
jc_0623: Usage of continuous-time Delay blocks and discrete-time Delay blocks

jc_0623

Check usage of Memory and Unit Delay blocks
jc_0624: Usage of Tapped Delay blocks/Delay blocks

jc_0624

Check for cascaded Unit Delay blocks
jc_0627: Usage of Discrete-Time Integrator blocks

jc_0627

Check usage of Discrete-Time Integrator block
jc_0628: Usage of Saturation blocks

jc_0628

Check usage of the Saturation blocks
jc_0651: Implementing a type conversion

jc_0651

Check output data type of operation blocks
db_0042: Usage of Inport and Outport blocks

db_0042

Check position of Inport and Outport blocks
jc_0081: Inport and Outport block icon display

jc_0081

Check display for port blocks
na_0011: Scope of Goto and From blocks

na_0011

Check scope of From and Goto blocks
jc_0161: Definition of Data Store Memory blocks

jc_0161

Check for usage of Data Store Memory blocks
jc_0141: Usage of the Switch blocks

jc_0141

Check usage of Switch blocks
jc_0650: Block input/output data type with switching function

jc_0650

Check input and output datatype for Switch blocks
jc_0630: Usage of Multiport Switch blocks

jc_0630

Check settings for data ports in Multiport Switch blocks
na_0020: Number of inputs to variant subsystems

na_0020

Check for missing ports in Variant Subsystems
na_0036: Default variantna_0036Check use of default variants
na_0037: Use of single variable for variant condition

na_0037

Check use of single variable variant conditionals

db_0123: Stateflow port names

没有对应的 JMAAB 规范Check for names of Stateflow ports and associated signals
db_0125: Stateflow local data

db_0125

Check definition of Stateflow data
db_0126: Defining Stateflow events

db_0126

Check definition of Stateflow events
jc_0701: Usable number for first indexjc_0701Check usable number for first index
jc_0712: Execution timing for default transition path

jc_0712

Check execution timing for default transition path
jc_0722: Local data definition in parallel states

jc_0722

Check scope of data in parallel states
jc_0797: Unconnected transitions / states / connective junctions

jc_0797

Check for unconnected objects in Stateflow Charts
db_0137: States in state machines

db_0137

Check for state in state machines
jc_0721: Usage of parallel states

jc_0721

Check usage of parallel states
db_0129: Stateflow transition appearance

db_0129

Check for Stateflow transition appearance
jc_0531: Default transition

jc_0531

Check default transition placement in Stateflow charts
jc_0723: Prohibited direct transition from external state to child state

jc_0723

Check usage of transitions to external states
jc_0751: Backtracking prevention in state transition

jc_0751

Check for unexpected backtracking in state transitions
jc_0760: Starting point of internal transition

jc_0760

Check starting point of internal transition in Stateflow
jc_0763: Usage of multiple internal transitions

jc_0763

Check usage of internal transitions in Stateflow states
jc_0762: Prohibition of state action and flow chart combination

jc_0762

Check prohibited combination of state action and flow chart
db_0132: Transitions in flow charts

db_0132

Check transitions in Stateflow Flow charts
jc_0773: Unconditional transition of a flow chart

jc_0773

Check usage of unconditional transitions in flow charts
jc_0775: Terminating junctions in flow charts

jc_0775

Check terminal junctions in Stateflow
jc_0738: Usage of Stateflow comments

jc_0738

Check usage of Stateflow comments
jc_0790: Action language of Chart block

jc_0790

Check Stateflow chart action language
jc_0702: Use of named Stateflow parameters and constants

jc_0702

Check usage of numeric literals in Stateflow
jm_0011: Pointers in Stateflow

jm_0011

Check for pointers in Stateflow charts
jc_0491: Reuse of Stateflow data

jc_0491

不可检查
jm_0012: Usage restrictions of events and broadcasting events

jm_0012

Check for usage of events and broadcasting events in Stateflow charts
jc_0733: Order of state action types

jc_0733

Check order of state action types
jc_0734: Number of state action types

jc_0734

Check repetition of Action types
jc_0740: Limitation on use of exit state action

jc_0740

Check if state action type 'exit' is used in the model
jc_0741: Timing to update data used in state chart transition conditions

jc_0741

Check updates to variables used in state transition conditions
jc_0772: Execution order and transition conditions of transition lines

jc_0772

Check usage of transition conditions in Stateflow transitions
jc_0753: Condition actions and transition actions in Stateflow

jc_0753

Check condition actions and transition actions in Stateflow
jc_0711: Division in Stateflow

jc_0711

不可检查
db_0127: Limitation on MATLAB commands in Stateflow blocks

db_0127

Check for MATLAB expressions in Stateflow charts
jc_0481: Use of hard equality comparisons for floating point numbers in Stateflow

jc_0481

Check usage of floating-point expressions in Stateflow charts
na_0001: Standard usage of Stateflow operators

na_0001

Check Stateflow operators
jc_0655: Prohibition of logical value comparison in Stateflow

jc_0655

Check prohibited comparison operation of logical type signals
jc_0451: Use of unary minus on unsigned integers

jc_0451

Check usage of unary minus operations in Stateflow charts
jc_0802: Prohibited use of implicit type casting in Stateflow

jc_0802

Check for implicit type casting in Stateflow
jc_0803: Passing values to library functions

jc_0803

不可检查
jc_0732: Distinction between state names, data names, and event names

jc_0732

Check uniqueness of Stateflow State and Data names
jc_0730: Unique state name in Stateflow blocks

jc_0730

Check uniqueness of State names
jc_0731: State name format

jc_0731

Check usage of State names
jc_0501: Format of entries in a State block

jc_0501

Check entry formatting in State blocks in Stateflow charts
jc_0736: Uniform indentations in Stateflow blocks

jc_0736

Check indentation of code in Stateflow states
jc_0739: Describing text inside states

jc_0739

Check for usage of text inside states
jc_0770: Position of transition label

jc_0770

Check placement of Label String in Transitions
jc_0771: Comment position in transition labels

jc_0771

Check position of comments in transition labels
jc_0752: Condition action in transition label

jc_0752

Check usage of parentheses in Stateflow transitions
jc_0774: Comments for through transition

jc_0774

Check for comments in unconditional transitions
jc_0511: Return values from a graphical function

jc_0511

Check return value assignments in Stateflow graphical functions
jc_0804: Prohibited use of recursive calls with graphical functions

jc_0804

Check usage of graphical functions in Stateflow
na_0042: Usage of Simulink functions

na_0042

Check usage of Simulink function in Stateflow
na_0039: Limitation on Simulink functions in Chart blocks

na_0039

Check use of Simulink in Stateflow charts

na_0018: Number of nested if/else and case statement

没有对应的 JMAAB 规范Check nested conditions in MATLAB Functions

na_0025: MATLAB Function header

没有对应的 JMAAB 规范无检查
na_0024: Shared data in MATLAB functions

na_0024

Check MATLAB code for global variables
na_0031: Definition of default enumerated value

na_0031

Check usage of enumerated values
na_0034: MATLAB Function block input/output settings

na_0034

Check input and output settings of MATLAB Functions

na_0016: Source lines of MATLAB Functions

没有对应的 JMAAB 规范Check lines of code in MATLAB Functions

na_0017: Number of called function levels

没有对应的 JMAAB 规范Check the number of function calls in MATLAB Function blocks
na_0021: Strings in MATLAB functions

na_0021

Check usage of character vector inside MATLAB Function block

na_0022: Recommended patterns for Switch/Case statements

没有对应的 JMAAB 规范Check usage of recommended patterns for Switch/Case statements
jc_0801: Prohibited use of the /* and */ comment symbols

jc_0801

Check for use of C-style comment symbols

另请参阅