Соединение с файлом результата

Можно соединить требование с файлом результата испытаний, который находится в Microsoft® Excel® формат с помощью Исходящего Редактора Ссылок и API. Состояние верификации в Simulink® Редактор Requirements™ отражает результаты испытаний. Эти рисунки следуют за рабочим процессом для включения внешних результатов испытаний в состоянии верификации требования. Для получения дополнительной информации смотрите, Включают Результаты Внешних Источников в Состояние Верификации.

Открытые файлы в качестве примера

Откройте Объединяющиеся Результаты Внешнего примера файла Результата.

openExample(['slrequirements/' ...
    'IntegratingResultsFromAnExternalResultFileExample'])
Откройте counter_req требование установлено в Редакторе Требований. Этот набор требования имеет дочерние требования, которые имеют идентификаторы требования и описания. Для получения дополнительной информации о том, как создать наборы требования, смотрите работу с Требованиями в Редакторе Simulink.

Внешние результаты испытаний содержатся в файле Excel под названием results.xlsx. Состояние верификации в Simulink Requirements обновляется на основе значений ячеек в листе Excel. Уникальный идентификатор в столбце Test идентифицирует каждый результат в столбце Status. Test и метки Status содержатся в строке заголовка.

Создайте и укажите тип настраиваемой ссылки

Прежде, чем создать ссылки на внешний файл результата, сначала создайте и укажите тип настраиваемой ссылки.

Откройте файл шаблона в matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m. Выполните эти шаги:

  1. Создайте новый файл MATLAB.

  2. Скопируйте содержимое linktype_TEMPLATE в новый файл. Сохраните файл как linktype_myexternalresults.m.

  3. В linktype_myexternalresults.m:

    1. Замените имя функции linktype_TEMPLATE с linktype_myexternalresults.

    2. Установите linkType.Label как 'Excel Results'.

    3. Установите linkType.Extensions как {'.xlsx'}.

    4. Не прокомментируйте команду для GetResultFcn для того, чтобы использовать его в linktype_myexternalresults и войдите:

      linktype.GetResultFcn = @GetResultFcn;
      ......
      function result = GetResultFcn(link)
          testID = link.destination.id;
          if testID(1) == '@'
              testID(1) = [];
          end
          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, смотрите Типы Ссылки и Ссылки.

  4. Сохраните linktype_myexternalresults.m.

  5. Укажите тип ссылки. В командной строке, введите:

    rmi register linktype_myexternalresults

    Примечание

    Если команда возвращает предупреждение, то необходимо не указать тип ссылки и указать его снова. Не укажите тип ссылки путем ввода:

    rmi unregister linktype_myexternalresults

Создайте ссылку требования

Можно создать ссылку от требования до результата испытаний для теста из внешнего файла результата, чтобы подтвердить требование. Можно создать ссылку при помощи Исходящего Редактора Ссылок, или при помощи API Simulink Requirements.

Создайте ссылку при помощи исходящего редактора ссылок

Создайте ссылку от требования до внешнего файла результатов при помощи Исходящего Редактора Ссылок:

  1. Откройте редактор требований и в counter_req.slreqx набор требования, щелкните правой кнопкой по дочернему требованию 1.3 и выберите Open Outgoing Links dialog.

  2. В диалоговом окне Outgoing Links Editor, во вкладке Requirements, нажимают New.

  3. Введите эти детали, чтобы установить ссылку:

    • Description:resultcounterSetsValue

    • Document type: Excel Results

    • Document: results.xlsx

    • Местоположение : counterSetsValue

  4. Нажмите OK. Ссылка подсвечена в разделе Links Редактора Требований.

Создайте ссылку при помощи API

Создайте ссылку от требования до внешнего файла результатов при помощи API:

  1. Из MATLAB® командная строка, введите:

    externalSource.id = 'counterSetsValue';
    externalSource.artifact = 'results.xlsx';
    externalSource.domain = 'linktype_myexternalresults';

  2. Откройте набор требования и найдите требование связанным со ссылкой:

    reqSet = slreq.open('counter_req.slmx'); 
    requirement = find(reqSet, 'Type', 'Requirement', 'SID', 4);

  3. Создайте ссылку путем ввода:

    link = slreq.createLink(requirement, externalSource);
    Это создает ссылку из требования с SID4 к результату для теста во внешнем файле результата под названием counterSetsValue. В Редакторе Требований ссылка появляется в разделе Links> Confirmed By.

    The requirement has a link in the Requirements Editor.

Просмотрите состояние верификации

Обновите информацию о верификации для counterSetsValue тест на основе состояния Excel регистрирует путем обновления состояния верификации для установленного требования.

Можно обновить состояние верификации в Редакторе Требований путем нажатия на Refresh . Убедитесь, что Columns +> Verification Status выбран, чтобы просмотреть состояние верификации для целого набора требования.

The Requirements Editor shows the requirement set with 3 requirements and one is verified.

Состояние верификации показывает, что одно из этих трех требований проверяется.

Можно также обновить состояние верификации и выбрать текущий статус путем ввода следующего в командной строке MATLAB:

updateVerificationStatus(reqSet)
status = getVerificationStatus(reqSet)

Похожие темы