Main Content

Model Advisor Checks for MAB Modeling Guidelines

This table identifies the Model Advisor checks that you can use to verify compliance of your model with MathWorks® Advisor Board (MAB) modeling guidelines.

In the Model Advisor, to access the MAB checks, select:

  • By Product > Simulink Check > Modeling Standards > MAB Checks

  • By Task > Modeling Standards for MAB

You need Simulink® Check™ to execute these checks.

Note

Some guidelines do not have corresponding Model Advisor checks:

  • 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 6.0)

Model Advisor CheckCheck ID

ar_0001: Usable characters for file names

Check file names (Simulink Check)mathworks.jmaab.ar_0001
ar_0002: Usable characters for folder namesCheck folder names (Simulink Check)mathworks.jmaab_v6.ar_0002
db_0032: Signal line connectionsCheck signal line connections (Simulink Check)mathworks.jmaab_v6.db_0032
db_0042: Usage of Inport and Outport blocksCheck position of Inport and Outport blocks (Simulink Check)mathworks.jmaab.db_0042
db_0043: Model font and font sizeCheck model font settings (Simulink Check)mathworks.jmaab.db_0043
db_0081: Unconnected signals and blocksCheck for unconnected signal lines and blocks (Simulink Check)mathworks.jmaab.db_0081
db_0097: Position of labels for signals and busesCheck position of signal labels (Simulink Check)mathworks.jmaab_v6.db_0097
db_0110: Block parametersCheck usage of tunable parameters in blocks (Simulink Check)mathworks.maab.db_0110
db_0112: Usage of indexCheck Indexing Mode (Simulink Check)mathworks.jmaab.db_0112

db_0123: Stateflow port names

Check for names of Stateflow ports and associated signals (Simulink Check)mathworks.maab.db_0123
db_0125: Stateflow local dataCheck definition of Stateflow data (Simulink Check)mathworks.jmaab_v6.db_0125
db_0126: Defining Stateflow eventsCheck definition of Stateflow events (Simulink Check)mathworks.jmaab.db_0126
db_0127: Limitation on MATLAB commands in Stateflow blocksCheck for MATLAB expressions in Stateflow charts (Simulink Check)mathworks.jmaab_v6.db_0127
db_0129: Stateflow transition appearanceCheck for Stateflow transition appearance (Simulink Check)mathworks.jmaab_v6.db_0129
db_0132: Transitions in flow chartsCheck transitions in Stateflow Flow charts (Simulink Check)mathworks.jmaab.db_0132
db_0137: States in state machinesCheck for state in state machines (Simulink Check)mathworks.jmaab.db_0137

db_0140: Display of block parameters

Check for display of block parameter (Simulink Check)mathworks.maab.db_0140
db_0141: Signal flow in Simulink modelsCheck signal flow in model (Simulink Check)mathworks.maab.db_0141
db_0142: Position of block namesCheck whether block names appear below blocks (Simulink Check)mathworks.maab.db_0142
db_0143: Usable block types in model hierarchyCheck for mixing basic blocks and subsystems (Simulink Check)mathworks.maab.db_0143
db_0144: Use of subsystemsNot checkable
db_0146: Block layout in conditional subsystemsCheck position of conditional blocks and iterator blocks (Simulink Check)mathworks.jmaab.db_0146

hd_0001: Prohibited Simulink sinks

Check for prohibited sink blocks (Simulink Check)mathworks.maab.hd_0001
jc_0008: Definition of signal namesCheck definition of signal labels (Simulink Check)mathworks.jmaab.jc_0008
jc_0009: Signal name propagationCheck signal name propagation (Simulink Check)mathworks.jmaab_v6.jc_0009
jc_0011: Optimization parameters for Boolean data typesCheck Implement logic signals as Boolean data (vs. double) (Simulink Check)mathworks.maab.jc_0011

jc_0021: Model diagnostic settings

