Управление требованиями к отказоустойчивой системе управления топливом (Microsoft Office)

Requirements Management Interface (RMI) предоставляет инструменты для создания и анализа ссылок между объектами Simulink и документами требований. Этот пример иллюстрирует связывание объектов модели с Microsoft Office Documents, навигацию по этим ссылкам, создание отчета о требованиях и поддержание согласованности ссылок. См. также «Работа с IBM RATIONAL DOORS 9» Пример требований к функциям, относящимся к связыванию с требованиями, хранящимися в IBM RATIONAL DOORS.

Модель включенного примера связана с документами в формате Microsoft Office. Если доступна только более ранняя версия Microsoft Office, перейдите в раздел «Обновление всех ссылок» при перемещении или переименовании документов для примера того, как настроить модель примера для работы с включенными более ранними версиями документов.

Откройте модель примера

Функции управления требованиями демонстрируются на примере модели отказоустойчивой системы управления топливом. Вы можете открыть эту модель, оценив следующий код.

open_system('slvnvdemo_fuelsys_officereq');

Настройка менеджера требований для работы со ссылками

  1. В модели, на вкладке Приложения, откройте Диспетчер требований.

  2. На вкладке «Требования» убедитесь, что выбрано «Размещение» > «Браузер требований».

  3. В браузере требований в раскрывающемся меню View выберите Ссылки.

  4. В этом примере вы работаете исключительно на вкладке Requirements, и все ссылки на кнопки панели инструментов находятся на этой вкладке.

Если в течение этого примера в раскрывающемся меню «Вид» браузера требований в любой момент можно изменить значение параметра «Требования», это приведет к изменению кнопок, которые можно увидеть, и, возможно, вы не сможете правильно следовать инструкциям без возврата на «Ссылки».

Просмотр существующих требований

Этот пример начинается с модели, которая имеет только несколько ссылок требований. На вкладке Requirements нажмите Highlight Links, чтобы подсветить блоки со ссылками требований или оценить следующий код.

rmi('highlightModel', 'slvnvdemo_fuelsys_officereq');

Figure Highlight Objects with Requirements contains an axes and another object of type uicontrol. The axes contains an object of type image.

Оранжевая подсветка соответствует объектам со связанными требованиями. Подсветка с пустым заполнением предназначена для подсистем, дочерние элементы которых имеют ссылки на требования. Дважды кликните fuel rate controller блокировать, чтобы открыть подсистему и просмотреть дочерние объекты с требованиями, или оценить следующее.

open_system('slvnvdemo_fuelsys_officereq/fuel rate controller');

Переход к документу

Щелкните правой кнопкой мыши по Airflow calculation блок в fuel rate controller и выберите Requirements > Mass airflow estimation в контекстном меню.

Это открывает связанный документ и выбирает целевое содержимое. Можно также оценить следующий код: rmidemo_callback('view','slvnvdemo_fuelsys_officereq/fuel rate controller/Airflow calculation',1)

Требования к ссылкам в диаграммах Stateflow

Дважды кликните control logic блок графика в fuel rate controller подсистема для открытия графика. Если вы не можете найти его, оцените следующий код.

rmidemo_callback('locate','slvnvdemo_fuelsys_officereq/fuel rate controller/control logic');

Выделены государства и переходные процессы, связанные с потребностями. Щелкните правой кнопкой мыши по Rich Mixture Состоянием выберите Requirements и перейдите по ссылке в верхней части, чтобы просмотреть связанную документацию. Кроме того, оцените следующий код: rmidemo_callback('view','slvnvdemo_fuelsys_officereq/fuel rate controller/control logic:26',1)

Переход от документа требований к объектам модели

В slvnvdemo_FuelSys_DesignDescription.docx на предыдущем шаге найдите раздел 3.3 Давление в манифольде, типе отказа в документе, и дважды щелкните значок Simulink в конце подзаголовка. Это отображает соответствующую подсистему Simulink с выделенным целевым объектом. Закройте все окна модели и повторите навигацию из документа.

