Требования управления для отказоустойчивой топливной системы управления (Rational DOORS IBM)

Requirements Management Interface (RMI) обеспечивает инструменты для создания и рассмотрения ссылок между объектами Simulink и документами требований. Этот пример иллюстрирует соединение объектов модели к требованиям, сохраненным в Rational DOORS IBM. Смотрите Пример с документами Microsoft Office для получения дополнительной информации об использовании RMI.

ПРИМЕЧАНИЕ: Это - более старый пример, который покрывает функции наследия (pre-R2017b) продукт RMI. Чтобы читать об актуальных возможностях интеграции Rational DOORS IBM, обеспеченных новым продуктом Simulink Requirements, смотрите Работу с Rational DOORS IBM 9 примеров Требований.

Setup RMI для DOORS

Убедитесь, что ваша установка DOORS сконфигурирована для связи с RMI. Запустите MATLAB как Администратора и выполните rmi('setup'). Если Клиентская установка DOORS будет обнаружена, RMI запросит, чтобы установить необходимые файлы API. Только необходимо сделать это однажды после переустановки или DOORS или MATLAB. Дополнительную информацию см. в справке.

Модель Simulink и Модули DOORS, Используемые в этом Примере

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

Можно использовать любой временный модуль DOORS в основных упражнениях создания ссылки ниже, и можно использовать включенный .dpa архив для более усовершенствованного осуществления Суррогатной Синхронизации Модуля.

RMI поддерживает двунаправленное соединение с требованиями в DOORS, но мы начнем с однонаправленных ссылок.

rmipref('BiDirectionalLinking', false);
open_system('slvnvdemo_fuelsys_doorsreq');

Соединение через Диалоговое окно Редактора связей

Можно соединить объект модели с требованиями, сохраненными в базе данных DOORS (объекты DOORS). Вы не должны изменять документы DOORS при создании ссылок. Самый практический способ создать новые ссылки через диалоговое окно Редактора связей. Это требует вручную заполнения - в полях атрибута ссылки. Смотрите следующий подраздел для более легкого автоматизированного пути.

  • Выберите любой блок в основной схеме, например, Измеренном Топливном Осциллографе. Щелкните правой кнопкой по блоку и выберите Requirements Traceability> Link Editor. Диалоговое окно Редактора связей открывается.

  • Нажмите New, чтобы создать новое требование.

  • Выберите DOORS Item в Типе документа выпадающее поле.

  • Задайте уникальный целевой ID модуля в поле ввода Документа или используйте Кнопку обзора, чтобы выбрать целевой модуль в базе данных DOORS.

  • Введите идентификатор целевого объекта в поле Location Identifier или используйте вкладку Document Index, чтобы выбрать целевой объект в выбранном модуле.

  • Нажмите Apply или OK, чтобы сохранить новую ссылку требования.

  • Щелкните правой кнопкой по тому же блоку Simulink снова, чтобы видеть новую метку ссылки, перечисленную в главном фрагменте контекстного меню.

Соединение через Ярлыки Контекстного меню

Более легкий способ установить новые ссылки через Ярлыки Соединения Выбора в соответствии с опцией Трассируемости требований в контекстных меню Simulink, и Stateflow возражает что связь с требованиями поддержки:

Создание ссылок через ярлыки контекстного меню не требует, чтобы любое руководство ввело. Место назначения цели ссылки определяется текущим выбором в DOORS, и поле Description установлено в соответствующий Объектный Заголовок или в текст Объекта DOORS, когда нет никакого Заголовка. Поскольку Описание используется в ярлыках навигации в контекстных меню, количество предела символов применяется.

Прежде чем вы начнете, откройте Анализ> Трассируемость требований> диалоговое окно Настроек и убедитесь, что Изменяют место назначения для двунаправленной опции соединения во вкладках Соединения Выбора, помечен.

Мы покроем двунаправленное соединение позже. Теперь испытайте это:

  • Выберите любой объект в своем тестовом модуле в DOORS.

  • Щелкните правой кнопкой по датчику дросселя и выберите Ссылку на Выбор в DOORS в контекстном меню Requirements Traceability, чтобы создать ссылку.

  • Щелкните правой кнопкой по датчику дросселя снова и найдите метку ссылки наверху контекстного меню Requirements Traceability, чтобы подтвердить, что ссылка была добавлена. Можно использовать диалоговое окно Редактора связей позже, чтобы настроить метку описания или Пользовательские ключевые слова Тега.

Текущий Выбор, Соединяющийся через Диалоговое окно Редактора связей

