exponenta event banner

Ссылки на требования

Отслеживайте отношение требований к конструкции модели с помощью Simulink ® Requirements™ для создания связей между требованиями и различными элементами модели Simulink, включая блоки, объекты Stateflow ®, тестовые объекты Simulink Test™, статьи словаря данных Simulink, строки кода MATLAB ® и другие требования.

Можно создавать связи с блоками и объектами Stateflow из редактора Simulink, перетаскивая требования из обозревателя требований в перспективном представлении требований. Создать связи с тестовыми объектами Simulink Test можно в Диспетчере тестов или в редакторе требований. Дополнительные сведения о связывании элементов модели Simulink с требованиями см. в разделах Связывать блоки и требования и Связывать с тестовыми примерами из требований.

Ссылки требований связаны с SID требования (Session Independent Identifier), а не с его пользовательским идентификатором.

Связываемые элементы

Можно создать связи между элементами требований, объектами модели, тестовыми артефактами и кодом:

  • Объекты требований Simulink:

    • slreq.Requirement объекты

    • slreq.Reference объекты

    • slreq.Justification объекты

  • Объекты Simulink

    • Блоки

    • Подсистемы

    • Словари данных

  • Объекты потока состояния:

    • Государства

    • Диаграммы и подчастки

    • Переходы

  • Объекты Simulink Test:

    • Тестовые файлы

    • Тестовые комплекты

    • Тестовые примеры

    • Повторения

    • Оценки

  • Строки кода MATLAB

  • Модели архитектуры системных Composer™

Можно установить внешние артефакты, такие как URL, в качестве адресатов ссылок, создав структуры MATLAB. Существует два подхода:

  1. Создайте структуру назначения связи.

    myLinkDest = struct('domain', 'linktype_rmi_url', 'artifact', ...
     'www.mathworks.com', 'id', '')
    
    myLinkDest = 
    
      struct with fields:
    
          domain: 'linktype_rmi_url'
        artifact: 'www.mathworks.com'
              id: ''
    
    % Create a link between requirement myReq and mylinkDest
    slreq.createLink(myReq, myLinkDest);
  2. Создание структуры данных связей требований с помощью rmi('createempty'). Посмотрите rmi.

Типы связей

Чтобы отслеживать, как элементы конструкции связаны с требованиями, можно указать типы ссылок для ссылок требований. Типы связей также описывают характер связей «требование-требование», например, когда требование является производным от требования более высокого уровня.

Требования к Simulink предоставляют эти типы ссылок.

НапечататьОписание
Связанные сОбщая связь между требованием и элементом модели. Эта ссылка является двунаправленной.
РеализованоУказывает, какие элементы модели реализуют это требование. Эти типы ссылок вносят вклад в метрику состояния реализации.
Орудия
ПровереноУказывает, какие элементы модели проверки или тестовые примеры проверяют выполнение этого требования. Эти типы ссылок вносят вклад в метрику состояния проверки.
Проверяет
Производный отУказывает, какие артефакты назначения получены из этого артефакта источника.
Происходит
ОчищаетсяУказывает, какие целевые артефакты добавляют дополнительные сведения для функциональных возможностей, указанных в исходном артефакте.
Уточнено
ПодтверждаетУказывает связь между набором требований и внешним источником результатов. Эти типы ссылок вносят вклад в метрику состояния проверки.
Подтверждено

Чтобы задать тип связи, откройте редактор требований и щелкните Показать связи (Show Links). Выберите ссылку и на панели «Подробности» в разделе «Свойства» выберите требуемый тип связи в меню «Тип».

Можно также создать пользовательские типы связей. Дополнительные сведения см. в разделе Определение пользовательских требований и типов связей.

Ссылки требований имеют исходный артефакт и целевой артефакт. Большинство типов связей определяются относительно направления связи. Тип связи Связанные обозначает общее отношение между двумя объектами.

В полях Implements/Implemented by и Verifies/Verified by link types описываются отношения «требования-модель». Правильно укажите артефакты источника и назначения для требований с этими типами связей, поскольку сводные метрики состояния реализации и состояния проверки получены из этих типов связей. Дополнительные сведения о сводных метриках статуса реализации и статуса проверки см. в разделах Статус реализации требований проверки и Статус проверки требований проверки.

Просмотреть ссылки на требования

Просмотреть ссылки можно в редакторе требований или обозревателе требований. Чтобы просмотреть ссылки в редакторе требований, щелкните Показать связи (Show Links). Для просмотра ссылок в браузере требований выберите Links в раскрывающемся меню «Вид».

При работе в редакторе Simulink можно просмотреть ссылки на требования для отдельных требований. В браузере требований выберите Requirements в раскрывающемся меню Вид (View) и выберите требование. Ссылки отображаются в инспекторе свойств в разделе «Связи».

По умолчанию все исходящие ссылки из исходного артефакта хранятся в файле набора ссылок (.slmx). Дополнительные сведения о требованиях к хранению ссылок см. в разделе Хранение ссылок на требования.

