Вы можете использовать Метрическую Инструментальную панель и метрические API, чтобы получить податливость и выпускаете метрические данные по вашей настройке Model Advisor. Чтобы настроить вашу настройку Model Advisor, смотрите Использование Model Advisor Configuration Editor, чтобы Настроить Model Advisor. Можно также использовать существующую группу проверки, такую как проверки MISRA. После того, как вы настроили свою настройку Model Advisor, выполните эти шаги, чтобы задать группы проверки, для которых вы хотите получить податливость, и выпускает метрические данные:
Откройте настройку по умолчанию:
config=slmetric.config.Configuration.open()
Задайте метрический ID семейства, который вы сопоставляете с теми группами проверки:
famParamID = 'ModelAdvisorStandard';
Создайте массив ячеек, состоящий из идентификаторов Check Group, которые соответствуют группам проверки. Получите ID Check Group путем открытия Model Advisor Configuration Editor и выбора папки, которая содержит группу проверок. Папка содержит параметр Check Group ID.
values = {'maab', 'hisl_do178', '_SYSTEM_By Task_misra_c'};
Предыдущий массив ячеек задает MAB, Высокую Целостность и группы проверки MISRA. Значения maab
и hisl_do178
соответствуйте подмножеству MAB и Системных проверок Высокой Целостности. Чтобы включать все проверки, задайте значение для параметра Check Group ID от Model Advisor Configuration Editor.
Чтобы настроить настройку, передайте values
массив ячеек в setMetricFamilyParameterValues
метод.
setMetricFamilyParameterValues(config, famParamID, values);
Укажите High Integrity Compliance и виджеты High Integrity Check Issues группе проверки MISRA. Чтобы начаться, откройте настройку по умолчанию для Метрического размещения Инструментальной панели.
conf = slmetric.dashboard.Configuration.open();
Получите slmetric.dashboard.Layout
объект от slmetric.dashboard.Configuration
объект conf
.
layout = getDashboardLayout(conf);
Получите объекты виджета, которые находятся в объекте размещения.
layoutWidget=getWidgets(layout);
Получите группу податливости из размещения. Эта группа содержит два контейнера. Первый контейнер содержит Высокую Целостность и виджеты Проблем Податливости и Проверки MAB. Удалите виджет High Integrity Compliance.
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'};
Добавьте пользовательский виджет для визуализации метрик проблем проверки MISRA к complianceContainers
slmetric.dashboard.Container
объект.
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);
Сохраните объекты настройки. Эти команды сериализируют информацию API к XML-файлам.
save(config,'FileName','MetricConfig.xml');
save(conf,'Filename','DashboardConfig.xml');
Установите активные настройки.
slmetric.config.setActiveConfiguration(fullfile(pwd, 'MetricConfig.xml'));
slmetric.dashboard.setActiveConfiguration(fullfile(pwd, 'DashboardConfig.xml'));
Для вашей модели откройте Метрическую Инструментальную панель.
Нажмите кнопку All Metrics и запустите все метрики.