Requirements Management Interface (RMI) обеспечивает инструменты для создания и рассмотрения ссылок между объектами Simulink и документами требований. Этот пример иллюстрирует соединение объектов модели к Документам Microsoft Office, навигации этих ссылок, генерации отчета требований и поддержанию непротиворечивости ссылок. См. также Работу с Rational DOORS IBM 9 примеров Требований для функций, характерных для соединения с требованиями, сохраненными в Rational DOORS IBM.
Включенная модель в качестве примера соединена с документами в формате Microsoft Office. Если только более ранняя версия Microsoft Office доступна для вас, скачка к Обновлению всех ссылок, когда документы перемещены или переименованы для примера того, как настроить модель в качестве примера, чтобы работать с включенными более ранними версиями документов. Прямые ссылки на документы Microsoft Office только поддерживаются на платформах Windows®.
Функции управления требованиями продемонстрированы с помощью модели в качестве примера отказоустойчивой топливной системы управления. Можно открыть эту модель путем оценки следующего кода.
open_system('slvnvdemo_fuelsys_officereq');
Во вкладке Apps откройте менеджера по Требованиям.
Во вкладке Requirements обеспечьте Размещение>, Браузер Требований выбран.
В Браузере Требований, в Представлении выпадающее меню, выбирают Links
.
В этом примере вы будете работать исключительно во вкладке 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 контекстное меню.
Это открывает соединенный документ и выбирает целевое содержимое. Можно также оценить следующий код:
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 не позволит вам создавать ссылку, когда документом будет ReadOnly. Для следующего шага этого примера рассмотрите сохранение вашей собственной локальной копии документа и использования его вместо установленного документа.
В 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');
Нажмите кнопку настроек верификации Show в конце панели инструментов, чтобы отобразить панель Верификации.
Если вы не видите панель Требований ниже настроек блока Verification, кликните по кнопке отображения Требований наверху панели.
Щелкните правой кнопкой по метке ссылки под Требованиями и выберите View, чтобы открыть связанные данные о требованиях, на этот раз в документе Microsoft Excel. Значок Simulink в связанной ячейке позволяет навигацию назад этой группе сигнала. В качестве альтернативы оцените следующий код:
rmidemo_callback('view','slvnvdemo_fuelsys_officereq/Test inputs',1)
Переходная нестабильность об/мин моделируется меандром на данных о Скорости вращения двигателя во второй группе сигналов:
rmidemo_callback('signalgroup','slvnvdemo_fuelsys_officereq/Test inputs',2)
Предположим, что необходимо соединить группу сигнала отказа датчика об/мин с различным диапазоном ячеек в файле Excel. Выберите эту группу сигнала в выпадающем списке, щелкните правой кнопкой по пустым Требованиям и выберите диалоговое окно Open Outgoing Links из контекстного меню, чтобы открыть диалоговое окно.
Самый простой способ добавить ссылку состоит в том, чтобы нажать Browse, чтобы найти файл Excel. Затем откройте файл Excel и выберите ячейки, с которыми вы хотите соединиться. В меню Outgoing Links нажмите Use Current, и ссылка будет создана к вашему текущему выбору.
Щелкните правой кнопкой по новой метке под областью Requirements и выберите View, чтобы перейти, чтобы видеть целевую ячейку в файле TestScenarios.
Во вкладке Requirements нажмите Share> Generate Model Traceability Report, чтобы автоматически сгенерировать отчет относительно всех ссылок требований в модели или оценить следующий код.
rmidemo_callback('report','slvnvdemo_fuelsys_officereq')
Отчет по умолчанию сгенерирован согласно шаблону, который включен с продуктом.
Интерфейс Report Generator обеспечивает полный контроль по содержимому сгенерированных отчетов, включая создание совершенно новых шаблонов. К этому можно получить доступ путем оценки следующего: setedit('requirements')
К подмножеству опций также получают доступ во вкладке Requirements под Долей> Опции Отчета. Например, можно хотеть отключить Подсветку модель прежде, чем сгенерировать флажок отчета, если получившийся отчет будет распечатан в черно-белых тонах или рассмотрен через проектор, или можно хотеть включать списки объектов, которые не имеют никаких ссылок на требования.
Используйте Model Advisor, чтобы автоматически обнаружить и зафиксировать несоответствия в данных о ссылках требований. Нажмите Check Consistency во вкладке Requirements, чтобы открыть Model Advisor только с активированными контрольными точками RMI. Ссылки проверяются на недостающие документы, несопоставленные местоположения в документах, несопоставленные метки для основанных на выборе ссылок и противоречивую информацию о пути. Можно также оценить следующее, чтобы открыть Model Advisor:
rmidemo_callback('check','slvnvdemo_fuelsys_officereq')
Нажмите кнопку Run Selected Checks, чтобы проверить непротиворечивость ссылок в вашей модели. RMI автоматически откроет соединенные документы и проверку на непротиворечивость хранимых данных. Когда сделано, кликните по отдельным элементам проверки, чтобы просмотреть результаты в панели правой стороны. В этом примере одна из ссылок указывает на недопустимое местоположение в документе:
Другая ссылка имеет метку, которая не совпадает с исходным выбором, когда ссылка была создана:
Нажмите Fix, или Update in Model Advisor сообщают, чтобы автоматически решить, сообщили несоответствия. Повторно выполните проверки, чтобы гарантировать, что проблема, о которой сообщают, разрешена.
Ссылки требований в Simulink поддерживают дополнительное Пользовательское Свойство тегов, которое может сохранить любые разделенные от запятой значения строки. Используйте эти теги, чтобы отличить между различными типами ссылок, например, ссылок функциональных требований, ссылок описания проекта или тестирующих ссылок деталей. Можно задать теги при создании новых ссылок, или позже через Открытое Исходящее диалоговое окно Ссылок... диалоговое окно.
Вы можете дальнейшее использование эти теги, чтобы фокусировать вашу работу над подмножеством ссылок или автоматически лишить подмножество ссылок из модели. Этим управляют через вкладку Filters Меню параметров Требований, открытого путем нажатия на Link Settings> Linking Options во вкладке Requirements.
Когда требования модели подсвечены, изменение установки фильтра обновляет представление, чтобы только показать соответствующие ссылки требований. Ссылки требований в этой модели в качестве примера помечены с одним из следующего: "проект", "требование", "тест". Представление настраивает соответственно, когда вы изменяете настройки фильтра. Например, можно подсветить только ссылки, которые помечены "требование".
Если вы генерируете отчет с Пользовательскими включенными фильтрами Тега, ваше содержимое отчета отфильтровано соответственно. Это может быть полезно, чтобы фокусировать ваш отчет относительно конкретного подмножества ссылок.
Если при запуске непротиворечивость, сверяющуюся с Пользовательскими включенными фильтрами Тега, только соединяет то соответствие, данные настройки фильтра проверяются. Используйте это, чтобы предназначаться для вашей проверки непротиворечивости на необходимое подмножество ссылок.
Это иногда происходит, в который документы должны быть переименованы или перемещены после того, как ссылки были созданы. Используйте 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) и к целевым местоположениям в документе (Столбец содержимого документа).
Красный шрифт в отчете подсвечивает проблемы, которые требуют внимания. В этом случае существует одна неработающая ссылка, которая ссылается на неразрешенное имя модели. Восстановите ссылки перед хождением дальше.
Очистите открытые наборы требования и набор ссылки. Закройте все открытые модели Simulinik. Очистите фильтр ключевого слова ссылки.
slreq.clear; bdclose('all'); rmipref('FilterRequireTags','');