Использование текущая кнопка в диалоговом окне Link Editor обеспечивает объединенный подход:

  • Нажмите на кнопку New, чтобы добавить другой элемент ссылки.

  • Выберите DOORS Item в Типе документа выпадающее поле.

  • В окне модуля DOORS нажмите на объект, который вы хотите соединить.

  • Нажмите Use текущая кнопка, чтобы автоматически заполнить все поля ввода с данными из текущего выбранного объекта DOORS.

  • Настройте Описание как требуется.

  • Сохраните изменения нажатием "ОК" или Применяйтесь.

Можно также использовать Использование текущая кнопка, чтобы перенаправить существующую ссылку:

  • Выберите необходимый новый целевой объект в DOORS.

  • В диалоговом окне Редактора связей нажмите на элемент списка, который вы хотите обновить.

  • Нажмите Use текущая кнопка, чтобы обновить атрибуты ссылки.

Просмотр и навигация по ссылкам от Simulink до DOORS

Вы подсвечиваете и перемещаетесь по ссылкам DOORS таким же образом, вы делаете это с другими типами ссылок, видите пример Microsoft Office для деталей.

  • Используйте модель Analysis> Requirements Traceability> Highlight, чтобы подсветить все требования в модели в качестве примера.

  • Убедитесь, что DOORS запускаются и вошли в систему.

  • Щелкните правой кнопкой по одному из подсвеченных объектов, что вы раньше создавали новые ссылки в предыдущем разделе.

  • Подменю Expand Requirements Traceability. Метки ссылок, которые вы создали, должны отобразиться наверху.

  • Нажмите на метку ссылки. Ваш тестовый модуль открывается в DOORS выбранным правильным объектом.

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

rmi('highlightModel', 'slvnvdemo_fuelsys_doorsreq');

О суррогатных модулях и синхронизации

Суррогатный рабочий процесс модуля поддерживается для 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:

Синхронизация модели Simulink с базой данных DOORS

Обычно, вы использовали бы Анализ>, Трассируемость требований> Синхронизируется с пунктом меню DOORS, чтобы создать новый модуль суррогата DOORS для вашей модели Simulink.

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

  • Используйте Файл> функция Восстановления в DOORS и укажите его на архив DemoRMI.dpa, которому предоставляют вашу установку MATLAB под toolbox/slrequirements/slrequirementsdemos/fuelsys_req_docs/. Если ваш уже имеют проект под названием DemoRMI в вашей базе данных DOORS, DOORS добавляет номер к названию проекта. Как показано в снимке экрана ниже, проект включает один модуль ссылки и три формальных модуля. Один формальный модуль является суррогатом DOORS для slvnvdemo_fuelsys_doorsreq модели; другие два являются модулями в качестве примера, произведенными путем импорта документов Microsoft Word из примера Microsoft Office.

  • Извлеките все включенные модули и откройте суррогатный модуль.

  • Отметьте красные и оранжевые треугольники навигации ссылки в двух из извлеченных модулей. Щелкните правой кнопкой, чтобы перейти между модулями. Эти ссылки сохраняются через процедуру резервного восстановления.

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

  • Кликните по 1.11.4.1 топливным уровням в slvnvdemo_fuelsys_doorsreq суррогатном модуле.

  • В главном меню окна модуля нажмите MATLAB> Select Item. Правильная схема подсистемы открывается, и соответствующий вход подсвечен.

Навигация от объектов Simulink до суррогатного модуля повреждается, потому что извлеченные модули имеют новые числовые идентификаторы в вашей базе данных DOORS, пытаться переместиться по Ссылке на элемент Суррогата DOORS на любом объекте произведет ошибку.

Чтобы восстановить Ссылки на элемент Суррогата DOORS на всех объектах в slvnvdemo_fuelsys_doorsreq модели после того, как вы успешно восстановите проект DemoRMI, ресинхронизируйте модель Simulink с восстановленным экземпляром суррогата.

  • В окне модели выберите Analysis> Requirements Traceability> Synchronize with DOORS, чтобы открыть диалоговое окно Synchronization Settings.

  • Введите следующие настройки, с помощью правильного пути DOORS в в пути к модулю суррогата DOORS и назовите поле ввода, в зависимости от местоположения восстановленного проекта, или просто сделайте его текущим проектом в DOORS и использовании ". /" обозначение: введите "./slvnvdemo_fuelsys_doorsreq".

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

  • Simulink может предупредить вас о предыдущем пути к синхронизации. Нажмите Continue, чтобы возобновить новый путь. Можно получить следующее сообщение в командном окне: "Никакое обновление не необходимо для суррогатного модуля". Ваш восстановленный суррогатный модуль правилен, как.

  • Повторите навигацию от любого объекта в модели к соответствующему объекту DOORS в суррогатном модуле путем выбора Requirements Traceability> DOORS Surrogate Item в контекстном меню для того объекта Simulink. Это должно теперь подсветить соответствующий элемент DOORS в суррогатном модуле.

