exponenta event banner

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

Интерфейс управления требованиями (RMI) предоставляет инструменты для создания и просмотра связей между объектами Simulink и документами по требованиям. В этом примере показано связывание объектов модели с документами Microsoft Office, навигация по этим ссылкам, создание отчета о требованиях и поддержание согласованности ссылок. См. также раздел Работа с IBM Rational DOORS 9 Пример требований для функций, специфичных для связи с требованиями, хранящимися в IBM Rational DOORS.

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

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

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

open_system('slvnvdemo_fuelsys_officereq');

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

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

  2. На вкладке «Требования» выберите «Компоновка» > «Обозреватель требований».

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

  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 и выберите в контекстном меню «Требования» > «Оценка массового воздушного потока».

Откроется связанный документ и будет выбрано целевое содержимое. Также можно проанализировать следующий код: 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 выберите «Требования» и перейдите по ссылке вверху для просмотра связанной документации. Можно также вычислить следующий код: rmidemo_callback('view','slvnvdemo_fuelsys_officereq/fuel rate controller/control logic:26',1)

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

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

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

Создание новых связей

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

  • В модели Simulink на вкладке «Требования» выберите «Параметры связи» > «Параметры связи».

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

Теперь создайте новые ссылки, подобные тем, по которым вы только что перешли. Примечание.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']);
  • Выберите Требования > Связать с выделением в Word, чтобы создать ссылку.

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

Ссылки на требования в блоках построителя сигналов

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

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

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

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

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

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

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

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

  • Щелкните правой кнопкой мыши новую метку в области Требования (Requirements) и выберите Вид (View), чтобы перейти к целевой ячейке в файле StartScriptions.

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

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

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

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

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

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

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

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

Другая ссылка имеет метку, которая не соответствует исходному выделению при создании связи:

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

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

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

Позднее эти теги можно использовать для фокусировки работы на подмножестве связей или для автоматического удаления подмножества связей из модели. Управление осуществляется с помощью вкладки Фильтры (Filters) меню Параметры требований (Requirements Settings), открываемого с помощью команды Параметры связи (Link Settings) > Параметры связи (Linking Options) на вкладке Требования (Require

Когда требования к модели подсвечиваются, изменение настройки фильтра обновляет представление так, чтобы отображались только соответствующие связи требований. Ссылки требований в этом примере модели помечены одним из следующих тегов: «design», «requirement», «test». При изменении настроек фильтра вид корректируется соответствующим образом. Например, можно выделить только ссылки с тегами «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')
  • Выделите требования с тегом «requirement». Эти ссылки указывают на 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 для вставки соответствующих ссылок «return» в документ требований.

Один из документов, включенных в этот пример, 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 щелкните правой кнопкой мыши и выберите «Требования», а затем выберите связанное требование. Это приводит к появлению 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');