При удалении связи требования Simulink Requirements (Требования к симуляционным лучам) не сохраняют для этой связи значения UsingBy, CountingOn или SID.

Разрешить ссылки

Разрешенная ссылка имеет доступный источник и место назначения. Если источник или назначение связи недоступны, связь остается неразрешенной. Например:

  • Если удалить связанный блок из модели, связь становится неразрешенной.

  • Если исходный или целевой файл, например тестовый файл Simulink Test, не загружен в память, связь остается неразрешенной.

В представлении «Связи» неразрешенные связи обозначаются. Используйте setSource и setDestination методы для разрешения ссылок.

Загрузить информацию о связи

Для артефактов, таких как наборы требований, модели Simulink, словари данных, тестовые файлы и файлы MATLAB, при загрузке артефакта автоматически загружается вся информация о связях, относящаяся к артефактам, которые находятся в пути MATLAB или Project.

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

  • Правило 1: Загрузка артефакта, такого как наборы требований, модели Simulink, словари данных, тестовые файлы и файлы MATLAB, которые находятся на пути MATLAB или Project, загружает все входящие и исходящие наборы каналов для этого артефакта. Каждый артефакт может иметь один набор исходящих линий связи и один или несколько наборов линий связи, содержащих информацию о линии связи из других артефактов.

  • Правило 2: Если загруженный артефакт имеет исходящие ссылки на набор требований, то набор требований также загружается вместе с информацией о канале. Этот загруженный набор требований также может следовать правилу 1 для дальнейшей загрузки необходимой информации о линии связи.

Применение этих правил может быть проиллюстрировано с помощью slreqCCProjectStart проект в трех сценариях. Выполните следующие действия.

  1. Перед открытием проекта закройте все модели Simulink и наборы требований.

  2. Загрузить slreqCCProjectStart в MATLAB:

    slreqCCProjectStart

  3. Сценарий 1:

    1. Открытие модели crs_controller.slx:

      open_system('crs_controller.slx');

    2. Открыть редактор требований:

      slreq.editor

    3. Редактор требований отображает следующую информацию:

      Информация о линии связи из набора исходящих линий связи crs_controller.slmx загружается в соответствии с правилом 1.

      Набор требований crs_req_func_spec.slreqx и наборы каналов связи crs_req.slmx, crs_controllerdic.slmx, DriverSWRequest_Tests.slmx, и crs_plant.slmx загружаются в соответствии с правилом 2.

    4. Закройте модель и редактор требований.

  4. Сценарий 2:

    1. Открыть набор требований crs_req_func_spec.slreqx:

      slreq.open('crs_req_func_spec.slreqx');

    2. Откроется Редактор требований (Requirements Editor), в котором отображается следующая информация.

      Просмотр наборов ссылок

      Все наборы каналов, содержащие информацию о входящих каналах для загруженного набора требований, загружаются в соответствии с правилом 1.

    3. Закройте редактор требований.

  5. Сценарий 3:

    1. Открытие модели crs_plant.slx:

      open_system('crs_plant.slx');

    2. Открыть редактор требований:

      slreq.editor

    3. Редактор требований отображает следующую информацию:

      Информация о линии связи из набора исходящих линий связи crs_plant.slmx загружается в соответствии с правилом 1.

      Наборы требований crs_req_func_spec.slreqx и crs_req.slreqx и все наборы линий связи, которые содержат информацию о входящих линиях связи для этих требований, загружаются в соответствии с правилом 2.

    4. Закройте модель и редактор требований.

Информация о связи не загружается автоматически, если связи с моделью сохраняются как внедренный набор связей. Можно также загрузить информацию о связи с помощью slreq.refreshLinkDependencies команда.

Выгрузить сведения о связи

Информация о связи автоматически выгружается при выгрузке всех связанных артефактов из памяти.

Удаление набора ссылок

Наборы ссылок хранятся в .slmx файлы. Удаление .slmx во время загрузки ссылок в память может привести к непредвиденному поведению.

Примечание

Если требуется удалить файл набора связей, связанный с моделью Simulink, убедитесь, что связи хранятся снаружи. Дополнительные сведения о том, как хранить ссылки вне модели Simulink, см. в разделе Требования к хранилищу ссылок.

Чтобы удалить набор ссылок, выполните следующие действия.

  1. Найдите .slmx файл. По умолчанию при создании связи она сохраняется в наборе ссылок с тем же именем, что и артефакт, к которому принадлежит исходный элемент. .slmx файл хранится в том же каталоге, что и исходный артефакт.

  2. Перед удалением набора ссылок лучше закрыть все загруженные артефакты. Сюда входят наборы требований, файлы Simulink Test, код MATLAB, словари данных Simulink и модели Simulink, Stateflow или System Composer. Закройте все эти артефакты вручную.

  3. В командной строке MATLAB очистите загруженные связи, введя:

    slreq.clear

  4. Удалить .slmx файл.

После удаления файла набора ссылок можно повторно открыть артефакты.

См. также

| |

Связанные темы