Model Advisor Checks for JMAAB Guidelines

Simulink® Check™ provides Model Advisor checks which correspond to a subset of JMAAB guidelines. You can run the checks using the Model Advisor.

The JMAAB guidelines and corresponding Model Advisor checks are summarized in the following table. Not all guidelines have Model Advisor checks. For some of the guidelines without Model Advisor checks, it is not possible to automate checking of the guideline. Guidelines without a corresponding check are noted as not applicable. For information on using the Model Advisor, see Run Model Advisor Checks in the Simulink documentation.

JMAAB Guideline - Version 5.1Model Advisor check
ar_0001: Usable characters for file namesCheck file names
ar_0002: Usable characters for folder namesCheck folder names
jc_0241: Length restriction for model file namesCheck length of model file name (Simulink Check)
jc_0242: Length restriction for folder namesCheck length of folder name at every level of model path (Simulink Check)
jc_0201: Usable characters for Subsystem namesCheck subsystem names
jc_0231: Usable characters for block namesCheck character usage in block names
jc_0211: Usable characters for Inport block and Outport blockCheck port block names
jc_0243: Length restriction for subsystem namesCheck length of subsystem names (Simulink Check)
jc_0247: Length restriction for block namesCheck length of block names (Simulink Check)
jc_0244: Length restriction for Inport and Outport namesCheck length of Inport and Outport names (Simulink Check)
jc_0222: Usable characters for signal/bus namesCheck usable characters for signal names and bus names (Simulink Check)
jc_0232: Usable characters for parameter namesCheck usable characters for parameter names (Simulink Check)
jc_0245: Length restriction for signal and bus namesCheck length of signal and bus names (Simulink Check)
jc_0246: Length restriction for parameter namesCheck length of parameter names (Simulink Check)
jc_0795: Usable characters for Stateflow data namesCheck usable characters for Stateflow data names (Simulink Check)
jc_0796: Length restriction for Stateflow data namesCheck length of Stateflow data name (Simulink Check)
jc_0791: Duplicated definition data namesCheck duplication of Simulink data names (Simulink Check)
jc_0792: Unused dataCheck unused data in Simulink Model (Simulink Check)
db_0043: Model font and font sizeCheck font formatting (Simulink Check)
jc_0644: Guideline for type settingCheck type setting by data objects (Simulink Check)
jc_0011: Optimization parameters for Boolean data typesCheck Implement logic signals as Boolean data (vs. double) (Simulink Check)
jc_0642: Integer rounding mode settingCheck Signed Integer Division Rounding mode (Simulink Check)
jc_0806: Detecting incorrect calculation resultsCheck diagnostic settings for incorrect calculation results (Simulink Check)
na_0004: Simulink model appearance settingsCheck for Simulink diagrams using nonstandard display attributes (Simulink Check)
jm_0002: Block resizingNo check
db_0142: Position of block namesCheck whether block names appear below blocks (Simulink Check)
jc_0061: Display of block namesCheck the display attributes of block names (Simulink Check)
db_0140: Display of block parametersCheck for nondefault block attributes (Simulink Check)
jc_0603: Model descriptionCheck Model Description (Simulink Check)
jc_0604: Block shadingCheck if blocks are shaded in the model (Simulink Check)
db_0081: Unconnected signals / blocksCheck for unconnected ports and signal lines (Simulink Check)
db_0032: Signal line connectionsNo check
db_0141: Signal flow in Simulink modelsCheck usage of Switch blocks (Simulink Check)
jc_0110: Direction of blockCheck block orientation (Simulink Check)
jc_0171: Clarification of the connections between structural subsystemsNo check
jc_0602: Consistency in model element namesCheck for consistency in model element names (Simulink Check)
jc_0281: Trigger signal namesCheck trigger signal names (Simulink Check)
db_0143: Usable block types in model hierarchyCheck for mixing basic blocks and subsystems (Simulink Check)
db_0144: Use of SubsystemsNo check
jc_0653: Delay block layout in feedback loopsCheck for avoiding algebraic loops between subsystems (Simulink Check)
na_0010: Usage of vector and bus signalsNo check
jc_0008: Definition of Signal labelsCheck signal line labels (Simulink Check)
jc_0009: Signal name propagationCheck for propagated signal labels (Simulink Check)
db_0097: Position of labels for signals and bussesNo check
db_0112: Usage of indexCheck for indexing in blocks (Simulink Check)
db_0110: Guidelines for block parametersCheck usage of tunable parameters in blocks (Simulink Check)
jc_0645: Parameter definition for calibrationCheck if tunable block parameters are defined as named constants (Simulink Check)
jc_0641: Sample time settingCheck for sample time setting (Simulink Check)
jc_0643: Fixed-point settingCheck usage of fixed-point data type with non-zero bias (Simulink Check)
db_0146: Block layout in conditional subsystemsCheck position of Trigger and Enable blocks (Simulink Check)
jc_0640: Initial value settings for Outport blocks in conditional subsystemsCheck undefined initial output for conditional subsystems (Simulink Check)
jc_0659: Usage restrictions of signal lines inputted to Merge blockCheck usage of Merge block (Simulink Check)
na_0003: Usage of If blockNo check
jc_0656: Usage of Conditional Control blockCheck default/else case in Switch Case blocks and If blocks (Simulink Check)
jc_0657: Retention of output value based on Conditional Control Flow block and Merge blockNo check
na_0002: Appropriate usage of basic logical and numerical operationsNo check
jc_0121: Usage of add/subtraction blocksNo check
jc_0610: Operator order for multiplication and division blocksCheck operator order of Product blocks (Simulink Check)
jc_0611: Input sign for multiplication and division blocksCheck signs of input signals in product blocks (Simulink Check)
jc_0794: Division in SimulinkNo check
jc_0805: Numerical operation block inputsNo check
jc_0622: Guideline for using the Fcn blockCheck for parentheses in Fcn block expressions (Simulink Check)
jc_0621: Guideline for using the Logical Operator blockCheck icon shape of Logical Operator blocks (Simulink Check)
jc_0131: Usage of Relational OperatorsCheck usage of Relational Operator blocks (Simulink Check)
jc_0800: Comparing floating-point types in SimulinkComparing floating point types in Simulink (Simulink Check)
jc_0626: Guideline for using the Lookup Table blockCheck usage of Lookup Tables (Simulink Check)
jc_0623: Usage of continuous-time delay blocks and discrete-time delay blocksCheck usage of Memory and Unit Delay blocks (Simulink Check)
jc_0624: Usage of Tapped Delay blocks/Delay blocksNo check
jc_0627: Guideline for using the Discrete-Time Integrator blockCheck usage of Discrete-Time Integrator block (Simulink Check)
jc_0628: Guideline for using the Saturation blockCheck usage of the Saturation blocks (Simulink Check)
jc_0651: Guideline for implementing a type conversionCheck output data type of operation blocks (Simulink Check)
db_0042: Usage of Inport and Outport blocksCheck positioning and configuration of ports (Simulink Check)
jc_0081: Inport/Outport block icon displayCheck for unconnected ports and signal lines (Simulink Check)
na_0011: Scope of Goto/FromNo check
jc_0161: Definition of Data Store Memory blocksNo check
jc_0141: Use of the Switch blockCheck usage of Switch blocks (Simulink Check)
jc_0650: Block input/output data type with switching functionCheck usage of fixed-point data type with non-zero bias (Simulink Check)
jc_0630: Usage of Multiport Switch blockCheck settings for data ports in Multiport Switch blocks (Simulink Check)
db_0122: Stateflow and Simulink interface signals and parametersCheck for Strong Data Typing with Simulink I/O (Simulink Check)
jc_0712: Execution timing for default transition pathCheck execution timing for default transition path (Simulink Check)
jc_0700: Unused data in Stateflow blockCheck for unused data in Stateflow Charts (Simulink Check)
db_0125: Stateflow local dataCheck Stateflow data objects with local scope (Simulink Check)
jc_0701: Usable number for first indexCheck usable number for first index (Simulink Check)
jc_0722: Local data definition in parallel statesCheck scope of data in parallel states (Simulink Check)
db_0126: Defining Stateflow eventsNo check
jc_0797: Unconnected transitions / states / connective junctionsCheck for unconnected objects in Stateflow Charts (Simulink Check)
db_0137: States in state machinesNo check
jc_0721: Usage of parallel statesCheck for parallel Stateflow state used for grouping (Simulink Check)
db_0129: Stateflow transition appearanceNo check
jc_0531: Default transitionCheck default transition placement in Stateflow charts (Simulink Check)
jc_0723: Prohibited direct transition from external state to child stateCheck usage of transitions to external states (Simulink Check)
jc_0751: Backtracking prevention in state transitionCheck for unexpected backtracking in state transitions (Simulink Check)
jc_0760: Starting point of internal transitionCheck starting point of internal transition in Stateflow (Simulink Check)
jc_0763: Usage of multiple internal transitionsCheck usage of internal transitions in Stateflow states (Simulink Check)
jc_0762: Prohibition of state action and flow chart combinationCheck prohibited combination of state action and flow chart (Simulink Check)
db_0132: Transitions in Flow ChartsCheck transition orientations in flow charts (Simulink Check)
jc_0773: Unconditional transition of a flow chartCheck usage of unconditional transitions in flow charts (Simulink Check)
jc_0775: Terminating junctions in Flow ChartsCheck terminal junctions in Stateflow (Simulink Check)
jc_0738: Usage of Stateflow commentsCheck usage of Stateflow comments (Simulink Check)
jc_0790: Action language of Chart blockCheck Stateflow chart action language (Simulink Check)
jc_0702: Use of named Stateflow parameters/constantsCheck usage of numeric literals in Stateflow (Simulink Check)
jm_0011: Pointers in StateflowCheck for pointers in Stateflow charts (Simulink Check)
jc_0491: Reuse of Stateflow dataNo check
jm_0012: Usage restrictions of events and broadcasting eventsCheck for event broadcasts in Stateflow charts (Simulink Check)
jc_0733: Order of state action typesCheck order of state action types (Simulink Check)
jc_0734: Number of state action typesCheck repetition of Action types (Simulink Check)
jc_0740: Limitation on use of exit state actionCheck if state action type 'exit' is used in the model (Simulink Check)
jc_0741: Timing to update data used in state chart transition conditionsCheck updates to variables used in state transition conditions (Simulink Check)
jc_0772: Execution order and transition conditions of transition linesCheck usage of transition conditions in Stateflow transitions (Simulink Check)
jc_0753: Condition actions and transition actions in StateflowCheck condition actions and transition actions in Stateflow (Simulink Check)
jc_0711: Division in StateflowNo check
db_0127: Limitation on MATLAB commands in Stateflow blocksCheck for MATLAB expressions in Stateflow charts (Simulink Check)
jc_0481: Use of hard equality comparisons for floating point numbers in StateflowNo check
na_0001: Standard usage of Stateflow operatorsCheck for bitwise operations in Stateflow charts (Simulink Check)
jc_0655: Prohibition of logical value comparison in StateflowCheck prohibited comparison operation of logical type signals (Simulink Check)
jc_0451: Use of unary minus on unsigned integersCheck usage of unary minus operations in Stateflow charts (Simulink Check)
jc_0802: Prohibited use of implicit type casting in StateflowCheck for implicit type casting in Stateflow (Simulink Check)
jc_0803: Passing values to library functionsNo check
jc_0732: Distinction between state names, data names, and event namesCheck uniqueness of Stateflow State and Data names (Simulink Check)
jc_0730: Unique state name in Stateflow blocksCheck uniqueness of State names (Simulink Check)
jc_0731: State name formatCheck usage of State names (Simulink Check)
jc_0501: Line breaks in state labelsNo check
jc_0736: Uniform indentations in Stateflow blocksCheck indentation of code in Stateflow states (Simulink Check)
jc_0739: Guidelines for describing texts inside statesCheck for usage of text inside states (Simulink Check)
jc_0770: Position of transition labelCheck placement of Label String in Transitions (Simulink Check)
jc_0771: Comment position in transition labelsCheck position of comments in transition labels (Simulink Check)
jc_0752: Format of condition action in transition labelCheck usage of parentheses in Stateflow transitions (Simulink Check)
jc_0774: Comments for through transitionCheck for comments in unconditional transitions (Simulink Check)
jc_0511: Setting the return value from a graphical functionCheck return value assignments in Stateflow graphical functions (Simulink Check)
jc_0801: Prohibited use of the /* and */ comment symbolsCheck for use of C-style comment symbols (Simulink Check)
jc_0804: Prohibited use of recursive calls with graphical functionsNo check
na_0042: When to use Simulink functionsNo check
na_0039: Limitation on Simulink functions in Chart blockNo check
na_0037: Use of single variable for variant conditionNo check
na_0020: Number of inputs to variant subsystemsNo check
na_0036: Default variantNo check
na_0031: Definition of default enumerated valueNo check
na_0034: MATLAB Function block input/output settingsCheck input and output settings of MATLAB Functions (Simulink Check)
na_0024: Shared data in MATLAB functionsCheck MATLAB code for global variables (Simulink Check)
na_0021: Strings in MATLAB functionsNo check