slmetric.config.MetricRange class

Package: slmetric.config

Specify metric data threshold values

Description

Specify metric data thresholds corresponding to the Category property of an slmetric.config.Classification object. These thresholds define metric data ranges for these three categories: complaint, noncompliant, and warning. The Metrics Dashboard alerts you to the category that your data falls under.

Construction

Use the slmetric.config.Threshold.getClassifications method to access the default Compliant slmetric.config.Classification object. Or, use the slmetric.config.Threshold.addClassification method to create NonCompliant and Warning slmetric.config.Classication objects. Then write directly to the slmetric.config.MetricRange properties.

Properties

expand all

Specify the beginning of a metric range corresponding to the Category property of an slmetric.config.Classification object. This property is read/write.

Data Types: double

Specify the end of a metric range corresponding to the Category property of an slmetric.config.Classification object. This property is read/write.

Data Types: double

Specify whether to include the Start value in the metric data range corresponding to the Category property of an slmetric.config.Classification object. This property is read/write.

Data Types: logical

Specify whether to include the End value in the metric data range corresponding to the Category property of an slmetric.config.Classification object. This property is read/write.

Data Types: logical

Note

For the High Integrity Compliance, MAAB Compliance, Actual Reuse, and Potential Reuse widgets, you must specify the metric ranges as fractions.

Examples

collapse all

Use the slmetric.config packaged classes to add threshold information to the Metrics Dashboard. You can add thresholds that define metric data ranges for these three categories:

  • Compliant — Metric data that is an acceptable range.

  • Warning — Metric data that requires review.

  • Noncompliant — Metric data that requires you to modify your model.

Create an slmetric.config.Configuration object.

CONF = slmetric.config.Configuration.new('name', 'Config');

Get the default slmetric.config.ThresholdConfiguration object in CONF.

TC = getThresholdConfigurations(CONF);

Add an slmetric.config.Threshold object to the slmetric.config.ThresholdConfiguration object. This threshold is for the mathworks.metrics.SimulinkBlockCount metric and the Value property of the slmetric.metric.Results object.

T = addThreshold(TC, 'mathworks.metrics.SimulinkBlockCount', 'Value');

An slmetric.config.Threshold object contains a default slmetric.config.Classification object that corresponds to the Compliant category. Use the slmetric.metric.MetricRange class to specify metric values for the Compliant metric range.

C = getClassifications(T); % default classification is Compliant
C.Range.Start = 5;
C.Range.IncludeStart = 0;
C.Range.End = 100;
C.Range.IncludeEnd = 0;

These values specify that a compliant range is a block count from 5 to 100. This range does not include the values 5 and 100.

Specify values for the Warning metric range.

C = addClassification(T,'Warning');
C.Range.Start = -inf;
C.Range.IncludeStart = 0;
C.Range.End = 5;
C.Range.IncludeEnd = 1

These values specify that a warning is a block count between -inf and 5. This range does not include -inf. It does include 5.

Specify values for the NonCompliant metric range.

C = addClassification(T,'NonCompliant');
C.Range.Start = 100;
C.Range.IncludeStart = 1;
C.Range.End = inf;
C.Range.IncludeEnd = 0;

These values specify that a block count greater than 100 is noncompliant. This range includes 100. It does not include inf.

Use the validate method to validate the metric ranges corresponding to the thresholds in the slmetric.config.ThresholdConfiguration object.

validate(T)

If the ranges are not valid, you get an error message. In this example, the ranges are valid.

Save the changes to the configuration file. Use the slmetric.config.setActiveConfiguration function to activate this configuration for the metric engine to use.

configName = 'Config.xml';
save(CONF,'FileName', configName);
slmetric.config.setActiveConfiguration(fullfile(pwd, configName));

You can now run the Metrics Dashboard with this custom configuration on a model.

Introduced in R2018b