Схемы или графики открываются по мере необходимости, пока может быть найден файл модели.

Создание новых ссылок

Чтобы сконфигурировать настройки для создания двунаправленных ссылок, выполните следующие действия:

  • В модели Simulink, на вкладке Requirements, выберите Link Settings > Linking Options.

  • В появившемся диалоговом окне убедитесь, что установлен флажок Изменить назначение для двунаправленного соединения.

Теперь создайте новые ссылки, подобные таковым, в которых вы только что перемещались. Примечание.Microsoft Word не позволяет создавать ссылку, если документ доступен только для чтения. Для следующего шага этого примера рассмотрите сохранение собственной локальной копии документа и использование ее вместо установленного документа.

  • В slvnvdemo_FuelSys_DesignDescription.docx раздел 2.2 Определение эффективность перекачки.

  • Выделите весь заголовок мышью.

  • Щелкните правой кнопкой мыши по Pumping Constant блок в Airflow calculation подсистема. Если вы не можете найти его, оцените следующее:

rmidemo_callback('locate',['slvnvdemo_fuelsys_officereq/fuel rate controller/' ...
    'Airflow calculation/Pumping Constant']);
  • Выберите Requirements > Link to Selection in Word, чтобы создать ссылку.

Щелкните правой кнопкой мыши Pumping Constant снова блокируйте. Теперь вы увидите только что созданную ссылку в верхней части контекстного меню. Щелкните его, чтобы перейти к цели в разделе 2.2 slvnvdemo_FuelSys_DesignDescription.docx.

Требования к ссылкам в блоках Signal Builder

Ссылки сигналов присоединены к отдельным группам сигналов, а не к блоку Signal Builder в целом. Используйте такого рода ссылки для тестов, которые определены как группы Signal Builder.

  • Дважды кликните Test inputs Блок Signal Builder, чтобы увидеть сконфигурированные группы сигналов. Сигналами нормальной операции являются периодически нажатая педаль акселератора и постоянная частота вращения двигателя. Перейдите к Test inputs блокировать путем оценки следующего кода.

rmidemo_callback('locate','slvnvdemo_fuelsys_officereq/Test inputs');
  • Нажмите кнопку Показа верификации settings в конце панели инструментов, чтобы отобразить панель Верификации.

  • Если панель «Требования» под параметрами блока « Верификации» не отображается, нажмите кнопку « отображение» в верхней части панели.

  • Щелкните правой кнопкой мыши метку ссылки в разделе Требования и выберите Вид, чтобы открыть соответствующие данные требований, на этот раз в документе Microsoft Excel. Значок Simulink в связанной камере позволяет перемещаться назад к этой группе сигналов. Кроме того, оцените следующий код: rmidemo_callback('view','slvnvdemo_fuelsys_officereq/Test inputs',1)

  • Переходная нестабильность частоты вращения моделируется прямоугольным импульсом на данных о скорости вращения двигателя во второй группе сигналов:

rmidemo_callback('signalgroup','slvnvdemo_fuelsys_officereq/Test inputs',2)
  • Предположим, что вам нужно связать группу сигналов отказа датчика частоты вращения с другой областью значений камер в файле Excel. Выберите эту группу сигналов в раскрывающемся списке, щелкните правой кнопкой по пустому Requirements и выберите Open Outgoing Links диалоговое окно... из контекстного меню, чтобы открыть диалоговое окно.

  • Самый простой способ добавить ссылку - нажать кнопку Обзор, чтобы найти файл Excel. Затем откройте файл Excel и выберите камеры, с которыми необходимо создать ссылку. В меню «Исходящие ссылки» выберите «Использовать текущий», и будет создана ссылка на текущий выбор.

  • Щелкните правой кнопкой мыши новую метку в области Requirements и выберите View, чтобы перейти, чтобы увидеть целевую камеру в файле TestScenarios.

Создание отчета о требованиях

На вкладке Требования щелкните Поделиться > Сгенерировать Отчет о трассируемости модели, чтобы автоматически сгенерировать отчет по всем ссылкам требований в модели или оценить следующий код. rmidemo_callback('report','slvnvdemo_fuelsys_officereq') % Generate a model traceability report

