В этом рабочем процессе вы соединяете требование с файлом результата испытаний, который находится в формате Microsoft® Excel® с помощью Исходящего Редактора Ссылок и API. Состояние верификации в Редакторе Simulink® Requirements™ отражает результаты испытаний. Эти рисунки следуют за рабочим процессом для включения внешних результатов испытаний в состоянии верификации требования. Для получения дополнительной информации смотрите, Включают Результаты Внешних Источников в Состояние Верификации.
Создайте набор требования под названием counter_req.slreqx
в Редакторе Требований и сохраняют его в перезаписываемом месте. Этот набор требования имеет дочерние требования, которые имеют идентификаторы требования и описания. Для получения дополнительной информации о том, как создать наборы требования, смотрите работу с Требованиями в Редакторе Simulink.
Внешний файл результатов является файлом Excel под названием results.xlsx
. Состояние верификации в Simulink Requirements обновляется на основе значений ячеек в листе Excel. Уникальный идентификатор в столбце Test идентифицирует каждый результат в столбце Status. Test и метки Status содержатся в строке заголовка.
Предположим, что вы хотите обновить информацию о верификации для counterSetsValue
тест на основе журнала состояния Excel. Выполните эти шаги, чтобы создать и проверить ссылки на файл результата:
Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m
. Выполните эти шаги:
Создайте новый файл MATLAB.
Скопируйте содержимое linktype_TEMPLATE
в новый файл. Сохраните файл как linktype_myexcelresults.m
.
В linktype_myexcelresults.m
:
Замените имя функции linktype_TEMPLATE
с linktype_myexcelresults
.
Установите linkType.Label
как 'Excel Results'
.
Установите linkType.Extensions
как {'.xlsx'}
.
Не прокомментируйте команду для GetResultFcn
для того, чтобы использовать его в linktype_myexcelresults
и войдите:
linktype.GetResultFcn = @GetResultFcn; ...... function result = GetResultFcn(link) testID = link.destination.id; resultFile = link.destination.artifact; if ~isempty(resultFile) && isfile(resultFile) resultTable = readtable(resultFile); testRow = strcmp(resultTable.Test,testID); status = resultTable.Status(testRow); if status{1} == "passed" result.status = slreq.verification.Status.Pass; elseif status{1} == "failed" result.status = slreq.verification.Status.Fail; else result.status = slreq.verification.Status.Unknown; end else result.status = slreq.verification.Status.Unknown; end end
GetResultFcn
, смотрите Типы Ссылки и Ссылки.
Сохраните linktype_myexcelresults.m
.
Укажите тип ссылки. В командной строке, введите:
rmi register linktype_myexcelresults
Примечание
Если команда возвращает предупреждение, то необходимо не указать файл и следовать за шагом 5 снова. Не укажите файл путем ввода:
rmi unregister linktype_myexcelresults
Выполните эти шаги, чтобы добавить ссылку вручную в Исходящем Редакторе Ссылок:
Откройте редактор требований и в counter_req.slreqx
набор требования, щелкните правой кнопкой по дочернему требованию 1.3
и выберите Open Outgoing Links dialog.
В диалоговом окне Outgoing Links Editor, во вкладке Requirements, нажимают New.
Введите эти детали, чтобы установить ссылку:
Описание: resultcounterSetsValue
Тип документа: Excel Results
Документ: results.xlsx
Местоположение : counterSetsValue
Нажмите OK. Ссылка подсвечена в разделе Links Редактора Требований.
Обновите состояние верификации в Редакторе Требований. Нажмите кнопку Refresh, чтобы видеть состояние верификации для требований в Редакторе Требований. Это показывает состояние верификации для целого набора требования, который передал или перестал работать.
Требования для counterSetsValue
полностью проверяются. Здесь, состояние верификации показывает, что из трех тестов, один тест передал.
Создайте набор требования под названием counter_req.slreqx
в Редакторе Требований и сохраняют его в перезаписываемом месте. Этот набор требования имеет дочерние требования, которые имеют идентификаторы требования и описания. Для получения дополнительной информации о том, как создать наборы требования, смотрите работу с Требованиями в Редакторе Simulink.
Внешний файл результатов является файлом Excel под названием results.xlsx
. Состояние верификации в Simulink Requirements обновляется на основе значений ячеек в листе Excel. Уникальный идентификатор в столбце Test идентифицирует каждый результат в столбце Status. Test и метки Status содержатся в строке заголовка.
Предположим, что вы хотите обновить информацию о верификации для counterSetsValue
тест на основе журнала состояния Excel. Выполните эти шаги, чтобы создать и проверить ссылки на файл результата:
Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m
. Выполните эти шаги:
Создайте новый файл MATLAB.
Скопируйте содержимое linktype_TEMPLATE
в новый файл. Сохраните файл как linktype_myexcelresults.m
.
В linktype_myexcelresults.m
:
Замените имя функции linktype_TEMPLATE
с linktype_myexcelresults
.
Установите linkType.Label
как 'Excel Results'
.
Установите linkType.Extensions
как {'.xlsx'}
.
Не прокомментируйте команду для GetResultFcn
для того, чтобы использовать его в linktype_myexcelresults
и войдите:
linktype.GetResultFcn = @GetResultFcn; ...... function result = GetResultFcn(link) testID = link.destination.id; resultFile = link.destination.artifact; if ~isempty(resultFile) && isfile(resultFile) resultTable = readtable(resultFile); testRow = strcmp(resultTable.Test,testID); status = resultTable.Status(testRow); if status{1} == "passed" result.status = slreq.verification.Status.Pass; elseif status{1} == "failed" result.status = slreq.verification.Status.Fail; else result.status = slreq.verification.Status.Unknown; end else result.status = slreq.verification.Status.Unknown; end end
GetResultFcn
, смотрите Типы Ссылки и Ссылки.
Сохраните linktype_myexcelresults.m
.
Укажите тип ссылки. В командной строке, введите:
rmi register linktype_myexcelresults
Примечание
Если команда возвращает предупреждение, то необходимо не указать файл и следовать за шагом 5 снова. Не укажите файл путем ввода:
rmi unregister linktype_myexcelresults
Выполните эти шаги, чтобы создать ссылку:
От командной строки MATLAB®, введите:
externalSource.id = 'counterSetsValue'; externalSource.artifact = 'results.xlsx'; externalSource.domain = 'linktype_myexcelresults';
Найдите требование связанным со ссылкой путем ввода:
requirement = reqSet.find('Type', 'Requirement', 'SID', 4);
Создайте ссылку путем ввода:
link = slreq.createLink(requirement, externalSource);
counterSetsValue
для требования SID
. В Редакторе Требований ссылка появляется в разделе Links> Confirmed By.
Обновите состояние верификации для набора требования. В командной строке MATLAB введите:
reqSet.updateVerificationStatus
status = reqSet.getVerificationStatus
Требования для counterSetsValue
полностью проверяются. Здесь, состояние верификации показывает, что из трех тестов, один тест передал.