Contenu principal

Differences Between JMAAB Version 5.1 and JMAAB Version 6.0 Model Advisor Checks

R2026b

The Japan MathWorks Automotive Advisory Board (JMAAB) publishes modeling guidelines for developing automotive control software using Model-Based Design. JMAAB Version 5 (v5.1) establishes a set of guidelines for model structure, data types, and signal handling. JMAAB Version 6 (v6.0) expands coverage to include MATLAB and Stateflow programming guidelines and consolidates overlapping guidelines into guideline-specific rules.

The Model Advisor contains check folders for both guideline versions. To help you decide which version of the checks to apply to your project, this topic lists checks that are exclusive to v6.0 and describes differences between checks that are in both folders and share the same name.

Note

MAB (MathWorks Automotive Advisory Board) v5.0 is equivalent to JMAAB v5.1, and MAB v6.0 is equivalent to JMAAB v6.0.

Checks Exclusive to JMAAB v6.0

Stateflow Checks

Modeling GuidelineModel Advisor CheckCheck IDCheck Behavior
jc_0900: Usable characters for Data Type definitionCheck bus and enumeration data type namesmathworks.jmaab_v6.jc_0900Detects trailing underscores, consecutive underscores, and reserved MATLAB words in bus/enumeration data type names.
jc_0901: Length restriction for Data Type definitionCheck length of bus and enumeration data type namesmathworks.jmaab_v6.jc_0901Validates that bus/enumeration data type names meet minimum and maximum length requirements.
jc_0902: Arrowhead size of transition linesCheck arrowhead size of transition linesmathworks.jmaab_v6.jc_0902Validates consistent arrowhead sizes on Stateflow transitions.
jc_0903: Prohibition of overlapping/crossing of blocks and signal lineCheck for prohibited overlapping or intersecting blocks and signal linesmathworks.jmaab_v6.jc_0903Detects blocks and signal lines that overlap or intersect each other. Includes configurable threshold.
jc_0904: Prohibition of overlap/intersection of states and transition linesCheck for prohibited overlapping of states and transition lines in Stateflow chartsmathworks.jmaab_v6.jc_0904Detects overlapping states and overlapping transitions in Stateflow charts.
jc_0905: Usable characters for data names in MATLAB functionCheck data names in MATLAB functionsmathworks.jmaab_v6.jc_0905Validates naming conventions for data in MATLAB functions, including external .m files.
jc_0906: Length restriction for data names in MATLAB functionCheck the length of data names in MATLAB functionsmathworks.jmaab_v6.jc_0906Checks minimum and maximum length of data names in MATLAB functions, including external .m files.
jc_0907: Size of junctionsCheck size of junctionsmathworks.jmaab_v6.jc_0907Validates consistent junction sizes in Stateflow charts.

MATLAB Programming

Modeling GuidelineModel Advisor CheckCheck IDCheck Behavior
mp_0007: How to describe execution statementsCheck description of execution statementsmathworks.jmaab_v6.mp_0007Validates one execution statement per line and proper semicolon usage. Supports external .m files.
mp_0008: Format of parenthesisCheck for spaces between function or variable names and left parenthesis symbolmathworks.jmaab_v6.mp_0008Checks for proper spacing between function/variable names and parentheses.
mp_0010: How to describe the priority of operatorsCheck for operator precedencemathworks.jmaab_v6.mp_0010Validates use of parentheses to clarify operator precedence in complex expressions.
mp_0011: How to insert one single-byte spaceCheck spaces in expressionsmathworks.jmaab_v6.mp_0011Validates proper spacing around binary and unary operators in MATLAB and C action language.
mp_0022: How to describe conditional expressionCheck description of conditional expressionsmathworks.jmaab_v6.mp_0022Validates logical type usage, operator count limits, and line break conventions in conditionals.
mp_0023: How to describe relational operatorsCheck relational operators usagemathworks.jmaab_v6.mp_0023Checks variable/constant placement conventions in relational expressions.
mp_0032: Function headersCheck function headersmathworks.jmaab_v6.mp_0032Validates if functions include required descriptive header items.
mp_0034: Number of lines of functionsCheck number of lines of functionsmathworks.jmaab_v6.mp_0034Validates that functions do not exceed configurable maximum line counts. Option to exclude comments.
mp_0040: Utilizing the return value of functionsCheck for utilization of the return value of functionsmathworks.jmaab_v6.mp_0040Detects function calls where return values are not assigned or used.
mp_0046: How to describe array indexesCheck array indicesmathworks.jmaab_v6.mp_0046Enforces simple indexing patterns.
mp_0047: The conditions for non-empty statements to be satisfiedCheck for usage of nonempty statementsmathworks.jmaab_v6.mp_0047Detects dead code or statements that produce no effect.

Differences Between Checks for JMAAB v5.0 and v6.0

Subcheck Changes

