Model Checks for MathWorks Automotive Advisory Board (MAAB) Guideline Compliance

You can check that your model or subsystem complies with MathWorks® Automotive Advisory Board (MAAB) Guidelines by running the Model Advisor. Navigate to By Task > Modeling Standards for MAAB and run the checks.

The MAAB involves major automotive OEMs and suppliers in the process of evolving MathWorks controls, simulation, and code generation products, including Simulink®, Stateflow®, and Simulink Coder™. An important result of the MAAB has been the MAAB Control Algorithm Modeling Guidelines.

For MAAB checks, you can control whether the Model Advisor looks under masks or follows links. See Set MAAB Guideline Checks to Check Under Masks or Follow Links.

The table lists the MAAB checks, with the applicable MAAB Control Algorithm Modeling Guideline. If the check has a ✓ in the JMAAB column, you can run the check to verify compliance with a Japan MBD Automotive Advisory Board (JMAAB) Control Algorithm Modeling Guideline.

By Task > Modeling Standards for MAAB subfolderMathWorks Automotive Advisory Board (MAAB) CheckMAAB Control Algorithm Modeling Guidelines, Version 3.0 in the Simulink documentationJMAAB Control Algorithm Modeling Guidelines, Version 4.0. To download the Guidelines, see the JMAAB website.

Naming Conventions

Check file namesar_0001: Filenames
Check folder namesar_0002: Directory names
Check subsystem namesjc_0201: Usable characters for Subsystem names
Check port block namesjc_0211: Usable characters for Inport blocks and Outport blocks
Check character usage in signal labelsjc_0221: Usable characters for signal line names
Check character usage in block namesjc_0231: Usable characters for block names
Model ArchitectureCheck for mixing basic blocks and subsystemsdb_0143: Similar block types on the model levels
Model Configuration OptionsCheck Implement logic signals as Boolean data (vs. double)jc_0011: Optimization parameters for Boolean data types
Check model diagnostic parametersjc_0021: Model diagnostic settingsNo applicable guideline
SimulinkCheck for Simulink diagrams using nonstandard display attributesna_0004: Simulink model appearance
Check font formattingdb_0043: Simulink font and font size
Check positioning and configuration of portsdb_0042: Port block in Simulink models
Check visibility of block port namesna_0005: Port block name visibility in Simulink models 
Check display for port blocksjc_0081: Icon display for Port block 
Check whether block names appear below blocksdb_0142: Position of block names
Check the display attributes of block namesjc_0061: Display of block names
Check position of Trigger and Enable blocksdb_0146: Triggered, enabled, conditional Subsystems
Check for nondefault block attributesdb_0140: Display of basic block parameters
Check for matching port and signal namesjm_0010: Port block names in Simulink models 
Check Trigger and Enable block namesjc_0281: Naming of Trigger Port block and Enable Port block
Check signal line labelsna_0008: Display of labels on signals
Check for propagated signal labelsna_0009: Entry versus propagation of signal labels
Check for unconnected ports and signal linesdb_0081: Unconnected signals, block inputs and block outputs
Check for prohibited blocks in discrete controllersjm_0001: Prohibited Simulink standard blocks inside controllers
Check for blocks not recommended for C/C++ production code deployment  
Check for prohibited sink blockshd_0001: Prohibited Simulink sinks
Check scope of From and Goto blocksna_0011: Scope of Goto and From blocks 
Check usage of Switch blocksjc_0141: Use of the Switch block
Check usage of Relational Operator blocksjc_0131: Use of Relational Operator block
Check for indexing in blocksdb_0112: Indexing
Check usage of buses and Mux blocksna_0010: Grouping data flows into signals 
Check usage of tunable parameters in blocksdb_0110: Tunable parameters in basic blocks
Check orientation of Subsystem blocksjc_0111: Direction of Subsystem
StateflowCheck usage of exclusive and default states in state machinesdb_0137: States in state machines 
Check transition orientations in flow chartsdb_0132: Transitions in flow charts
Check entry formatting in State blocks in Stateflow chartsjc_0501: Format of entries in a State block 
Check return value assignments of graphical functions in Stateflow chartsjc_0511: Setting the return value from a graphical function
Check default transition placement in Stateflow chartsjc_0531: Placement of the default transition
Check for Strong Data Typing with Simulink I/Odb_0122: Stateflow and Simulink interface signals and parameters
Check Stateflow data objects with local scopedb_0125: Scope of internal signals and local auxiliary variables
Check usage of return values from a graphical function in Stateflow chartsjc_0521: Use of the return value from graphical functions
Check for MATLAB expressions in Stateflow chartsdb_0127: MATLAB commands in Stateflow
Check for pointers in Stateflow chartsjm_0011: Pointers in Stateflow
Check for event broadcasts in Stateflow chartsjm_0012: Event broadcasts
Check transition actions in Stateflow chartsdb_0151: State machine patterns for transition actions
Check for bitwise operations in Stateflow chartsna_0001: Bitwise Stateflow operators
Check for unary minus operations on unsigned integers in Stateflow chartsjc_0451: Use of unary minus on unsigned integers in Stateflow
Check for comparison operations in Stateflow chartsna_0013: Comparison operation in Stateflow
Check for equality operations between floating-point expressions in Stateflow chartsjc_0481: Use of hard equality comparisons for floating point numbers in Stateflow 
Check for mismatches between names of Stateflow ports and associated signalsdb_0123: Stateflow port names
MATLAB Functions and CodeCheck input and output settings of MATLAB Functionsna_0034: MATLAB Function block input/output settings
Check MATLAB Function metrics
Check MATLAB code for global variablesna_0024: Global Variables

Related Topics

Was this topic helpful?