Main Content

slmetric.dashboard.Container Class

Namespace: slmetric.dashboard

(To be removed) Widget for holding slmetric.dashboard.Widget and slmetric.dashboard.CustomWidget objects in Metrics Dashboard

The Metrics Dashboard user interface, metricdashboard function, slmetric package API, and corresponding customizations will be removed in a future release. For more information, see Migrating from Metrics Dashboard to Model Maintainability Dashboard.

Description

An slmetric.dashboard.Container object holds slmetric.dashboard.Widget and slmetric.dashboard.CustomWidget objects. You can use the slmetric.dashboard.Container methods to specify the container size and border.

For example, the following image is from a Metrics Dashboard layout. This portion of the Metrics Dashboard contains an slmetric.dashboard.Group widget with the title Size. This group contains three slmetric.dashboard.Container widgets. The containers on the left and right each contain one slmetric.dashboard.Widget object. The middle container contains two slmetric.dashboard.Widget objects.

Size metrics in the Metrics Dashboard layout

Construction

container = slmetric.dashboard.Container creates a handle to an slmetric.dashboard.Container object.

Properties

expand all

If true, the slmetric.dashboard.Container object has a border around it in the Metrics Dashboard. This property is read/write.

This widget type is a container. This property is read-only.

Methods

addWidget(To be removed) Add widget to slmetric.dashboard.Container object
getMargin(To be removed) Obtain distance from container edge to its contents
getPosition(To be removed) Obtain container position within Metrics Dashboard
getSeparators(To be removed) Determine whether there are lines on sides of Metrics Dashboard container
getWidgets(To be removed) Obtain a list of widgets in slmetric.dashboard.Container object
getWidths(To be removed) Obtain widths of Metrics Dashboard container
removeWidget(To be removed) Remove widget from slmetric.dashboard.Container object
setMargin(To be removed) Specify distance from container edge to its contents
setPosition(To be removed) Set container position within Metrics Dashboard
setSeparators(To be removed) Specify lines on Metrics Dashboard container sides
setWidths(To be removed) Specify multiple widths for Metrics Dashboard container

Examples

collapse all

You can use the Metrics Dashboard and metric APIs to obtain compliance and issues metric data on your Model Advisor configuration. To set up your Model Advisor configuration, see Use Model Advisor Configuration Editor to Customize Model Advisor. You can also use an existing check group such as the MISRA checks. After you have set up your Model Advisor configuration, follow these steps to specify the check groups for which you want to obtain compliance and issues metric data:

Open the model vdp by entering:

openExample('simulink_general/VanDerPolOscillatorExample')

Open the default configuration:

config=slmetric.config.Configuration.open()

Specify a metric family ID that you associate with those check groups:

famParamID = 'ModelAdvisorStandard';

Create a cell array consisting of the Check Group IDs that correspond to the check groups. Obtain a Check Group ID by opening up the Model Advisor Configuration Editor and selecting the folder that contains the group of checks. The folder contains a Check Group ID parameter.

values = {'maab', 'hisl_do178', '_SYSTEM_By Task_misra_c'};

The previous cell array specifies MAB, High-Integrity, and MISRA check groups. The values maab and hisl_do178 correspond to a subset of MAB and High-Integrity System checks. To include all checks, specify the value for the Check Group ID parameter from the Model Advisor Configuration Editor.

To set up the configuration, pass the values cell array into the setMetricFamilyParameterValues method.

setMetricFamilyParameterValues(config, famParamID, values);

Point the High Integrity Compliance and High Integrity Check Issues widgets to the MISRA check group. To begin, open the default configuration for the Metrics Dashboard layout.

conf = slmetric.dashboard.Configuration.open();

Obtain the slmetric.dashboard.Layout object from the slmetric.dashboard.Configuration object conf.

layout = getDashboardLayout(conf);

Obtain the widget objects that are in the layout object.

layoutWidget = getWidgets(layout);

Obtain the compliance group from the layout. This group contains two containers. The first container contains the High Integrity and MAB Compliance and Check Issues widgets. Remove the High Integrity Compliance widget.

complianceGroup = layoutWidget(3);
complianceContainers = getWidgets(complianceGroup);
complianceContainerWidgets = getWidgets(complianceContainers(1));
complianceContainers(1).removeWidget(complianceContainerWidgets(1)); 
setMetricIDs(complianceContainerWidgets(1),...
({'mathworks.metrics.ModelAdvisorCompliance._SYSTEM_By Task_misra_c'}));
complianceContainerWidgets(1).Labels = {'MISRA'};

Add a custom widget for visualizing MISRA check issues metrics to the complianceContainers slmetric.dashboard.Container object.

misraWidget = complianceContainers(1).addWidget('Custom', 1); 
misraWidget.Title = ('MISRA'); 
misraWidget.VisualizationType = 'RadialGauge'; 
misraWidget.setMetricIDs('mathworks.metrics.ModelAdvisorCheckCompliance._SYSTEM_By Task_misra_c'); 
misraWidget.setWidths(slmetric.dashboard.Width.Medium);

Save the configuration objects. These commands serialize the API information to XML files.

save(config,'FileName','MetricConfig.xml');
save(conf,'Filename','DashboardConfig.xml');

Set the active configurations.

slmetric.config.setActiveConfiguration(fullfile(pwd, 'MetricConfig.xml'));
slmetric.dashboard.setActiveConfiguration(fullfile(pwd, 'DashboardConfig.xml'));

Open the Metrics Dashboard for the model vdp.

metricsdashboard vdp

Click the All Metrics button to run all metrics.

Version History

Introduced in R2018b

collapse all

R2022a: Metrics Dashboard will be removed

The Metrics Dashboard user interface, metricdashboard function, slmetric package API, and corresponding customizations will be removed in a future release. For more information, see Migrating from Metrics Dashboard to Model Maintainability Dashboard.