Добавить статус в результат проверки или подмножества
setSubResultStatus(
ft_obj
,
'status
')
setSubResultStatus(
является необязательным методом, который отображает состояние в результате. Этот метод используется для просмотра статуса проверки или подмножества в результате. ft_obj
,
'status
')
- указатель на объект шаблона. ft_obj
- вектор символов, идентифицирующий состояние проверки:status
Pass : Проверка не выявила проблем. |
D-Pass : Зависит от параметра конфигурации. Проверка не выявила проблем. |
Warn : Проверка выявила проблемы. |
Fail : Проверка не выполняется. |
В этом примере показано, как создать функцию обратного вызова для собственной проверки, которая находит и сообщает настройки оптимизации. Проверка состоит из двух подшеков. Первый рассматривает настройку оптимизации Block reduction, а второй - настройку оптимизации Conditional input branch execution.
A check with subchecks включает в результаты следующие элементы:
Описание проверки в целом.
Заголовок для подчека.
Описание того, что проверяется подшеком.
Ссылки на стандарты, если применимо.
Состояние подмножества.
Описание статуса.
Результаты для подчека.
Рекомендуемые действия, которые необходимо предпринять, когда подпек не проходит.
A линии между результатами подмножества.
% 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);