Отчет по умолчанию создается в соответствии с шаблоном, включенным в продукт.

Интерфейс Report Generator обеспечивает полный контроль над содержимым сгенерированных отчетов, включая создание полностью новых шаблонов. Доступ к нему можно получить, оценив следующее: setedit('requirements')

Подмножество опций также доступно на вкладке Требования (Requirements) в разделе Общий доступ (Share) > Параметры отчета (Опции). Например, можно отключить флажок Подсветить модель перед генерацией отчета, если полученный отчет будет напечатан черно-белым или просмотрен через проектор, или можно включить списки объектов, не имеющих ссылок на требования.

Проверка согласованности требований

Используйте Model Advisor, чтобы автоматически обнаружить и исправить несоответствия в данных ссылок требований. Щелкните Проверить согласованность (Check Consistency) на вкладке Требования (Requirements), чтобы открыть Model Advisor с активированными только контрольными точками RMI. Ссылки проверяются на отсутствующие документы, несоответствующие местоположения в документах, несоответствующие метки для ссылок, основанных на выборе, и несогласованную информацию о пути. Можно также оценить следующее, чтобы открыть Model Advisor: rmidemo_callback('check','slvnvdemo_fuelsys_officereq')

Нажмите кнопку Run Selected Checks, чтобы проверить согласованность ссылок в вашей модели. RMI автоматически открывает связанные документы и проверяет непротиворечивость хранимых данных. По завершении щелкните отдельные элементы проверки, чтобы просмотреть результаты на правой панели. В этом примере одна из ссылок указывает на недопустимое расположение в документе:

У другой ссылки есть метка, которая не совпадает с исходным выбором при создании ссылки:

Щелкните Исправить или Обновить в отчете Model Advisor, чтобы автоматически устранить сообщенные несоответствия. Перезапустите проверки, чтобы убедиться, что сообщенная проблема устранена.

Требования к фильтрации для свойства тега пользователя

Ссылки с требованиями в Simulink поддерживают необязательное свойство User Tag, которое может хранить любые разделенные запятыми строковые значения. Используйте эти теги для различения различных типов ссылок, например, ссылок функциональных требований, ссылок описания проекта или ссылок сведений о тестировании. Можно задать теги при создании новых ссылок или позже в диалоговом окне Open Outgoing Links... диалоговое окно.

Можно позже использовать эти теги, чтобы сфокусировать работу на подмножестве ссылок или автоматически удалить подмножество ссылок из модели. Управление осуществляется через вкладку Filters меню Requirements Settings, которая открывается нажатием кнопки Ссылки Settings > Linking Опций на вкладке Requirements.

Когда требования модели подсвечиваются, изменение настройки фильтра обновляет представление, чтобы показать только соответствующие ссылки требований. Ссылки требований в этой модели примера помечены одним из следующих: «проект», «требование», «тест». Вид настраивается соответствующим образом при изменении параметров фильтра. Для примера можно подсветить только ссылки с тегами «requirement».

При создании отчета с включенными фильтрами тегов пользователя содержимое отчета фильтруется соответствующим образом. Это может быть полезно, чтобы сфокусировать ваш отчет на конкретном подмножестве ссылок.

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

Обновление всех ссылок при перемещении или переименовании документов с требованиями

Иногда бывает, что документы нужно переименовывать или перемещать после создания ссылок. Использование rmidocrename утилита командной строки, чтобы одновременно настроить все ссылки в модели.

