Main Content

Model Advisor Checks for MAB Guidelines

For information on using the Model Advisor, see Run Model Advisor Checks.

Modeling Guidelines and Model Advisor Checks for MAB and JMAAB

This table identifies MathWorks® Advisor Board (MAB) guidelines, the corresponding Japan MathWorks Automotive Advisor Board (JMAAB) guidelines, and Model Advisor check that you can use to verify compliance with these guidelines. Additional information in the tables includes:

  • MAB Modeling Guideline — Links to the MathWorks Advisory Board (MAB) guideline.

  • Corresponding JMAAB Modeling Guideline — Identifies the JMAAB modelling guideline that corresponds to the MAB guideline. To review the guideline, see Control Algorithm Modeling Guidelines Using MATLAB, Simulink, and Stateflow on the MathWorks website.

  • Model Advisor Check — Provides links to the Model Advisor check that is used to verify compliance to the modeling guideline.

    When applicable, this column clarifies why a guideline does not have a corresponding check:

    • No check — Indicates that the guideline can be checked by using a Model Advisor check, however, the check does not currently exist.

    • Not checkable — Indicates that it is not possible to verify compliance to this guideline by using a Model Advisor check.

MAB Modeling Guideline

(Version 5.0)

Corresponding JMAAB Modeling Guideline

(Version 5.1)

Model Advisor Check

ar_0001: Usable characters for file names

ar_0001Check file names (Simulink Check)
ar_0002: Usable characters for folder names

ar_0002

Check folder names (Simulink Check)
jc_0241: Length restriction for model file names

jc_0241

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

jc_0242

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

jc_0201

Check Subsystem names (Simulink Check)
jc_0231: Usable characters for block names

jc_0231

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

jc_0211

Check port block names (Simulink Check)
jc_0243: Length restriction for subsystem names

jc_0243

Check length of subsystem names (Simulink Check)
jc_0247: Length restriction for block names

jc_0247

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

jc_0244

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

jc_0222

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

jc_0232

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

jc_0245

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

jc_0246

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

jc_0795

Check usable characters for Stateflow data names (Simulink Check)
jc_0796: Length restriction for Stateflow data names

jc_0796

Check length of Stateflow data name (Simulink Check)
jc_0791: Duplicate data name definitions

jc_0791

Check duplication of Simulink data names (Simulink Check)
jc_0792: Unused Data

jc_0792

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

jc_0700

Check for unused data in Stateflow Charts (Simulink Check)
na_0019: Restricted variable namesNo corresponding JMAAB guidelineCheck usage of restricted variable names (Simulink Check)
jc_0011: Optimization parameters for Boolean data types

jc_0011

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

jc_0642

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

jc_0806

Check diagnostic settings for incorrect calculation results (Simulink Check)

jc_0021: Model diagnostic settings

No corresponding JMAAB guidelineCheck model diagnostic parameters (Simulink Check)

na_0004: Simulink model appearance settings

na_0004

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

db_0043

Check Model font settings (Simulink Check)
jm_0002: Block resizingjm_0002No check
db_0142: Position of block names

db_0142

Check whether block names appear below blocks (Simulink Check)
jc_0061: Display of block names

jc_0061

Check the display attributes of block names (Simulink Check)

db_0140: Display of block parameters

db_0140

Check for nondefault block attributes (Simulink Check)
jc_0603: Model description

jc_0603

Check Model Description (Simulink Check)
jc_0604: Using block shadow

jc_0604

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

db_0081

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

db_0032

Check signal line connections (Simulink Check)
db_0141: Signal flow in Simulink models

db_0141

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

jc_0110

Check block orientation (Simulink Check)
jc_0171: Clarification of connections between structural subsystems

jc_0171

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

jc_0602

Check for consistency in model element names (Simulink Check)
jc_0281: Trigger signal names

jc_0281

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

db_0143

Check for mixing basic blocks and subsystems (Simulink Check)
db_0144: Use of subsystems

db_0144

Not checkable
jc_0653: Delay block layout in feedback loopsjc_0653Check for avoiding algebraic loops between subsystems (Simulink Check)

hd_0001: Prohibited Simulink sinks

No corresponding JMAAB guidelineCheck for prohibited sink blocks (Simulink Check)
na_0010: Usage of vector and bus signals

na_0010

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

jc_0008

Check signal line labels (Simulink Check)
jc_0009: Signal name propagation

jc_0009

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

db_0097

Check signal flow in model Check position of signal labels (Simulink Check)

na_0008: Display of labels on signals

No corresponding JMAAB guidelineCheck signal line labels (Simulink Check)

na_0009: Entry versus propagation of signal labels

No corresponding JMAAB guidelineCheck for propagated signal labels (Simulink Check)
db_0110: Block parameters

db_0110

Check usage of tunable parameters in blocks (Simulink Check)
db_0112: Usage of index

db_0112

