Requirements Management Interface (RMI) обеспечивает инструменты для создания и рассмотрения ссылок между объектами Simulink и документами требований. Этот пример иллюстрирует соединение объектов модели к требованиям, сохраненным в Rational DOORS IBM. Смотрите Пример с документами Microsoft Office для получения дополнительной информации об использовании RMI.
Убедитесь, что ваша установка DOORS сконфигурирована для связи с RMI. Запустите MATLAB как Администратора и выполните rmi('setup')
. Если Клиентская установка DOORS будет обнаружена, RMI запросит, чтобы установить необходимые файлы API. Только необходимо сделать это однажды после переустановки или DOORS или MATLAB. Смотрите Сконфигурировать RMI для Взаимодействия с Microsoft Office и темой Rational DOORS IBM для получения дополнительной информации.
В целях этого примера включена модель в качестве примера отказоустойчивой топливной системы управления, вызвал slvnvdemo_fuelsys_doorsreq.slx
. Используйте его для упражнений, представленных ниже.
Откройте модель Simulink вручную или путем оценки следующего кода.
open_system('slvnvdemo_fuelsys_doorsreq');
Можно использовать любой временный модуль DOORS для основных упражнений создания ссылки ниже, и можно использовать включенный DemoRMI.dpa
архив для более усовершенствованного осуществления Суррогатной Синхронизации Модуля.
Во вкладке Apps откройте менеджера по Требованиям.
Во вкладке Requirements обеспечьте Размещение>, Браузер Требований выбран.
В Браузере Требований, в Представлении выпадающее меню, выбирают Links.
В этом примере вы будете работать исключительно во вкладке Requirements, и любые ссылки на кнопки панели инструментов находятся в этой вкладке.
Если когда-либо во время этого примера вы измените выбор в Требования в Представлении выпадающее меню в Браузере Требований, это изменится, какие кнопки вы можете видеть, и вы не можете смочь следовать инструкциям правильно, не возвращаясь к Ссылкам.
Можно соединить объект модели с требованиями, сохраненными в базе данных DOORS (объекты DOORS). Вы не должны изменять документы DOORS при создании ссылок. Самый практический способ создать новые ссылки через Исходящее диалоговое окно Ссылки. Это требует вручную заполнения - в полях атрибута ссылки. Смотрите следующий подраздел для более легкого автоматизированного пути.
Перейдите к Metered Fuel
Блок Scope.
rmidemo_callback('locate','slvnvdemo_fuelsys_doorsreq/Metered Fuel');
Щелкните правой кнопкой по блоку и выберите Requirements> диалоговое окно Open Outgoing Links... из контекстного меню. Исходящее диалоговое окно Ссылки открывается.
Нажмите New, чтобы создать новое требование.
Выберите DOORS Item в Типе документа выпадающее поле.
Задайте уникальный целевой ID модуля в поле ввода Документа или используйте Кнопку обзора, чтобы выбрать целевой модуль в базе данных DOORS.
Введите идентификатор целевого объекта в поле Location Identifier или используйте вкладку Document Index, чтобы выбрать целевой объект в выбранном модуле.
Нажмите Apply или OK, чтобы сохранить новую ссылку требования.
Щелкните правой кнопкой по тому же блоку Simulink снова, чтобы видеть новую метку ссылки, перечисленную в главном фрагменте контекстного меню.
Более легкий способ установить новые ссылки через Ярлыки Соединения Выбора. Щелкните правой кнопкой по блоку и выберите Requirements> Link to Selection in DOORS.
Создание ссылок через ярлыки контекстного меню не требует, чтобы любое руководство ввело. Место назначения цели ссылки определяется текущим выбором в DOORS, и поле Description установлено в соответствующий Объектный Заголовок или в текст Объекта DOORS, когда нет никакого Заголовка. Поскольку Описание используется для ярлыков навигации в контекстных меню, количество предела символов применяется.
RMI поддерживает двунаправленное соединение с требованиями в DOORS, но вы начнете с однонаправленных ссылок. Отключите двунаправленное соединение во вкладке Requirements модели путем нажатия на Link Settings>, Linking Options и снятие выделения Изменяют место назначения для двунаправленного соединения под При создании основанных на выборе ссылок.
В качестве альтернативы можно оценить следующий код.
rmipref('BiDirectionalLinking', false);
Мы покроем двунаправленное соединение позже. Теперь испытайте это:
Выберите любой объект в своем тестовом модуле в DOORS.
Перейдите к throttle sensor
блок.
rmidemo_callback('locate','slvnvdemo_fuelsys_doorsreq/throttle sensor');
Щелкните правой кнопкой мыши по блоку и выберите Requirements> Link to Selection in DOORS в контекстном меню, чтобы создать ссылку.
Щелкните правой кнопкой по throttle sensor
блокируйтесь снова и найдите метку ссылки наверху контекстного меню Requirements, чтобы подтвердить, что ссылка была добавлена. Можно использовать Исходящее диалоговое окно Ссылки позже, чтобы настроить метку описания или Пользовательские ключевые слова Тега.
Использование текущая кнопка в диалоговом окне Outgoing Link обеспечивает объединенный подход:
Щелкните правой кнопкой по блоку по модели и выберите Requirements> диалоговое окно Open Outgoing Links... из контекстного меню.
Нажмите на кнопку New, чтобы добавить другой элемент ссылки.
Выберите DOORS Item в Типе документа выпадающее поле.
В окне модуля DOORS нажмите на объект, который вы хотите соединить.
Нажмите Use текущая кнопка, чтобы автоматически заполнить все поля ввода с данными из текущего выбранного объекта DOORS.
Настройте Описание как требуется.
Сохраните изменения нажатием "ОК" или Применяйтесь.
Можно также использовать Использование текущая кнопка, чтобы перенаправить существующую ссылку:
Выберите необходимый новый целевой объект в DOORS.
В Исходящем диалоговом окне Ссылки нажмите на элемент списка, который вы хотите обновить.
Нажмите Use текущая кнопка, чтобы обновить атрибуты ссылки.
Вы подсвечиваете и перемещаетесь по ссылкам DOORS таким же образом, вы делаете это с другими типами ссылок, видите пример Microsoft Office для деталей.
Во вкладке Requirements нажмите Highlight Links, чтобы подсветить все требования в модели в качестве примера. Можно также оценить следующее, чтобы подсветить ссылки.
rmi('highlightModel', 'slvnvdemo_fuelsys_doorsreq');
Убедитесь, что DOORS запускаются и вошли в систему.
Щелкните правой кнопкой по одному из подсвеченных объектов, что вы раньше создавали новые ссылки в предыдущем разделе.
Выберите Requirements из контекстного меню. Метки ссылок, которые вы создали, должны отобразиться наверху.
Нажмите на метку ссылки. Ваш тестовый модуль открывается в DOORS выбранным правильным объектом.
Старайтесь только попробовать это ссылками, которые вы создали. Существуют другие ссылки в модели, которая только еще не будет работать. Мы покроем фиксацию тех ссылок в разделах ниже.
Суррогатный рабочий процесс модуля поддерживается для DOORS, чтобы позволить двухстороннее соединение, не будучи должен изменить модули требований DOORS. Следующее изображение иллюстрирует рабочий процесс.
Новый формальный модуль DOORS, отнесенный как суррогатный модуль, автоматически сгенерирован Simulink, который будет использоваться в качестве представления DOORS модели Simulink. Можно принять решение сопоставить все объекты в модели, или только тех со ссылками на DOORS, или выбрать одну из промежуточных опций, как обсуждено в документации.
Можно создать прямые ссылки на требования в DOORS, как продемонстрировано в предыдущих разделах (отметил 3 в изображении), и дополнительное соответствие прямые ссылки от документов DOORS до объектов Simulink, как продемонстрировано в последнем разделе этого примера (отметил 2 в изображении).
Кроме того, с суррогатным модулем, существующим в DOORS, можно установить ссылки в DOORS между элементами в суррогатных модулях, и требования, сохраненные в DOORS (отметил 1 в изображении), в то время как навигация к и от Simulink обеспечивается суррогатными ссылками на элемент (отметил 4 в изображении).
Суррогатный рабочий процесс модуля обеспечивает следующие преимущества:
Двунаправленное соединение возможно без потребности изменить документы в DOORS или модели в Simulink. Вся запрошенная информация хранится в суррогатных модулях и соответствующих модулях ссылки.
Можно управлять и анализировать ссылки в среде DOORS без обязательно рабочего Simulink, включая использование собственного компонента, сообщающего о возможностях DOORS.
Ниже снимок экрана в качестве примера автоматически сгенерированного Суррогатного модуля. Обратите внимание на то, что иерархия DOORS зеркально отражает структуру инициирующей модели Simulink, и заголовки объекта DOORS совпадают с именами объектов Simulink:
Обычно, вы перешли бы к вкладке Requirements в вашей модели Simulink, и Доля использования> Синхронизируются с DOORS, чтобы создать новый модуль суррогата DOORS для вашей модели Simulink.
В целях этого примера существующий проект DOORS предоставлен как архив, включая суррогатный модуль со ссылками на другие модули. Чтобы испытать интерактивные функции этого примера, восстановите проект в свою базу данных DOORS, и затем ресинхронизируйте модель в качестве примера, как объяснено ниже. Обратите внимание на то, что этот архив был создан в версии 9.1 DOORS и не может работать с более ранними версиями DOORS.
Используйте Файл> функция Восстановления в DOORS и укажите его на архив DemoRMI.dpa, обеспеченный в настоящей рабочей директории. Если ваш уже имеют проект под названием DemoRMI в вашей базе данных DOORS, DOORS добавляет номер к названию проекта. Как показано в снимке экрана ниже, проект включает один модуль ссылки и три формальных модуля. Один формальный модуль является суррогатом DOORS для slvnvdemo_fuelsys_doorsreq
модель; другие два являются модулями в качестве примера, произведенными путем импорта документов Microsoft Word из примера Microsoft Office.
Извлеките все включенные модули и откройте суррогатный модуль.
Отметьте красные и оранжевые треугольники навигации ссылки в двух из извлеченных модулей. Щелкните правой кнопкой, чтобы перейти между модулями. Эти ссылки сохраняются через процедуру резервного восстановления.
Попытайтесь перейти от извлеченного суррогатного модуля до соответствующего объекта в Simulink от DOORS:
Кликните по 1.11.4.1 топливным уровням в slvnvdemo_fuelsys_doorsreq суррогатном модуле.
В главном меню окна модуля нажмите MATLAB> Select Item. Правильная схема подсистемы открывается, и соответствующий вход подсвечен.
Навигация от объектов Simulink до суррогатного модуля повреждается, потому что извлеченные модули имеют новые числовые идентификаторы в вашей базе данных DOORS, пытаться переместиться по Ссылке на элемент Суррогата DOORS на любом объекте произведет ошибку. Восстановить Ссылки на элемент Суррогата DOORS на всех объектах в slvnvdemo_fuelsys_doorsreq model
после того, как вы успешно восстановите проект DemoRMI, ресинхронизируйте модель Simulink с восстановленным экземпляром суррогата.
В окне модели выберите вкладку Requirements и затем нажмите Share> Synchronize with DOORS, чтобы открыть диалоговое окно Synchronization Settings.
Введите следующие настройки, с помощью правильного пути DOORS для в пути к модулю суррогата DOORS и назовите поле ввода, в зависимости от местоположения восстановленного проекта, или просто сделайте его текущим проектом в DOORS и использовании ". /" обозначение: введите "./slvnvdemo_fuelsys_doorsreq".
Не включайте флажок модели Save Simulink в нижней части, вы не сможете сохранить изменения в модели в качестве примера, если вы не будете использовать перезаписываемую копию.
Simulink может предупредить вас о предыдущем пути к синхронизации. Нажмите Continue, чтобы возобновить новый путь. Можно получить следующее сообщение в командном окне: "Никакое обновление не необходимо для суррогатного модуля". Ваш восстановленный суррогатный модуль правилен, как.
Повторите навигацию от любого объекта в модели к соответствующему объекту DOORS в суррогатном модуле путем щелчка правой кнопкой по блоку Simulink и выбора Requirements> 1. "ДВЕРНОЙ Элемент Суррогата" в контекстном меню. Это должно теперь подсветить соответствующий элемент DOORS в суррогатном модуле.
Модель в качестве примера идет с некоторыми существующими ранее ссылками на документ DOORS, модуль Описания Проекта FuelSys. Так же к исходным Ссылкам на элемент Суррогата DOORS, эти связи разорваны, потому что восстановленная копия модуля имеет новый ID в вашей локальной базе данных. Например, щелкните правой кнопкой по Airflow calculation
подсистема в модели и выбирает "1.2.1 Mass Airflow estimation" из контекстного меню Requirements. Это произведет сообщение об ошибке. Оцените следующий код, чтобы перейти к Airflow calculation
блок.
rmidemo_callback('locate',['slvnvdemo_fuelsys_doorsreq/fuel rate controller/' ... 'Airflow calculation']);
Мы теперь зафиксируем эти ссылки с помощью непротиворечивости RMI, регистрируясь в Model Advisor.
В окне модели Simulink во вкладке Requirements нажмите Check Consistency, чтобы поднять графический интерфейс Model Advisor.
Найдите Идентифицируют ссылки требования с недостающим элементом документов при проверке непротиворечивости Требований и выбирают его с мышью.
Нажмите кнопку Run This Check в верхней левой из правой панели. Блоки с неработающими ссылками перечислены. Можно зафиксировать перечисленные несоответствия один за другим, или, в панели Model Advisor можно использовать, Фиксируют Всю ссылку в нижней части. Мы будем использовать Фиксацию Весь ярлык, потому что мы знаем, что все неработающие ссылки должны быть перенаправлены к той же восстановленной копии исходного модуля.
В панели Model Advisor щелкните по ссылке Fix All в нижней части - браузер базы данных DOORS подходит.
Найдите восстановленный модуль Описания Проекта FuelSys в своей базе данных и выберите его с мышью.
Нажмите ОК, чтобы закрыть браузер базы данных DOORS.
Нажмите Run This Check снова. Проверка должна теперь передать.
Навигация повторной попытки: щелкните правой кнопкой по Airflow calculation
подсистема в модели и выбирает Requirements> "1.2.1 Mass Airflow estimation" из контекстного меню. Это теперь подсветит правильный объект в одном из модулей DOORS, которые вы восстановили из включенного архива.
Теперь, когда ваши прямые ссылки от Simulink до DOORS правильны, можно использовать синхронизацию, чтобы скопировать информацию о ссылке в базу данных DOORS. Ссылки будут дублированы в проекте DOORS, где можно использовать нативную навигацию DOORS, анализ и инструменты создания отчетов. Эти ссылки между суррогатом и другими модулями DOORS могут даже быть снова использованы с новой копией модели.
Вновь откройтесь Доля> Синхронизируются с диалоговым окном DOORS и конфигурируют следующие настройки. Убедитесь, что отключили Удалять несопоставленный во флажке DOORS, потому что существуют несопоставленные ссылки в восстановленном проекте, в котором вы нуждаетесь позже.
Нажмите кнопку Synchronize в нижней части.
Дайте ему несколько секунд и проверяйте суррогатный модуль в DOORS. Это должно теперь отобразить больше ссылок - некоторые, которые существовали в исходном восстановленном проекте (ссылки на модуль Спецификации Требований FuelSys) и некоторые, которые были только скопированы с Simulink (ссылки на модуль Описания Проекта FuelSys).
Найдите Airflow calculation
подсистема.
rmidemo_callback('locate',['slvnvdemo_fuelsys_doorsreq/fuel rate controller/' ... 'Airflow calculation']);
Перейдите к соответствующему суррогатному объекту с помощью Требований> 1. "ДВЕРНОЙ Элемент Суррогата" в контекстном меню для этого блока.
Новый красный треугольник показывает исходящую ссылку для 1.12.5 элементов вычисления Потока воздуха в DOORS. Щелкните правой кнопкой, чтобы переместиться по этой ссылке DOORS - это приносит вам к оценке потока воздуха Массы пункта 1.2.1 модуль Описания Проекта FuelSys.
Синхронизация через суррогатный модуль обеспечивает удобный способ распространить обновления системных требований в DOORS к соответствующим элементам реализации Simulink. Чтобы продемонстрировать этот рабочий процесс, восстановленный проект содержит ссылки DOORS от суррогатного модуля до Технических требований Требований FuelSys модуль DOORS, которые не присутствуют в модели Simulink. В DOORS перейдите назад к модулю, который вы восстановили в разделе "Synchronizing Your Simulink Model with a DOORS Database".
При запуске в модуле Спецификации Требований FuelSys найдите 2.1 Режима normal mode Операции.
Используйте ссылку DOORS, чтобы переместиться к "1.11.3 топливу" по элементу в суррогатном модуле путем щелчка правой кнопкой по желтой ссылке по модулю DOORS и нажатия через в контекстном меню, чтобы переместиться к "1.11.3 топливу" по элементу в slvnvdemo_fuelsys_doorsreq модуле DOORS.
В то время как "1.11.3 топлива" выбрано, нажмите MATLAB> Select Item в суррогатном главном меню модуля, чтобы определить местоположение соответствующего исходного объекта в модели Simulink.
Щелкните правой кнопкой по расположенному fuel
введите элемент в Simulink и проверяйте Требования в контекстное меню. 1. "Элемент Суррогата DOORS" является единственной доступной ссылкой: нет никаких ссылок на документы.
Чтобы скопировать информацию о ссылке от DOORS до Simulink, ресинхронизируйте со ссылками Обновления во время синхронизации, включенной, и выбор от DOORS до Simulink.
Вновь откройтесь Доля> Синхронизируются с диалоговым окном DOORS.
Сконфигурируйте следующие опции синхронизации:
Нормально теперь включать, Удаляют несопоставленный во флажке Simulink. После предыдущего шага синхронизации в Simulink нет никаких несопоставленных ссылок.
Сохраните некоторые схемы открытыми, и подсветил, чтобы визуализировать изменения, когда новые ссылки добавляются в Simulink.
Нажмите Synchronize. Суррогатное окно модуля может подойти к передней стороне, но нет никаких красных маркеров, потому что нет никаких изменений в DOORS.
Перейдите назад к fuel
введите в Simulink или оцените следующее.
rmidemo_callback('locate','slvnvdemo_fuelsys_doorsreq/engine gas dynamics/fuel');
Щелкните правой кнопкой и расширьте раздел Requirements Traceability контекстного меню. Заметьте новую ссылку ниже Ссылка на элемент Суррогата DOORS: "-> 2.1 Режима normal mode Операции". Префикс стрелы указывает, что это требование не было создано в Simulink, но скопировано с DOORS.
Щелкните по новой ссылке, чтобы перейти к соответствующему требованию в DOORS - 2.1 Режима normal mode раздела Operation открываются в модуле Спецификации Требований FuelSys.
Вы теперь применяете пользовательский фильтр тега, чтобы подтвердить изменения, которые вы внесли в модель. Все требования DOORS, которые существовали в исходной версии модели в качестве примера, были помечены "проект". Вы теперь используете этот факт, чтобы выборочно подсветить или скрыть эти ссылки:
Перейдите назад к fuel rate controller
подсистема открыта и во вкладке Requirements, нажмите Highlight Links.
rmidemo_callback('open_highlight','slvnvdemo_fuelsys_doorsreq/fuel rate controller');
Во вкладке Requirements нажмите Link Settings> Linking Options, чтобы открыть диалоговое окно Настроек Требований.
Перейдите к вкладке Filters и сконфигурируйте как показано ниже, проверяя ссылки Фильтра ключевыми словами при выделении и полем требований к отчетности и вводе design
во Включать ссылках с любым из этих тегов поле.
Проверяйте подсвеченные объекты в схемы. Это ссылки, которые существовали в исходной модели.
Теперь измените настройки Filters как показано ниже, чтобы исключить ссылки "проекта":
Проверяйте модель Simulink. Выделение теперь указывает на ссылки, которые вы только что скопировали с базы данных DOORS.
Синхронизация также позволяет вам обеспечивать непротиворечивость, когда ссылки удалены. Например:
Перейдите к fuel
введите снова.
rmidemo_callback('locate','slvnvdemo_fuelsys_doorsreq/engine gas dynamics/fuel');
Щелкните правой кнопкой, выберите Requirements> Open Outgoing Links Dialog....
Выберите элемент "-> 2.1 Normal Mode of Operation" в диалоговом окне.
Нажмите кнопку Delete, чтобы удалить элемент из списка.
Нажмите ОК, чтобы применить изменения.
Проверяйте контекстное меню снова, чтобы подтвердить, что ссылки не стало.
Обратите внимание на то, что ссылка все еще присутствует в DOORS, соединяя 1.11.3 топлива в суррогатном модуле к "2.1 Режимам normal mode Операции" в модуле Спецификации Требований FuelSys.
Произведите чистку удаленной ссылки от DOORS путем повторного выполнения синхронизации с набором опции обновлений ссылки к Simulink к DOORS, и Удалять несопоставленный во флажке DOORS включило.
Нажмите Synchronize. Заметьте, что ссылка в DOORS исчезает.
Точно так же то, когда ссылки удалены в DOORS, и необходимо распространить изменения в Simulink, повторно выполнить синхронизацию с DOORS к выбранной опции Simulink и Удалить несопоставленный во флажке Simulink, включило.
При использовании выбора, соединяющегося с DOORS, у вас есть опция, чтобы автоматически вставить ссылочные объекты в документы DOORS, чтобы включить прямую навигацию от DOORS до Simulink без потребности в суррогатном модуле.
Предупреждение: документ THE DOORS изменяется, когда вы используете эту функцию RMI.
Во вкладке Requirements нажмите Link Settings> Linking Options, чтобы открыть диалоговое окно Настроек Требований.
Включите Изменить месту назначения для двунаправленного флажка соединения.
Теперь, когда вы используете соединение выбора, Simulink создает объекты навигации. Существует два типа ссылок, чтобы выбрать из. Когда Использование, ActiveX для опции входящих ссылок в нижней части вкладки Selection Linking включен, RMI, вставит новые объекты DOORS со значком Simulink и меткой целевого объекта как текст Объекта DOORS. С Использованием ActiveX... опция OFF, RMI вставит External Link
гиперссылки. Для следующего осуществления попробуйте обе опции и решите то, что работает лучше всего на вас.
Найдите и выберите "2.2.6 Speed Sensor Failure" в модуле Спецификации Требований FuelSys.
Найдите Speed Estimate
блокируйтесь в модели Simulink.
rmidemo_callback('locate',['slvnvdemo_fuelsys_doorsreq/fuel rate controller/' ... 'Sensor correction and Fault Redundancy/Speed Estimate']);
Щелкните правой кнопкой по блоку и выберите Requirements> Link to Selection in DOORS.
Наблюдайте новый объект, вставленный как первый дочерний элемент целевого объекта в DOORS.
Кликните по справедливому вставленному объекту навигации в DOORS или используйте MATLAB>, Выбирают Item из главного меню окна модуля DOORS.
При использовании External Link
гиперссылки, переместитесь по гиперссылке MATLAB в расширенном каскаде контекстного меню щелчка правой кнопкой.
Правильная схема открывается в Simulink, и соединенный блок подсвечен.
Примечание: Вы только что включили навигацию от DOORS до модели Simulink, не будучи должен сохранить любые изменения в модели. Рассмотрите этот рабочий процесс, когда модификаций к моделям нужно будет избежать.
Обычно, когда модель Simulink сохранена после создания ссылок, двухсторонняя навигация возможна при обходе сложности суррогатного процесса синхронизации. Однако существует недостаток создания помех документам DOORS с объектами навигации Simulink.
Чтобы постараться не делать неумышленные модификации к вашим документам DOORS, вновь откройте диалоговое окно Настроек Требований для вкладки Selection Linking и отключите, Изменяют место назначения для двунаправленного флажка соединения.
Очистка
Команды очистки. Очищает открытые наборы требования, не сохраняя изменения и закрывает открытые модели, не сохраняя изменения.
slreq.clear;
bdclose all;