slmetric.metric.ResultClassification class

Пакет: slmetric.metric

Доступ к метрическим пороговым результатам данных

Описание

Для Value и AggregatedValue свойства slmetric.metric.Result объект, свойства доступа slmetric.metric.ResultClassification класс, чтобы определить метрические области значений данных, которые соответствуют Compliant, NonCompliant, и Warning категории. От slmetric.metric.ResultClassification объект, также определите, какую из этих трех категорий подпадают под ваши метрические данные.

Конструкция

Значение Classifications свойство slmetric.metric.Result объектом является slmetric.metric.ResultClassification объект.

Свойства

развернуть все

Доступ к этому свойству определить метрику модели и slmetric.metric.Result свойство, которое имеет пороги.

Метрические значения данных попадают в одну из этих четырех категорий:

  • Совместимый — Метрические данные, которые находятся в допустимом диапазоне.

  • Предупреждение — Метрические данные, которые требуют анализа.

  • NonCompliant — Метрические данные, которые требуют, чтобы вы изменили свою модель.

  • Некатегоризированный — Метрические данные, которые не имеют никакого набора пороговых значений.

Если по крайней мере одним компонентом является NonCompliant, это свойство возвращает NonCompliant. Если по крайней мере одним компонентом является Warning и никакими компонентами не является NonCompliant, это свойство возвращает Warning. Если всеми компонентами является Compliant, эта категория возвращает Compliant.

Это свойство доступно только для чтения.

Примеры

свернуть все

Для mathworks.metric.SimulinkBlockCount метрика, задайте slmetric.metric.Result значения, соответствующие Compliant, NonCompliant, и Warning категории. Для sldemo_mdl_ref модель, запустите метрический механизм и категоризируйте результаты для этой метрики.

Создайте slmetric.config.Configuration объект.

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

Получите slmetric.config.ThresholdConfiguration по умолчанию объект в CONF.

TC = getThresholdConfigurations(CONF);

Добавьте slmetric.config.Threshold возразите против slmetric.config.ThresholdConfiguration объект. Этот порог для mathworks.metrics.SimulinkBlockCount метрика и Value свойство slmetric.metric.Results объект.

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

slmetric.config.Threshold объект содержит slmetric.config.Classification по умолчанию объект, который соответствует Compliant категория. Используйте slmetric.metric.MetricRange класс, чтобы задать метрические значения для Compliant, NonCompliant, и Warning метрические области значений.

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

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

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

Используйте validate метод, чтобы подтвердить метрические области значений, соответствующие порогам в slmetric.config.ThresholdConfiguration объект.

validate(T)

Если области значений не допустимы, вы получаете сообщение об ошибке. В этом примере области значений допустимы.

Сохраните изменения в конфигурационном файле. Используйте slmetric.config.setActiveConfiguration функция, чтобы активировать эту настройку для метрического механизма, чтобы использовать.

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

Создайте slmetric.Engine объект, набор корень в модели для анализа, и собирает данные для mathworks.metrics.SimulinkBlockCount метрика.

metric_engine = slmetric.Engine();
setAnalysisRoot(metric_engine, 'Root',  'sldemo_mdlref_basic');
execute(metric_engine, 'mathworks.metrics.SimulinkBlockCount');

Получите метрические данные модели, которые возвращают массив slmetric.metric.ResultCollection объекты, res_col.

res_col = getMetrics(metric_engine, 'mathworks.metrics.SimulinkBlockCount');

Отобразите результаты для mathworks.metrics.SimulinkBlockCount метрика.

for n=1:length(res_col)
    if res_col(n).Status == 0
        result = res_col(n).Results;
        
        for m=1:length(result)
            disp(['MetricID: ',result(m).MetricID]);
            disp(['  ComponentPath: ', result(m).ComponentPath]);
            disp(['  Value: ', num2str(result(m).Value)]);
            disp(['  Classifications: ', result(m).Classifications.Classification.Category]);
            disp(['  Measures: ', num2str(result(m).Measures)]);
            disp(['  AggregatedMeasures: ', num2str(result(m).AggregatedMeasures)]);
        end
    else
        disp(['No results for:', result(n).MetricID]);
    end
    disp(' ');
end
MetricID: mathworks.metrics.SimulinkBlockCount
  ComponentPath: sldemo_mdlref_basic
  Value: 12
  Classifications: Compliant
  Measures: 
  AggregatedMeasures: 
MetricID: mathworks.metrics.SimulinkBlockCount
  ComponentPath: sldemo_mdlref_basic/More Info
  Value: 0
  Classifications: Warning
  Measures: 
  AggregatedMeasures: 
MetricID: mathworks.metrics.SimulinkBlockCount
  ComponentPath: sldemo_mdlref_counter
  Value: 18
  Classifications: Compliant
  Measures: 
  AggregatedMeasures:

Для ComponentPath: sldemo_mdlref_basic и ComponentPath: sldemo_mdlref_counter, результатами является Compliant из-за значений 12 и 18, соответственно. Для ComponentPath: sldemo_mdlref_basic/More Info, результаты подпадают под Warning категория из-за 0 значение.

Введенный в R2018b