Main Content

Advisor.Application class

Package: Advisor
Superclasses:

Run Model Advisor across model hierarchy

Description

Use instances of Advisor.Application to run Model Advisor checks across a model hierarchy. You can use Advisor.Application to:

  • Run checks on referenced models.

  • Select model components for Model Advisor analysis.

  • Select checks to run during Model Advisor analysis.

Consider using Advisor.Application if you have a large model with subsystems and model references. Advisor.Application does not run checks on library models. If you want to run checks on multiple independent models that are not in a model reference hierarchy or you want to leverage parallel processing, use ModelAdvisor.run to run Model Advisor checks on your model.

Note

If model references are used in hierarchy, and if the user has set Simulation Mode to accelerator and UpdateModelReferenceTargets to IfOutOfDate, then the child model shall compile only if it is out of date. For referenced models, compile time checks will not run.

The Advisor.Application methods use the following definitions:

  • Model component — Model in the system hierarchy. Models that the root model references and that setAnalysisroot specifies are model components.

  • Check instance — Instantiation of a ModelAdvisor.Check object in the Model Advisor configuration. Each check instance has an instance ID. When you change the Model Advisor configuration, the instance ID can change.

Construction

To create an Advisor.Application object, use Advisor.Manager.createApplication.

Properties

expand all

Name of root model in the model hierarchy to analyze, as specified by the Advisor.Application.setAnalysisRoot method. This property is read only.

Unique identifier for the Advisor.Application object. This property is read only.

Run analysis in a temporary working folder. Specified by the Advisor.Manager.createApplication method. This property is read only.

Data Types: logical

Run analysis on variant blocks in models with predefined configurations with variant choices created using Variant Manager (Variant Manager for Simulink). For each configuration, produce a Model Advisor report. This property is read/write.

Data Types: logical

Methods

deleteDelete Advisor.Application object
deselectCheckInstancesClear check instances from Model Advisor analysis
deselectComponentsClear model components from Model Advisor analysis
generateReportGenerate report for Model Advisor analysis
getCheckInstanceIDsObtain check instance IDs
getResultsAccess Model Advisor analysis results
loadConfigurationLoad Model Advisor configuration
runRun Model Advisor analysis on model components
selectCheckInstancesSelect check instances to use in Model Advisor analysis
selectComponentsSelect model components for Model Advisor analysis
setAnalysisRootSpecify model hierarchy for Model Advisor analysis

Copy Semantics

Handle. To learn how handle classes affect copy operations, see Copying Objects.

Examples

collapse all

This example shows how to run a check on model sldemo_mdlref_counter referenced from sldemo_mdlref_basic.

In the Command Window, open model sldemo_mdlref_basic and referenced model sldemo_mdlref_counter.

openExample('sldemo_mdlref_basic'); 
openExample('sldemo_mdlref_counter');

Save a copy of the models to a work folder, renaming them to mdlref_basic and mdlref_counter.

save_system('sldemo_mdlref_basic','mdlref_basic');
save_system('sldemo_mdlref_counter','mdlref_counter');

In mdlref_basic, change model reference from sldemo_mdlref_counter to mdlref_counter. Save mdlref_basic.

set_param('mdlref_basic/CounterA','ModelName','mdlref_counter');
set_param('mdlref_basic/CounterB','ModelName','mdlref_counter');
set_param('mdlref_basic/CounterC','ModelName','mdlref_counter');
save_system('mdlref_basic');

Set root model to mdlref_basic.

RootModel='mdlref_basic';

Create an Application object.

app = Advisor.Manager.createApplication();

Set root analysis.

setAnalysisRoot(app,'Root',RootModel);

Clear all check instances from Model Advisor analysis.

deselectCheckInstances(app);

Select check Identify unconnected lines, input ports, and output ports using check instance ID.

instanceID = getCheckInstanceIDs(app,'mathworks.design.UnconnectedLinesPorts');
checkinstanceID = instanceID(1);
selectCheckInstances(app,'IDs',checkinstanceID);

Run Model Advisor analysis.

run(app);

Get analysis results.

getResults(app);

Generate and view the Model Advisor report. The Model Advisor runs the check on both mdlref_basic and mdlref_counter.

report = generateReport(app);
web(report)

Close the models.

close_system('mdlref_basic');
close_system('mdlref_counter');

This example shows how to run a check on subsystem fuel_rate_control referenced from sldemo_fuelsys.

In the Command Window, open model sldemo_fuelsys.

openExample('sldemo_fuelsys')

Set root model to sldemo_fuelsys.

RootModel='sldemo_fuelsys';

Create an Application object.

app = Advisor.Manager.createApplication();

Set root analysis to subsystem sldemo_fuelsys/fuel_rate_control.

setAnalysisRoot(app,'Root','sldemo_fuelsys/fuel_rate_control','RootType','Subsystem');

Clear all check instances from Model Advisor analysis.

deselectCheckInstances(app);

Select check Identify unconnected lines, input ports, and output ports using check instance ID.

instanceID = getCheckInstanceIDs(app,'mathworks.design.UnconnectedLinesPorts');
checkinstanceID = instanceID(1);
selectCheckInstances(app,'IDs',checkinstanceID);

Run Model Advisor analysis.

run(app);

Get analysis results.

getResults(app);

Generate and view the Model Advisor report. The Model Advisor runs the check on subsystem sldemo_fuelsys/fuel_rate_control.

report = generateReport(app);
web(report)

Close the model.

close_system('sldemo_fuelsys');

Version History

Introduced in R2015b