help rmidocrename
 RMIDOCRENAME Update model requirements document paths and file names.
    RMIDOCRENAME(MODEL_HANDLE, OLD_PATH, NEW_PATH)
    RMIDOCRENAME(MODEL_NAME, OLD_PATH, NEW_PATH)
    
    RMIDOCRENAME(MODEL_HANDLE, OLD_PATH, NEW_PATH) collectively
    updates the links from a Simulink(R) model to requirements files whose
    names or locations have changed. MODEL_HANDLE is a handle to the
    model that contains links to the files that you have moved or renamed.
    OLD_PATH is a string that contains the existing file name or path or 
    a fragment of file name or path.
    NEW_PATH is a string that contains the new file name, path or fragment.
 
    RMIDOCRENAME(MODEL_NAME, OLD_PATH, NEW_PATH) updates the
    links to requirements files associated with MODEL_NAME. You can pass
    RMIDOCRENAME a model handle or a model name string.
 
    When using the RMIDOCRENAME function, make sure to enter specific
    strings for the old document name fragments so that you do not
    inadvertently modify other links.
 
    RMIDOCRENAME displays the number of links modified.
 
    Examples:
 
        For the current Simulink(R) model, update all links to requirements
        files whose names contain the string 'project_0220', replacing 
        with 'project_0221': 
            rmidocrename(gcs, 'project_0220', 'project_0221');
        
        For the model whose handle is 3.0012, update links after all
        documents were moved from C:\My Documents to D:\Documents
            rmidocrename(3.0012, 'C:\My Documents', 'D:\Documents');
 
 
    See also RMI RMITAG

    Documentation for rmidocrename
       doc rmidocrename
  • Создайте копию примера модели с возможностью записи. Например, откройте исходную систему и сохраните как slvnvdemo_fuelsys_officereq_copy.

open_system('slvnvdemo_fuelsys_officereq')
save_system('slvnvdemo_fuelsys_officereq','slvnvdemo_fuelsys_officereq_copy.slx')
  • Выделите требования, которые помечены как «требования». Эти ссылки указывают на slvnvdemo_FuelSys_RequirementsSpecification.docx и они должны указывать на соответствующие местоположения в Microsoft Word 2003 версии того же документа.

rmidemo_callback('filter','slvnvdemo_fuelsys_officereq_copy','requirement') 

Figure Signal Builder (slvnvdemo_fuelsys_officereq_copy/Test inputs) contains objects of type uicontrol, uipanel, uimenu, uitoolbar, hgjavacomponent.

Figure Highlight Objects with Requirements contains an axes and another object of type uicontrol. The axes contains an object of type image.

  • Оцените следующий код, чтобы перенаправить ссылки на .doc документ: rmidocrename(gcs,'Specification.docx','Specification.doc')

  • Выполняется частичное сопоставление в имени документа; вам не нужно указывать полное имя документа, пока данный шаблон достаточно специфичен, чтобы избежать нежелательных изменений. Для примера замена .doc на .docx пошла бы неправильно, потому что .docx становится .docx. RMI отвечает следующим сообщением: «Обработано 16 объектов с требованиями, изменено 7 из 18 ссылок». Только объекты с соответствующими требованиями были обработаны из-за текущей настройки фильтра тегов пользователя.

  • Попробуйте перемещаться по подсвеченным ссылкам. Для примера перейдите из Relational Operator под Airflow calculation. Версия документа Microsoft Word 2003 откроется в правильном месте.

rmidemo_callback('locate',['slvnvdemo_fuelsys_officereq_copy/fuel rate controller/' ...
    'Airflow calculation/Relational Operator3'],1);

Вставка элементов управления навигацией в документы для соответствия односторонним ссылкам

Если ранее вы создали односторонние ссылки из объектов Simulink в документы и позже должны включить навигацию из расположений в документах назад к соответствующим объектам в Simulink, используйте rmiref.insertRefs утилита для вставки соответствующих ссылок « возвратов» в документ требований.

Один из документов, включенных в этот пример, slvnvdemo_FuelSys_DesignDescription.doc не имеет элементов управления навигацией Simulink. У него есть закладки в местах, которые соответствуют ссылкам, помеченным проектом в модели примера.

  • Повторно используйте доступную для записи копию модели из предыдущего раздела.