Modeling GuidelineModel Advisor CheckCheck IDSubcheck Changes in v6.0
db_0032: Signal line connectionsCheck signal line connectionsmathworks.jmaab_v6.db_0032
db_0097: Position of labels for signals and busesCheck position of signal labelsmathworks.jmaab_v6.db_0097
db_0129: Stateflow transition appearanceCheck for Stateflow transition appearancemathworks.jmaab_v6.db_0129
  • Removed: subchecks a, b, and c for crossing, overlapping, and cross-object lines.

  • Renamed: subcheck a corresponds to v5.1 subcheck d (line orientation), and subcheck b corresponds to v5.1 subcheck e (line junctions).

jc_0232: Usable characters for parameter namesCheck usable characters for parameter namesmathworks.jmaab_v6.jc_0232
  • Removed: subchecks a, b, and c for invalid characters, names starting with a number, and names starting with an underscore.

  • Renamed: subcheck a corresponds to v5.1 subcheck d (ends with underscores), subcheck b corresponds to v5.1 subcheck e (consecutive underscores), and subcheck c corresponds to v5.1 subcheck f (reserved words).

jc_0627: Usage of Discrete-Time Integrator blocksCheck usage of Discrete-Time Integrator blockmathworks.jmaab_v6.jc_0627
  • Removed: subcheck b for parameter object data type.

na_0011: Scope of Goto and From blocksCheck scope of From and Goto blocksmathworks.jmaab_v6.na_0011
  • Added: subchecks b and c for inport connected only to Goto block and directly connected to outport.

  • Added: Edit-time checking support.

jc_0741: Timing to update data used in state chart transition conditionsCheck updates to variables used in state transition conditionsmathworks.jmaab_v6.jc_0741
  • Expanded: subcheck a is split into subchecks a1, a2, and b for variables shall not use "during", variables shall use "during", and mixed usage detection.

  • Removed: Junction loop verification.

jc_0770: Position of transition labelCheck placement of Label String in Transitionsmathworks.jmaab_v6.jc_0770
  • Added: subcheck a3 for labels with conditions near source and labels without conditions near destination.

jc_0009: Signal name propagationCheck signal name propagationmathworks.jmaab_v6.jc_0009
  • Added: subcheck c for empty propagation detection.

  • Added: Edit-time checking support.

jc_0630: Usage of Multiport Switch blocksCheck settings for data ports in Multiport Switch blocksmathworks.jmaab_v6.jc_0630
  • Expanded: subcheck b accepts enumeration data type for control port type.

jc_0644: Type settingCheck type setting by data objectsmathworks.jmaab_v6.jc_0644
  • Expanded: Blocks with default data types are added to the exempt list.

na_0020: Number of inputs to variant subsystemsCheck for missing ports in Variant Subsystemsmathworks.jmaab_v6.na_0020
  • Removed: Ability to fix charts and MATLAB Functions.

jc_0651: Implementing a type conversionCheck Output data type of operation blocksmathworks.jmaab_v6.jc_0651
  • Expanded: Checks only numeric operation blocks.

  • Added: Edit-time checking support.

jc_0753: Condition actions and transition actions in StateflowCheck condition actions and transition actions in Stateflowmathworks.jmaab_v6.jc_0753
  • Renamed: subchecks a1 and a2 correspond to v6.0 subchecks a and b.

jm_0012: Usage restrictions of events and broadcasting eventsCheck for usage of events in Stateflow chartsmathworks.jmaab_v6.jm_0012
  • Renamed: subchecks a1, a2, and a3 correspond to v6.0 subchecks a, b1, and b2.

  • Restructured: subchecks b1 and b2 are mutually exclusive alternatives, with b1 as the default.

db_0127Check for MATLAB expressions in Stateflow chartsmathworks.jmaab_v6.db_0127
  • Renamed: subchecks a1 and a2 correspond to v6.0 subchecks a and b.

  • Restructured: subchecks a and b can now run simultaneously.

Input Parameter Changes

Modeling GuidelineModel Advisor CheckCheck IDParameter Changes in v6.0
ar_0002: Usable characters for folder namesCheck folder namesmathworks.jmaab_v6.ar_0002
  • Renamed: Allow MATLAB package parameter is renamed to Allow MATLAB namespace.

  • Added: Additional folders to check and Exclude folders parameters.

db_0032: Signal line connectionsCheck signal line connectionsmathworks.jmaab_v6.db_0032
  • Removed: Signal crossing threshold (in %) parameter.

db_0097: Position of labels for signals and busesCheck position of signal labelsmathworks.jmaab_v6.db_0097
  • Removed: Include Annotations parameter.

db_0125: Stateflow local dataCheck definition of Stateflow datamathworks.jmaab_v6.db_0125
  • Expanded: subcheck d excludes Data Store Memory and Temporary blocks.

See Also