Check Indexing Mode (Simulink Check)
jc_0645: Parameter definition for calibration

jc_0645

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

jc_0641

Check for sample time setting (Simulink Check)
jc_0643: Fixed-point setting

jc_0643

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

jc_0644

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

db_0146

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

jc_0640

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

jc_0659

Check usage of Merge block (Simulink Check)
na_0003: Usage of If blocks

na_0003

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

jc_0656

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

jc_0657

Not checkable
na_0002: Appropriate usage of basic logical and numerical operations

na_0002

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

jc_0121

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

jc_0610

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

jc_0611

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

jc_0794

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

jc_0805

No check
jc_0622: Usage of Fcn blocks

jc_0622

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

jc_0621

Check icon shape of Logical Operator blocks (Simulink Check)
jc_0131: Usage of Relational Operator blocks

jc_0131

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

jc_0800

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

jc_0626

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

jc_0623

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

jc_0624

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

jc_0627

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

jc_0628

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

jc_0651

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

db_0042

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

jc_0081

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

na_0011

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

jc_0161

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

jc_0141

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

jc_0650

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

jc_0630

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

na_0020

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

na_0037

Check use of single variable variant conditionals (Simulink Check)
db_0122: Stateflow and Simulink interface signals and parameters

db_0122

Check for Strong Data Typing with Simulink I/O (Simulink Check)

db_0123: Stateflow port names

No corresponding JMAAB guidelineCheck for names of Stateflow ports and associated signals (Simulink Check)
db_0125: Stateflow local data

db_0125

Check definition of Stateflow data (Simulink Check)
db_0126: Defining Stateflow events

db_0126

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

jc_0712

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

jc_0722

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

jc_0797

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

db_0137

Check for state in state machines (Simulink Check)
jc_0721: Usage of parallel states

jc_0721

Check usage of parallel states (Simulink Check)
db_0129: Stateflow transition appearance

db_0129

Check for Stateflow transition appearance (Simulink Check)
jc_0531: Default transition

jc_0531

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

jc_0723

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

jc_0751

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

jc_0760

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

jc_0763

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

jc_0762

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

db_0132

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

jc_0773

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

jc_0775

Check terminal junctions in Stateflow (Simulink Check)
jc_0738: Usage of Stateflow comments

jc_0738

Check usage of Stateflow comments (Simulink Check)
jc_0790: Action language of Chart block

jc_0790

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

jc_0702

Check usage of numeric literals in Stateflow (Simulink Check)
jm_0011: Pointers in Stateflow

jm_0011

Check for pointers in Stateflow charts (Simulink Check)
jc_0491: Reuse of Stateflow data

jc_0491

Not checkable
jm_0012: Usage restrictions of events and broadcasting events

jm_0012

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

jc_0733

Check order of state action types (Simulink Check)
jc_0734: Number of state action types

jc_0734

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

jc_0740

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

jc_0741

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

jc_0772

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

jc_0753

Check condition actions and transition actions in Stateflow (Simulink Check)
jc_0711: Division in Stateflow

jc_0711

Not checkable
db_0127: Limitation on MATLAB commands in Stateflow blocks

db_0127

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

jc_0481

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

na_0001

Check Stateflow operators (Simulink Check)
jc_0655: Prohibition of logical value comparison in Stateflow

jc_0655

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

jc_0451

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

jc_0802

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

jc_0803

Not checkable
jc_0732: Distinction between state names, data names, and event names

jc_0732

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

jc_0730

Check uniqueness of State names (Simulink Check)
jc_0731: State name format

jc_0731

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

jc_0501

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

jc_0736

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

jc_0739

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

jc_0770

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

jc_0771

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

jc_0752

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

jc_0774

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

jc_0511

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

jc_0804

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

na_0042

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

na_0039

Check use of Simulink in Stateflow charts (Simulink Check)

na_0018: Number of nested if/else and case statement

No corresponding JMAAB guidelineCheck nested conditions in MATLAB Functions (Simulink Check)

na_0025: MATLAB Function header

No corresponding JMAAB guidelineNo check
na_0024: Shared data in MATLAB functions

na_0024

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

na_0031

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

na_0034

Check input and output settings of MATLAB Functions (Simulink Check)

na_0016: Source lines of MATLAB Functions

No corresponding JMAAB guidelineCheck lines of code in MATLAB Functions (Simulink Check)

na_0017: Number of called function levels

No corresponding JMAAB guidelineCheck the number of function calls in MATLAB Function blocks (Simulink Check)
na_0021: Strings in MATLAB functions

na_0021

Check usage of character vector inside MATLAB Function block (Simulink Check)

na_0022: Recommended patterns for Switch/Case statements

No corresponding JMAAB guidelineCheck usage of recommended patterns for Switch/Case statements (Simulink Check)
jc_0801: Prohibited use of the /* and */ comment symbols

jc_0801

Check for use of C-style comment symbols (Simulink Check)

See Also