open_system('slvnvdemo_fuelsys_officereq_copy')
  • Оцените следующий код, чтобы перенаправить соответствующие ссылки из slvnvdemo_FuelSys_DesignDescription.docx в slvnvdemo_FuelSys_DesignDescription.doc. В командном окне появляется следующее сообщение: Обработано 16 объектов с требованиями, изменено 8 из 16 ссылок. rmidocrename('slvnvdemo_fuelsys_officereq_copy','Description.docx','Description.doc');

  • Перейдите по одному из ссылок. Для примера щелкните правой кнопкой мыши по Airflow calculation блок подсистемы, щелкните правой кнопкой мыши и выберите Requirements, а затем щелкните связанное требование. Это поднимает slvnvdemo_FuelSys_DesignDescription.doc, который не имеет элементов управления навигацией Simulink. Если вы не можете найти блок, оцените следующий код.

rmidemo_callback('locate',['slvnvdemo_fuelsys_officereq_copy/fuel rate controller/' ...
    'Airflow calculation']);
  • Выполняйте rmiref.insertRefs('slvnvdemo_fuelsys_officereq_copy','word') для вставки элементов управления навигацией «документ-модель» в slvnvdemo_FuelSys_DesignDescription.doc. Вы видите значки навигации Simulink, вставленные в документ. Теперь можно использовать эти значки для перехода к объектам Simulink в модели slvnvdemo_fuelsys_officereq_copy.

Если в документе отсутствует указанная закладка местоположения, вставить элементы управления навигацией невозможно. В этом примере документ не был сохранен после создания последней ссылки. В командном окне появляется следующее предупреждение: Именованный элемент «Simulink_requirement_item_7» не может быть расположен в закладках или заголовках разделов.

Когда ссылка в модели не задает местоположение, в верхней части документа вставляется элемент управления навигацией.

Удалите все кнопки Ссылки Simulink из документа

Когда элементы управления навигацией Simulink вставляются в документ Microsoft Office, вам не обязательно сохранять документ перед переходом в Simulink. Это позволяет вам временно вставлять объекты навигации при необходимости. Если документ сохранен с помощью вставленных кнопок навигации и теперь необходимо вернуться к чистому документу, используйте rmiref.removeRefs утилита для удаления кнопок. Например, выполните следующие шаги, чтобы удалить кнопки, вставленные на предыдущем шаге этого примера:

  • Убедитесь, что slvnvdemo_FuelSys_DesignDescription.doc открыт и является текущим документом Microsoft Word.

  • Выполняйте rmiref.removeRefs('word') чтобы удалить кнопки. RMI запрашивает подтверждение в командном окне.

Восстановление ссылок из документов в Simulink

Элементы управления навигацией Simulink, встроенные в документы требований, могут устареть при изменении или перемещении моделей Simulink. Это приводит к разрыву ссылок. Используйте rmiref.checkDoc утилита для обнаружения и восстановления ссылок из внешних документов в Simulink. В этом примере будет исправлена одна разорванная ссылка в slvnvdemo_FuelSys_DesignDescription.docx документе.

  • Выполняйте which slvnvdemo_fuelsys_officereq_copy и удалите slvnvdemo_fuelsys_officereq_copy.slx из пути MATLAB, если он существует.

  • Откройте slvnvdemo_FuelSys_DesignDescription.docx и попытаться перейти по ссылке в самом низу документа. Появится следующее диалоговое окно ошибки:

  • Выполняйте rmiref.checkDoc('slvnvdemo_FuelSys_DesignDescription.docx') для проверки документа на наличие разорванных ссылок. RMI выделяет обнаруженные проблемы в документе и отображает HTML.

Все функциональные ссылки перечислены в нижней части отчета. Из этого отчета можно перейти к связанным объектам в Simulink (столбец Цель в Simulink) и к целевым местоположениям в документе (столбец Содержимое документа).

Красный шрифт в отчете выделяет проблемы, которые требуют внимания. В этом случае существует одна разорванная ссылка, которая ссылается на неразрешенное имя модели. Исправьте ссылки перед переходом.

Очистка

Следующий код выполняется для очистки рабочей области после запуска примеров. Все данные требований удаляются из рабочей области, и все модели Simulink закрыты.

slreq.clear;
bdclose('all');
Для просмотра документации необходимо авторизоваться на сайте