Используя Model Advisor для проверки непротиворечивости RMI

Модель в качестве примера идет с некоторыми существующими ранее ссылками на документ DOORS, модуль Описания Проекта FuelSys. Так же к исходным Ссылкам на элемент Суррогата DOORS, эти связи разорваны, потому что восстановленная копия модуля имеет новый ID в вашей локальной базе данных. Например, щелкните правой кнопкой по подсистеме вычисления Потока воздуха по модели и выберите "1.2.1 Mass Airflow estimation" из подменю Requirements Traceability. Это произведет сообщение об ошибке.

Мы теперь зафиксируем эти ссылки с помощью непротиворечивости RMI, регистрируясь в Model Advisor.

  • В окне модели нажимают Analysis> Requirements Traceability> проверка Consistency, чтобы поднять графический интерфейс Model Advisor.

  • Найдите Идентифицируют ссылки требования с недостающим элементом документов при проверке непротиворечивости Требований и выбирают его с мышью.

  • Нажмите кнопку Run This Check в верхней левой из правой панели. Блоки с неработающими ссылками перечислены. Можно зафиксировать перечисленные несоответствия один за другим, или можно использовать, Фиксируют Всю ссылку в нижней части. Мы будем использовать Фиксацию Весь ярлык, потому что мы знаем, что все неработающие ссылки должны быть перенаправлены к той же восстановленной копии исходного модуля.

  • Щелкните по ссылке Fix All в нижней части - браузер базы данных DOORS подходит.

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

  • Нажмите ОК, чтобы закрыть браузер базы данных DOORS.

  • Нажмите Run This Check снова. Проверка должна теперь передать.

  • Навигация повторной попытки: щелкните правой кнопкой по подсистеме вычисления Потока воздуха по модели и выберите "1.2.1 Mass Airflow estimation" из подменю Requirements Traceability. Это теперь подсветит правильный объект в одном из модулей DOORS, которые вы восстановили из включенного архива.

Копирование информации о ссылке от Simulink до DOORS

Теперь, когда ваши прямые ссылки от Simulink до DOORS правильны, можно использовать синхронизацию, чтобы скопировать информацию о ссылке в базу данных DOORS. Ссылки будут дублированы в проекте DOORS, где можно использовать нативную навигацию DOORS, анализ и инструменты создания отчетов. Эти ссылки между суррогатом и другими модулями DOORS могут даже быть снова использованы с новой копией модели.

  • Вновь откройте Анализ>, Трассируемость требований> Синхронизируется с диалоговым окном DOORS и конфигурирует следующие настройки:

  • Убедитесь, что отключили Удалять несопоставленный во флажке DOORS, потому что существуют несопоставленные ссылки в восстановленном проекте, в котором вы нуждаетесь позже.

  • Нажмите кнопку Synchronize в нижней части.

  • Дайте ему несколько секунд и проверяйте суррогатный модуль в DOORS. Это должно теперь отобразить больше ссылок - некоторые, которые существовали в исходном восстановленном проекте (ссылки на модуль Спецификации Требований FuelSys) и некоторые, которые были только скопированы с Simulink (ссылки на модуль Описания Проекта FuelSys).

  • Найдите подсистему вычисления Потока воздуха

  • Перейдите к соответствующему суррогатному объекту с помощью Трассируемости требований> Элемент Суррогата DOORS в контекстном меню для этого блока.

  • Новый красный треугольник показывает исходящую ссылку для 1.12.5 элементов вычисления Потока воздуха в DOORS. Щелкните правой кнопкой, чтобы переместиться по этой ссылке DOORS - это приносит вам к оценке потока воздуха Массы пункта 1.2.1 модуль Описания Проекта FuelSys.

Копирование информации о ссылке от DOORS до Simulink

Синхронизация через суррогатный модуль обеспечивает удобный способ распространить обновления системных требований в DOORS к соответствующим элементам реализации Simulink. Чтобы продемонстрировать этот рабочий процесс, восстановленный проект содержит ссылки DOORS от суррогатного модуля до Технических требований Требований FuelSys модуль DOORS, которые не присутствуют в модели Simulink. Например,

  • Используйте DOORS, чтобы переместиться от 2.1 Режимов normal mode Операции в модуле Спецификации Требований FuelSys назад к "1.11.3 топливу" по элементу в суррогатном модуле.

  • Используйте MATLAB>, Выбирают Item в суррогатном главном меню модуля, чтобы определить местоположение соответствующего исходного объекта в модели Simulink.

  • Щелкните правой кнопкой по расположенному топливному входному элементу по Simulink и проверяйте Трассируемость требований в контекстное меню. Элемент Суррогата DOORS является единственной доступной ссылкой: нет никаких ссылок на документы.