Check model diagnostic parameters (Simulink Check)mathworks.maab.jc_0021
jc_0061: Display of block namesCheck the display attributes of block names (Simulink Check)mathworks.maab.jc_0061
jc_0081: Inport and Outport block icon displayCheck display for port blocks (Simulink Check)mathworks.maab.jc_0081
jc_0110: Direction of blockCheck block orientation (Simulink Check)mathworks.jmaab.jc_0110
jc_0121: Usage of add and subtraction blocksCheck usage of Sum blocks (Simulink Check)mathworks.jmaab.jc_0121
jc_0131: Usage of Relational Operator blocksCheck usage of Relational Operator blocks (Simulink Check)mathworks.maab.jc_0131
jc_0141: Usage of the Switch blocksCheck usage of Switch blocks (Simulink Check)mathworks.maab.jc_0141
jc_0161: Definition of Data Store Memory blocksCheck for usage of Data Store Memory blocks (Simulink Check)mathworks.jmaab.jc_0161
jc_0171: Clarification of connections between structural subsystemsCheck connections between structural subsystems (Simulink Check)mathworks.jmaab.jc_0171
jc_0201: Usable characters for subsystem namesCheck subsystem names (Simulink Check)mathworks.jmaab.jc_0201
jc_0211: Usable characters for Inport blocks and Outport blockCheck port block names (Simulink Check)mathworks.jmaab.jc_0211
jc_0222: Usable characters for signal and bus namesCheck usable characters for signal names and bus names (Simulink Check)mathworks.jmaab.jc_0222
jc_0231: Usable characters for block namesCheck character usage in block names (Simulink Check)mathworks.jmaab.jc_0231
jc_0232: Usable characters for parameter namesCheck usable characters for parameter names (Simulink Check)mathworks.jmaab_v6.jc_0232
jc_0241: Length restriction for model file namesCheck length of model file name (Simulink Check)mathworks.jmaab.jc_0241
jc_0242: Length restriction for folder namesCheck length of folder name at every level of model path (Simulink Check)mathworks.jmaab.jc_0242
jc_0243: Length restriction for subsystem namesCheck length of subsystem names (Simulink Check)mathworks.jmaab.jc_0243
jc_0244: Length restriction for Inport and Outport namesCheck length of Inport and Outport names (Simulink Check)mathworks.jmaab.jc_0244
jc_0245: Length restriction for signal and bus namesCheck length of signal and bus names (Simulink Check)mathworks.jmaab.jc_0245
jc_0246: Length restriction for parameter nameCheck length of parameter names (Simulink Check)mathworks.jmaab.jc_0246
jc_0247: Length restriction for block namesCheck length of block names (Simulink Check)mathworks.jmaab.jc_0247
jc_0281: Trigger signal namesCheck trigger signal names (Simulink Check)mathworks.jmaab.jc_0281
jc_0451: Use of unary minus on unsigned integersCheck usage of unary minus operations in Stateflow charts (Simulink Check)mathworks.jmaab.jc_0451
jc_0481: Use of hard equality comparisons for floating point numbers in StateflowCheck usage of floating-point expressions in Stateflow charts (Simulink Check)mathworks.jmaab_v6.jc_0481
jc_0491: Reuse of Stateflow dataNot checkable
jc_0501: Format of entries in a State blockCheck entry formatting in State blocks in Stateflow charts (Simulink Check)mathworks.jmaab.jc_0501
jc_0511: Return values from a graphical functionCheck return value assignments in Stateflow graphical functions (Simulink Check)mathworks.maab.jc_0511
jc_0531: Default transitionCheck default transition placement in Stateflow charts (Simulink Check)mathworks.jmaab.jc_0531
jc_0602: Consistency in model element namesCheck for consistency in model element names (Simulink Check)mathworks.jmaab.jc_0602
jc_0603: Model descriptionCheck Model Description (Simulink Check)mathworks.jmaab.jc_0603
jc_0604: Using block shadowCheck if blocks are shaded in the model (Simulink Check)mathworks.jmaab.jc_0604
jc_0610: Operator order for multiplication and division blockCheck operator order of Product blocks (Simulink Check)mathworks.jmaab.jc_0610
jc_0611: Input sign for multiplication and division blocksCheck signs of input signals in product blocks (Simulink Check)mathworks.jmaab.jc_0611
jc_0621: Usage of Logical Operator blocksCheck icon shape of Logical Operator blocks (Simulink Check)mathworks.jmaab.jc_0621
jc_0622: Usage of Fcn blocks Check for parentheses in Fcn block expressions (Simulink Check)mathworks.jmaab.jc_0622
jc_0623: Usage of continuous-time Delay blocks and discrete-time Delay blocksCheck usage of Memory and Unit Delay blocks (Simulink Check)mathworks.jmaab.jc_0623
jc_0624: Usage of Tapped Delay blocks/Delay blocksCheck for cascaded Unit Delay blocks (Simulink Check)mathworks.jmaab.jc_0624
jc_0626: Usage of Lookup Table blocksCheck usage of Lookup Tables (Simulink Check)mathworks.jmaab.jc_0626
jc_0627: Usage of Discrete-Time Integrator blocksCheck usage of Discrete-Time Integrator block (Simulink Check)mathworks.jmaab_v6.jc_0627
jc_0628: Usage of Saturation blocksCheck usage of the Saturation blocks (Simulink Check)mathworks.jmaab.jc_0628
jc_0630: Usage of Multiport Switch blocksCheck settings for data ports in Multiport Switch blocks (Simulink Check)mathworks.jmaab_v6.jc_0630
jc_0640: Initial value settings for Outport blocks in conditional subsystemsCheck undefined initial output for conditional subsystems (Simulink Check)mathworks.jmaab.jc_0640
jc_0641: Sample time settingCheck for sample time setting (Simulink Check)mathworks.jmaab.jc_0641
jc_0642: Integer rounding mode settingCheck Signed Integer Division Rounding mode (Simulink Check)mathworks.jmaab.jc_0642
jc_0643: Fixed-point settingCheck usage of fixed-point data type with non-zero bias (Simulink Check)mathworks.jmaab.jc_0643
jc_0644: Type settingCheck type setting by data objects (Simulink Check)mathworks.jmaab_v6.jc_0644
jc_0645: Parameter definition for calibrationCheck if tunable block parameters are defined as named constants (Simulink Check)mathworks.jmaab.jc_0645
jc_0650: Block input/output data type with switching functionCheck input and output datatype for Switch blocks (Simulink Check)mathworks.jmaab.jc_0650
jc_0651: Implementing a type conversionCheck Output data type of operation blocks (Simulink Check)mathworks.jmaab_v6.jc_0651
jc_0653: Delay block layout in feedback loopsCheck for avoiding algebraic loops between subsystems (Simulink Check)mathworks.jmaab.jc_0653
jc_0655: Prohibition of logical value comparison in StateflowCheck prohibited comparison operation of logical type signals (Simulink Check)mathworks.jmaab.jc_0655
jc_0656: Usage of Conditional Control blocksCheck default/else case in Switch Case blocks and If blocks (Simulink Check)mathworks.jmaab.jc_0656
jc_0657: Retention of output value based on conditional control flow blocks and Merge blocksNot checkable
jc_0659: Usage restrictions of signal lines input to Merge blocksCheck usage of Merge block (Simulink Check)mathworks.jmaab.jc_0659
jc_0700: Unused data in Stateflow blockCheck for unused data in Stateflow Charts (Simulink Check)mathworks.jmaab.jc_0700
jc_0701: Usable number for first indexCheck usable number for first index (Simulink Check)mathworks.jmaab.jc_0701
jc_0702: Use of named Stateflow parameters and constantsCheck usage of numeric literals in Stateflow (Simulink Check)mathworks.jmaab.jc_0702
jc_0711: Division in StateflowNot checkable
jc_0712: Execution timing for default transition pathCheck execution timing for default transition path (Simulink Check)mathworks.jmaab.jc_0712
jc_0721: Usage of parallel statesCheck usage of parallel states (Simulink Check)mathworks.jmaab.jc_0721
jc_0722: Local data definition in parallel statesCheck scope of data in parallel states (Simulink Check)mathworks.jmaab.jc_0722
jc_0723: Prohibited direct transition from external state to child stateCheck usage of transitions to external states (Simulink Check)mathworks.jmaab.jc_0723
jc_0730: Unique state name in Stateflow blocksCheck uniqueness of State names (Simulink Check)mathworks.jmaab.jc_0730
jc_0731: State name formatCheck usage of State names (Simulink Check)mathworks.jmaab.jc_0731
jc_0732: Distinction between state names, data names, and event namesCheck uniqueness of Stateflow state, data and event names (Simulink Check)mathworks.jmaab.jc_0732
jc_0733: Order of state action typesCheck order of state action types (Simulink Check)mathworks.jmaab.jc_0733
jc_0734: Number of state action typesCheck repetition of action types (Simulink Check)mathworks.jmaab.jc_0734
jc_0736: Uniform indentations in Stateflow blocksCheck indentation of code in Stateflow states (Simulink Check)mathworks.jmaab.jc_0736
jc_0738: Usage of Stateflow commentsCheck usage of Stateflow comments (Simulink Check)mathworks.jmaab.jc_0738
jc_0740: Limitation on use of exit state actionCheck if state action type 'exit' is used in the model (Simulink Check)mathworks.jmaab.jc_0740
jc_0741: Timing to update data used in state chart transition conditionsCheck updates to variables used in state transition conditions (Simulink Check)mathworks.jmaab_v6.jc_0741
jc_0751: Backtracking prevention in state transitionCheck for unexpected backtracking in state transitions (Simulink Check)mathworks.jmaab.jc_0751
jc_0752: Condition action in transition labelCheck usage of parentheses in Stateflow transitions (Simulink Check)mathworks.jmaab.jc_0752
jc_0753: Condition actions and transition actions in StateflowCheck condition actions and transition actions in Stateflow (Simulink Check)mathworks.jmaab_v6.jc_0753
jc_0760: Starting point of internal transitionCheck starting point of internal transition in Stateflow (Simulink Check)mathworks.jmaab.jc_0760
jc_0762: Prohibition of state action and flow chart combinationCheck prohibited combination of state action and flow chart (Simulink Check)mathworks.jmaab.jc_0762
jc_0763: Usage of multiple internal transitionsCheck usage of internal transitions in Stateflow states (Simulink Check)mathworks.jmaab.jc_0763
jc_0770: Position of transition labelCheck placement of Label String in Transitions (Simulink Check)mathworks.jmaab_v6.jc_0770
jc_0771: Comment position in transition labelsCheck position of comments in transition labels (Simulink Check)mathworks.jmaab.jc_0771
jc_0772: Execution order and transition conditions of transition linesCheck usage of transition conditions in Stateflow transitions (Simulink Check)mathworks.jmaab.jc_0772
jc_0773: Unconditional transition of a flow chartCheck usage of unconditional transitions in flow charts (Simulink Check)mathworks.jmaab.jc_0773
jc_0774: Comments for through transitionCheck for comments in unconditional transitions (Simulink Check)mathworks.jmaab.jc_0774
jc_0775: Terminating junctions in flow chartsCheck terminal junctions in Stateflow (Simulink Check)mathworks.jmaab.jc_0775
jc_0790: Action language of Chart blockCheck Stateflow chart action language (Simulink Check)mathworks.jmaab.jc_0790
jc_0791: Duplicate data name definitionsCheck duplication of Simulink data names (Simulink Check)mathworks.jmaab.jc_0791
jc_0792: Unused DataCheck unused data in Simulink Model (Simulink Check)mathworks.jmaab.jc_0792
jc_0794: Division in SimulinkCheck for division by zero in Simulink (Simulink Check)mathworks.jmaab.jc_0794
jc_0795: Usable characters for Stateflow data namesCheck usable characters for Stateflow data names (Simulink Check)mathworks.jmaab.jc_0795
jc_0796: Length restriction for Stateflow data namesCheck length of Stateflow data name (Simulink Check)mathworks.jmaab.jc_0796
jc_0797: Unconnected transitions / states / connective junctionsCheck for unconnected objects in Stateflow Charts (Simulink Check)mathworks.jmaab.jc_0797
jc_0800: Comparing floating-point types in SimulinkCheck comparison of floating point types in Simulink (Simulink Check)mathworks.jmaab.jc_0800
jc_0801: Prohibited use of the /* and */ comment symbolsCheck for use of C-style comment symbols (Simulink Check)mathworks.jmaab.jc_0801
jc_0802: Prohibited use of implicit type casting in StateflowCheck for implicit type casting in Stateflow (Simulink Check)mathworks.jmaab.jc_0802
jc_0803: Passing values to library functionsNot checkable
jc_0804: Prohibited use of recursive calls with graphical functionsCheck usage of graphical functions in Stateflow (Simulink Check)mathworks.jmaab.jc_0804
jc_0805: Numerical operation block inputsNo check
jc_0806: Detecting incorrect calculation resultsCheck diagnostic settings for incorrect calculation results (Simulink Check)mathworks.jmaab.jc_0806
jc_0900: Usable characters for data type definitionCheck bus and enumeration data type names (Simulink Check)mathworks.jmaab_v6.jc_0900
jc_0901: Length restriction for Bus and Enumeration data type namesCheck length of bus and enumeration data type names (Simulink Check)mathworks.jmaab_v6.jc_0901
jc_0902: Arrowhead size of transition linesCheck arrowhead size of transition lines (Simulink Check)mathworks.jmaab_v6.jc_0902
jc_0903: Prohibition of overlapping or crossing of blocks and signal linesCheck for prohibited overlapping or intersecting blocks and signal lines (Simulink Check)mathworks.jmaab_v6.jc_0903
jc_0904: Prohibition of overlap/intersection of states and transition linesCheck for prohibited overlapping of states and transition lines in Stateflow charts (Simulink Check)mathworks.jmaab_v6.jc_0904
jc_0905: Usable characters for data names in FunctionsCheck data names in MATLAB functions (Simulink Check)mathworks.jmaab_v6.jc_0905
jc_0906: Length restriction of data names in MATLAB FunctionsCheck the length of data names in MATLAB functions (Simulink Check)mathworks.jmaab_v6.jc_0906
jc_0907: Size of a JunctionCheck size of junctions (Simulink Check)mathworks.jmaab_v6.jc_0907
jm_0002: Block resizingNo check
jm_0011: Pointers in StateflowCheck for pointers in Stateflow charts (Simulink Check)mathworks.maab.jm_0011
jm_0012: Usage restrictions of events and broadcasting eventsCheck for usage of events in Stateflow charts (Simulink Check)mathworks.jmaab_v6.jm_0012
mp_0007: How to describe executable statementsCheck description of execution statements (Simulink Check)mathworks.jmaab_v6.mp_0007
mp_0008: Format of parenthesesCheck for spaces between function or variable names and left parenthesis symbol (Simulink Check)mathworks.jmaab_v6.mp_0008
mp_0010: Precedence of Operators in Arithmetic ExpressionsCheck for operator precedence (Simulink Check)mathworks.jmaab_v6.mp_0010
mp_0011: Method of inserting a single-width spaceCheck spaces in expressions (Simulink Check)mathworks.jmaab_v6.mp_0011
mp_0022: Format of Conditional ExpressionsCheck description of conditional expressions (Simulink Check)mathworks.jmaab_v6.mp_0022
mp_0023: Format of relational operations using constantsCheck relational operators usage (Simulink Check)mathworks.jmaab_v6.mp_0023
mp_0032: Function header informationCheck function headers (Simulink Check)mathworks.jmaab_v6.mp_0032
mp_0034: Number of lines in a functionCheck number of lines of functions (Simulink Check)mathworks.jmaab_v6.mp_0034
mp_0040: Using the return value of a functionCheck for utilization of the return value of functions (Simulink Check)mathworks.jmaab_v6.mp_0040
mp_0046: Usage of expressions in array indicesCheck array indices (Simulink Check)mathworks.jmaab_v6.mp_0046
mp_0047: Conditions that a nonempty statement must satisfyCheck for usage of nonempty statements (Simulink Check)mathworks.jmaab_v6.mp_0047
na_0001: Standard usage of Stateflow operatorsCheck Stateflow operators (Simulink Check)mathworks.jmaab.na_0001
na_0002: Appropriate usage of basic logical and numerical operationsCheck fundamental logical and numerical operations (Simulink Check)mathworks.jmaab.na_0002
na_0003: Usage of If blocksCheck logical expressions in If blocks (Simulink Check)mathworks.maab.na_0003

