Класс: ModelAdvisor. FormatTemplate
Пакет: ModelAdvisor
Добавьте состояние в проверку или подпроверяйте результат
setSubResultStatus(
ft_obj
,
'status
')
setSubResultStatus(
дополнительный метод, который отображает состояние в результате. Используйте этот метод, чтобы отобразить состояние проверки или подпроверять в результат. ft_obj
,
'status
')
указатель на объект шаблона. ft_obj
вектор символов, идентифицирующий состояние проверки:status
Pass : Проверка не идентифицировала проблемы. |
D-Pass : Зависящий от параметра конфигурации. Проверка не идентифицировала проблемы. |
Warn : Проверка идентифицировала проблемы. |
Fail : Проверяйте сбои, чтобы выполниться. |
В этом примере показано, как создать функцию обратного вызова для собственной проверки, которая находит и сообщает о настройках оптимизации. Проверка состоит из двух подпроверок. Первые отзывы установка оптимизации Block reduction и вторые отзывы установка оптимизации Conditional input branch execution.
check with subchecks включает следующие элементы в результаты:
Описание того, что рассматривает полная проверка.
Заголовок для подпроверки.
Описание того, что рассматривает подпроверка.
Ссылки на стандарты, если применимо.
Состояние подпроверки.
Описание состояния.
Результаты для подпроверки.
Рекомендуемые действия, чтобы взять, когда подпроверка не передает.
Линия между результатами подпроверки.
% Sample Check 3 Callback Function: Check with Subchecks and Actions % Find and report optimization settings function ResultDescription = OptmizationSettingCallback(system) % Initialize variables system =getfullname(system); mdladvObj = Simulink.ModelAdvisor.getModelAdvisor(system); mdladvObj.setCheckResultStatus(false); % Default check status is 'Warning' ResultDescription = {}; % Format results in a list using Model Advisor Result Template API % Create a list template object for first subcheck ft1 = ModelAdvisor.FormatTemplate('ListTemplate'); % Description of check in results setCheckText(ft1,'Check optimization settings'); % Title and description of first subcheck setSubTitle(ft1,'Verify Block reduction optimization setting'); setInformation(ft1,['Check to confirm that the Block reduction ' ... 'check box is cleared.']); % Add See Also section with references to applicable standards docLinks{1} = {['Reference DO331 Section MB.6.3.4.e - Source code ' ... 'is traceable to low-level requirements']}; % Review 'Block reduction' optimization setRefLink(ft1,docLinks); if strcmp(get_param(system,'BlockReduction'),'off') % 'Block reduction' is cleared % Set subresult status to 'Pass' and display text describing the status setSubResultStatus(ft1,'Pass'); setSubResultStatusText(ft1,['The ''Block reduction'' ' ... 'check box is cleared']); ResultStatus = true; else % 'Block reduction' is selected % Set subresult status to 'Warning' and display text describing the status setSubResultStatus(ft1,'Warn'); setSubResultStatusText(ft1,['The Block reduction ' ... 'check box is selected.']); setRecAction(ft1,['Clear the ''Optimization > Block reduction''' ... ' check box in the Configuration Parameters dialog box.']); ResultStatus = false; end ResultDescription{end+1} = ft1; % Title and description of second subcheck ft2 = ModelAdvisor.FormatTemplate('ListTemplate'); setSubTitle(ft2,'Verify Conditional input branch execution setting'); setInformation(ft2,['Check to confirm that the ''Conditional input branch ' ... 'execution'' check box is cleared.']) % Add See Also section and references to applicable standards docLinks{1} = {['Reference DO331 Section MB.6.4.4.2 - Test coverage ' ... 'of software structure is achieved']}; setRefLink(ft2,docLinks); % Last subcheck, supress line setSubBar(ft2,0); % Check status of the 'Conditional input branch execution' check box if strcmp(get_param(system,'ConditionallyExecuteInputs'),'off') % The 'Conditional input branch execution' check box is cleared % Set subresult status to 'Pass' and display text describing the status setSubResultStatus(ft2,'Pass'); setSubResultStatusText(ft2,['The ''Conditional input branch ' ... 'execution'' check box is cleared.']); else % 'Conditional input branch execution' is selected % Set subresult status to 'Warning' and display text describing the status setSubResultStatus(ft2,'Warn'); setSubResultStatusText(ft2,['The ''Conditional input branch ' ... 'execution'' check box is selected.']); setRecAction(ft2,['Clear the ''Optimization > Conditional input branch ' ... 'execution'' check box in the Configuration Parameters dialog box.']); ResultStatus = false; end ResultDescription{end+1} = ft2; % Pass list template object to Model Advisor mdladvObj.setCheckResultStatus(ResultStatus); % Set overall check status % Enable Modify Settings button when check fails mdladvObj.setActionEnable(~ResultStatus);