Requirements Management Interface (RMI) предоставляет инструменты для создания и анализа ссылок между объектами Simulink и документами требований. Этот пример иллюстрирует связывание объектов модели с Microsoft Office Documents, навигацию по этим ссылкам, создание отчета о требованиях и поддержание согласованности ссылок. См. также «Работа с IBM RATIONAL DOORS 9» Пример требований к функциям, относящимся к связыванию с требованиями, хранящимися в IBM RATIONAL DOORS.
Модель включенного примера связана с документами в формате Microsoft Office. Если доступна только более ранняя версия Microsoft Office, перейдите в раздел «Обновление всех ссылок» при перемещении или переименовании документов для примера того, как настроить модель примера для работы с включенными более ранними версиями документов.
Функции управления требованиями демонстрируются на примере модели отказоустойчивой системы управления топливом. Вы можете открыть эту модель, оценив следующий код.
open_system('slvnvdemo_fuelsys_officereq');
В модели, на вкладке Приложения, откройте Диспетчер требований.
На вкладке «Требования» убедитесь, что выбрано «Размещение» > «Браузер требований».
В браузере требований в раскрывающемся меню View выберите Ссылки.
В этом примере вы работаете исключительно на вкладке Requirements, и все ссылки на кнопки панели инструментов находятся на этой вкладке.
Если в течение этого примера в раскрывающемся меню «Вид» браузера требований в любой момент можно изменить значение параметра «Требования», это приведет к изменению кнопок, которые можно увидеть, и, возможно, вы не сможете правильно следовать инструкциям без возврата на «Ссылки».
Этот пример начинается с модели, которая имеет только несколько ссылок требований. На вкладке Requirements нажмите Highlight Links, чтобы подсветить блоки со ссылками требований или оценить следующий код.
rmi('highlightModel', 'slvnvdemo_fuelsys_officereq');
Оранжевая подсветка соответствует объектам со связанными требованиями. Подсветка с пустым заполнением предназначена для подсистем, дочерние элементы которых имеют ссылки на требования. Дважды кликните 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)
Дважды кликните 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.
Дважды кликните 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')
Оцените следующий код, чтобы перенаправить ссылки на .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 вставляются в документ Microsoft Office, вам не обязательно сохранять документ перед переходом в Simulink. Это позволяет вам временно вставлять объекты навигации при необходимости. Если документ сохранен с помощью вставленных кнопок навигации и теперь необходимо вернуться к чистому документу, используйте rmiref.removeRefs
утилита для удаления кнопок. Например, выполните следующие шаги, чтобы удалить кнопки, вставленные на предыдущем шаге этого примера:
Убедитесь, что slvnvdemo_FuelSys_DesignDescription.doc
открыт и является текущим документом Microsoft Word.
Выполняйте rmiref.removeRefs('word')
чтобы удалить кнопки. RMI запрашивает подтверждение в командном окне.
Элементы управления навигацией 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');