na_0004: Simulink model appearance settings

Check for Simulink diagrams using nonstandard display attributes (Simulink Check)mathworks.maab.na_0004

na_0008: Display of labels on signals

Check signal line labels (Simulink Check)mathworks.maab.na_0008

na_0009: Entry versus propagation of signal labels

Check for propagated signal labels (Simulink Check)mathworks.maab.na_0009
na_0010: Usage of vector and bus signalsCheck usage of vector and bus signals (Simulink Check)mathworks.jmaab.na_0010
na_0011: Scope of Goto and From blocksCheck scope of From and Goto blocks (Simulink Check)mathworks.jmaab_v6.na_0011

na_0016: Source lines of MATLAB Functions

Check lines of code in MATLAB Functions (Simulink Check)mathworks.jmaab.na_0016

na_0017: Number of called function levels

Check the number of function calls in MATLAB Function blocks (Simulink Check)mathworks.jmaab.na_0017

na_0018: Number of nested if/else and case statement

Check nested conditions in MATLAB Functions (Simulink Check)mathworks.jmaab.na_0018
na_0019: Restricted variable namesCheck usage of restricted variable names (Simulink Check)mathworks.maab.na_0019
na_0020: Number of inputs to variant subsystemsCheck for missing ports in Variant Subsystems (Simulink Check)mathworks.jmaab_v6.na_0020
na_0021: Strings in MATLAB functionsCheck usage of character vector inside MATLAB Function block (Simulink Check)mathworks.maab.na_0021

na_0022: Recommended patterns for Switch/Case statements

Check usage of recommended patterns for Switch/Case statements (Simulink Check)mathworks.maab.na_0022
na_0024: Shared data in MATLAB functionsCheck MATLAB code for global variables (Simulink Check)mathworks.maab.na_0024

na_0025: MATLAB Function header

No check
na_0031: Definition of default enumerated valueCheck usage of enumerated values (Simulink Check)mathworks.maab.na_0031
na_0034: MATLAB Function block input/output settingsCheck input and output settings of MATLAB Functions (Simulink Check)mathworks.maab.na_0034
na_0036: Default variantCheck use of default variants (Simulink Check)mathworks.maab.na_0036
na_0037: Use of single variable for variant conditionCheck use of single variable variant conditionals (Simulink Check)mathworks.maab.na_0037
na_0039: Limitation on Simulink functions in Chart blocksCheck use of Simulink in Stateflow charts (Simulink Check)mathworks.maab.na_0039
na_0042: Usage of Simulink functionsCheck usage of Simulink function in Stateflow (Simulink Check)mathworks.jmaab.na_0042