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