Чтобы скопировать информацию о ссылке от DOORS до Simulink, ресинхронизируйте со ссылками Обновления во время синхронизации, включенной, и выбор от DOORS до Simulink.

  • Вновь откройте Анализ>, Трассируемость требований> Синхронизируется с диалоговым окном DOORS.

  • Сконфигурируйте следующие опции синхронизации:

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

Обратите внимание на то, что модель в качестве примера не перезаписываема, так уезжайте, флажок модели Save Simulink в нижней части должен быть неконтролируем.

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

  • Нажмите Synchronize. Суррогатное окно модуля может подойти к передней стороне, но нет никаких красных маркеров, потому что нет никаких изменений в DOORS.

  • Проверяйте знакомый топливный вход. в Simulink. Щелкните правой кнопкой и расширьте раздел Requirements Traceability контекстного меню. Заметьте новую ссылку ниже Ссылка на элемент Суррогата DOORS: "-> 2.1 Режима normal mode Операции". Префикс стрелы указывает, что это требование не было создано в Simulink, но скопировано с DOORS.

  • Щелкните по новой ссылке, чтобы перейти к соответствующему требованию в DOORS - 2.1 Режима normal mode раздела Operation открываются в модуле Спецификации Требований FuelSys.

Рассмотрите свои изменения Используя пользовательские теги

Вы теперь применяете пользовательский фильтр тега, чтобы подтвердить изменения, которые вы внесли в модель. Все требования DOORS, которые существовали в исходной версии модели в качестве примера, были помечены "проект". Вы теперь используете этот факт, чтобы выборочно подсветить или скрыть эти ссылки:

  • Проверяйте подсвеченные объекты в схемы. Это ссылки, которые существовали в исходной модели.

  • Теперь измените настройки Filters как показано ниже, чтобы исключить ссылки "проекта":

  • Проверяйте модель Simulink. Выделение теперь указывает на ссылки, которые вы только что скопировали с базы данных DOORS.

Удаление ссылок в Simulink и DOORS

Синхронизация также позволяет вам обеспечивать непротиворечивость, когда ссылки удалены. Например:

  • Найдите снова топливный вход.

  • Щелкните правой кнопкой, выберите Requirements Traceability> Link Editor.

  • Выберите элемент "-> 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 до Simulink

При использовании выбора, соединяющегося с DOORS, у вас есть опция, чтобы автоматически вставить ссылочные объекты в документы DOORS, чтобы включить прямую навигацию от DOORS до Simulink без потребности в суррогатном модуле.

Предупреждение: документ THE DOORS изменяется, когда вы используете эту функцию RMI.

  • Откройте вкладку Selection Linking в Анализе> Трассируемость требований> диалоговое окно Настроек.

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

Теперь, когда вы используете соединение выбора, Simulink создает объекты навигации. Существует два типа ссылок, чтобы выбрать из. Когда Использование, ActiveX для опции входящих ссылок в нижней части вкладки Selection Linking включен, RMI, вставит новые объекты DOORS со значком Simulink и меткой целевого объекта как текст Объекта DOORS. С Использованием ActiveX... опция OFF, RMI вставит External Link гиперссылки. Для следующего осуществления попробуйте обе опции и решите то, что работает лучше всего на вас.

  • Выберите "2.2.6 Speed Sensor Failure" в модуле Спецификации Требований FuelSys.

  • Найдите оценку скорости,

  • Щелкните правой кнопкой и расширьте раздел Requirements Traceability контекстного меню.

  • Нажмите Link to Selection in DOORS.

  • Наблюдайте новый объект, вставленный как первый дочерний элемент целевого объекта в DOORS.

  • Закройте все окна модели Simulink, ответьте "Нет", когда запрошено, чтобы сохранить изменения. Вы не хотите изменять исходный пример.

  • Кликните по справедливому вставленному объекту навигации в DOORS.

  • При использовании опции ActiveX нажмите на MATLAB> Select Item из главного меню окна модуля DOORS.

  • При использовании External Link гиперссылки, переместитесь по гиперссылке MATLAB в расширенном каскаде контекстного меню щелчка правой кнопкой.

  • Правильная схема открывается в Simulink, и соединенный блок подсвечен.

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

Обычно, когда модель Simulink сохранена после создания ссылок, двухсторонняя навигация возможна при обходе сложности суррогатного процесса синхронизации. Однако существует недостаток создания помех документам DOORS с объектами навигации Simulink.

Чтобы постараться не делать неумышленные модификации к вашим документам DOORS, вновь откройте Анализ> Трассируемость требований> диалоговое окно Настроек к вкладке Selection Linking и отключите, Изменяют место назначения для двунаправленного флажка соединения.

Для просмотра документации необходимо авторизоваться на сайте