Check Your Model Using the Model Advisor
Model Advisor Overview
The Model Advisor checks your model or subsystem for modeling conditions and configuration settings that cause inaccurate or inefficient simulation of the system that the model represents. The Model Advisor checks can help you verify compliance with industry standards and guidelines. By using the Model Advisor, you can implement consistent modeling guidelines across projects and development teams.
Upon completing the analysis of your model, the Model Advisor produces a report that lists the suboptimal conditions, settings, and modeling techniques and proposes solutions, when applicable.
You can use the Model Advisor to check your model in these ways:
Interactively run Model Advisor checks
Configure the Model Advisor to automatically run edit-time checks (requires Simulink® Check™)
These limitations apply when you use the Model Advisor to check your model. For limitations that apply to specific checks, see the Capabilities and Limitations section in the check documentation.
If you rename a system, you must restart the Model Advisor to check that system.
In systems that contain a variant subsystem, the Model Advisor checks the active subsystem. To check both the active and inactive subsystems, set the
Advisor.Application(Simulink Check) property,
Model Advisor does not analyze commented blocks.
Checks do not search in model blocks or subsystem blocks with the block parameter Read/Write set to
NoReadorWrite. However, on a check-by-check basis, Model Advisor checks do search in library blocks and masked subsystems.
Unless specified otherwise in the documentation for a check, the Model Advisor does not analyze the contents of a Model block. To run checks on referenced models, use instances of the
Advisor.Application(Simulink Check) class (Simulink Check license required).
Model Advisor parallel run is not supported in Simulink Online.
Software is inherently complex and may not be free of errors. Model Advisor checks might contain bugs. MathWorks® reports known bugs brought to its attention on its Bug Report system at https://www.mathworks.com/support/bugreports/. The bug reports are an integral part of the documentation for each release. Examine bug reports for a release as such reports may identify inconsistencies between the actual behavior of a release you are using and the behavior described in this documentation.
While applying Model Advisor checks to your model increases the likelihood that your model does not violate certain modeling standards or guidelines, their application cannot guarantee that the system being developed will be safe or error-free. It is ultimately your responsibility to verify, using multiple methods, that the system being developed provides its intended functionality and does not include unintended functionality.
Model Advisor Checks Documentation
The Model Advisor only displays the checks for your installed products. This table provides links to the product-specific check documentation. A product license may be required to review some of the documentation.
|Product||Model Advisor Check Documentation|
|Embedded Coder®||Embedded Coder Checks (Embedded Coder)|
|AUTOSAR Blockset||AUTOSAR Blockset Checks (AUTOSAR Blockset)|
|Simulink Coder™||Model Advisor Checks (Simulink Coder)|
|HDL Coder™||HDL Code Advisor Checks (HDL Coder)|
|Simulink Code Inspector™||Simulink Code Inspector Checks (Simulink Code Inspector)|
Model Advisor Checks for DO-178C/DO-331 Industry Standards (Simulink Check)
Model Advisor Checks for IEC 61508, IEC 62304, ISO 26262, ISO 25119, and EN 50128/EN 50657 Industry Standards (Simulink Check)
Model Advisor Checks for DO-254 Standard Compliance (Simulink Check)
Model Advisor Checks for High Integrity System Modeling Guidelines (Simulink Check)
Model Advisor Checks for MAB Modeling Guidelines (Simulink Check)
Model Advisor Checks for JMAAB Modeling Guidelines (Simulink Check)
Model Advisor Checks for MISRA C:2012 Coding Standards (Simulink Check)
Model Advisor Checks for CERT C, CWE, and ISO/IEC TS 17961 Secure Coding Standards (Simulink Check)
Model Metrics (Simulink Check)
|Simulink Design Verifier™||Simulink Design Verifier Checks (Simulink Design Verifier)|
|Simulink PLC Coder™||PLC Model Advisor Checks (Simulink PLC Coder)|
|Requirements Toolbox™||Requirements Consistency Checks (Requirements Toolbox)|
|Simscape™||Documentation is available only in the Model Advisor. To review the documentation for the check, in the Model Advisor, right-click on the check title and select What's This?|
|Simulink Control Design™||Simulink Control Design Checks (Simulink Control Design)|
|IEC Certification Kit|
IEC Certification Kit Checks (IEC Certification Kit)
|DO Qualification Kit|
DO Qualification Kit Checks (DO Qualification Kit)
Run Model Advisor Checks and Review Results
You can use the Model Advisor to check your model interactively against modeling standards and guidelines. The following example uses the
sldemo_mdladv model to demonstrate the execution of the Model Advisor checks using the Model Advisor.
To open the Model Advisor example model, at the MATLAB® command line, enter :
To open the Model Advisor, in the Simulink editor, click the Modeling tab and select Model Advisor. A System Selector dialog opens. Select the model or system that you want to review and click OK.
In the left pane of the Model Advisor, select the checks you want to run on your model:
You can select the checks by using the By Product or By Task folders.
Show By Product Folder ― Displays checks available for each product
Show By Task Folder ― Displays checks related to specific tasks
Checks with the icon trigger an update of the model diagram.
Checks with the icon trigger an extensive analysis of the model. Checks that trigger extensive analysis of the model use additional analysis techniques, such as analysis with Simulink Design Verifier.
Click on the folder that contains the checks and, on the toolstrip, select Run Checks to execute the analysis. To run a single check, right-click the check in the folder and select Run This Check.
View the results on the Model Advisor User Interface. This table shows the common check status results; notice that different icons are used depending on the parameter set for Check result when issues are flagged in the Model Advisor Configuration Editor (requires a Simulink Check license). For more information about this parameter, see Specify Parameters for Check Customization (Simulink Check).
Check Result Status
Model does not have any violations for the given check(s).
Check has identified severe violations.
Check has identified violations.
Check violations are justified.
Check not selected for Model Advisor analysis.
Check analysis is incomplete or check execution has resulted in exceptions.
Fix the warnings or failures as desired. For more information, see Address Model Check Results.
Use the Exclusions tab to review checks that were marked for exclusion from the analysis.
View and save the report. For additional information, see Save and View Model Advisor Check Reports and Generate Model Advisor Reports (Simulink Check).
Run Model Checks Programmatically
If you have Simulink
Check, you can create MATLAB scripts and functions so that you can run the Model Advisor
programmatically. For example, you can create a
ModelAdvisor.run (Simulink Check) function to check
whether your model passes a specified set of the Model Advisor checks every time
that you open the model and start a simulation.
- Run Model Advisor Checks and Review Results (Simulink Check)
- Address Model Check Results
- Save and View Model Advisor Check Reports
- Design Techniques to Optimize Models for Efficient Code Generation (Simulink Coder)