Этот пример показывает вам, как импортировать требования из модуля IBM® Rational® DOORS® при помощи Simulink® Requirements™ API.
Чтобы взаимодействовать через интерфейс с Rational DOORS IBM, сконфигурируйте MATLAB®. В командной строке MATLAB введите:
rmi setup doors
Для получения дополнительной информации смотрите, Конфигурируют Сеанс Rational DOORS IBM.
В этом примере вы будете использовать DemoRMI.dpa
проект в Rational DOORS IBM, который содержит модули требований, которые описывают отказоустойчивую систему управления.
В Rational DOORS IBM создайте новый проект:
Выберите File> New> Project.
В диалоговом окне Нового проекта введите ExampleProject
в Поле имени.
В поле Description введите Example MATLAB/Simulink project
.
Выберите Use архив проекта.
Нажмите Browse и выберите DemoRMI.dpa
.
В этом примере вы импортируете все требования от FuelSys Requirements Specification
модуль.
В Rational DOORS IBM откройте FuelSys Requirements Specification
модуль и находит ID модуля. Для получения дополнительной информации смотрите, Как идентифицировать уникальный идентификатор для элемента в проводнике баз данных DOORS на веб-сайте IBM.
Используйте slreq.import
импортировать модуль. Введите имя файла набора требования, укажите, что требования являются требованиями, на которые ссылаются, и должны использовать RTF-форматирование, назвать требование установите fuelSysReqSpec
, и введите идентификатор модуля. Функция возвращает количество импортированных требований, на которые ссылаются, пути к файлу набора требования и объекта набора требования.
[refCount1,reqSetFilePath1,myReqSet1] = slreq.import("linktype_rmi_doors", ... AsReference=true,RichText=true,ReqSet="fuelSysReqSpec",DocID="000001c1")
Importing from 000001c1 of type linktype_rmi_doors .. .. done.
refCount1 = 59
reqSetFilePath1 = 'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysReqSpec.slreqx'
myReqSet1 = ReqSet with properties: Description: '' Name: 'fuelSysReqSpec' Filename: 'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysReqSpec.slreqx' Revision: 1 Dirty: 1 CustomAttributeNames: {} CreatedBy: 'ahoward' CreatedOn: NaT ModifiedBy: 'ahoward' ModifiedOn: 12-Jul-2021 08:52:09
Можно импортировать подмножество требований от FuelSys Design Description
модуль appling фильтр. Откройте FuelSys Design Description
модуль в Rational DOORS IBM.
Примените фильтр к модулю. Для получения дополнительной информации о применении фильтра к модулю требований смотрите фильтры Определения на веб-сайте IBM. В диалоговом окне Фильтрации:
Set Attribute к Absolute Number
.
Установите условие к is less than or equal to
.
Рядом со Значением введите 10
.
Модуль отображает только требования, которые совпадают с фильтром.
Когда вы применяете фильтр к своему модулю DOORS и импортируете модуль к Simulink Requirements, процесс импортирует только требования, которые совпадают с фильтром. Когда вы импортируете требования при помощи API, Simulink Requirements не хранит фильтр для будущего использования.
Чтобы импортировать отфильтрованный модуль требований, используйте slreq.import
. Введите имя файла набора требования, укажите, что требования являются требованиями, на которые ссылаются, и должны использовать RTF-форматирование, назвать требование установите fuelSysDesignSpec
, но не вводите идентификатор модуля. Если вы не задаете ID модуля, slreq.import
функционируйте импортирует активный модуль требований.
Модуль содержит атрибут требований, названный Created Thru
. Импортируйте атрибут наряду с требованиями как пользовательский атрибут. Функция возвращает количество импортированных требований, на которые ссылаются, пути к файлу набора требования и объекта набора требования.
[refCount2,reqSetFilePath2,myReqSet2] = slreq.import("linktype_rmi_doors",ReqSet="fuelSysDesignSpec",attributes={'Created Thru'})
Importing from FuelSys Design Description of type linktype_rmi_doors .. done.
refCount2 = 10
reqSetFilePath2 = 'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysDesignSpec.slreqx'
myReqSet2 = ReqSet with properties: Description: '' Name: 'fuelSysDesignSpec' Filename: 'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysDesignSpec.slreqx' Revision: 1 Dirty: 1 CustomAttributeNames: {'Created Thru'} CreatedBy: 'ahoward' CreatedOn: NaT ModifiedBy: 'ahoward' ModifiedOn: 12-Jul-2021 08:52:45
Simulink Requirements импортирует только первые 10 требований из модуля и сопоставляет Created Thru
припишите новому пользовательскому атрибуту в наборе требования.
Если у вас есть пользовательские атрибуты, которые вы хотите импортировать как встроенные свойства Rationale или Keywords требования, можно использовать:
slreq.import("linktype_rmi_doors",keywords="Keyword DOORS Attribute",rationale="Rationale DOORS Attribute")
Для получения дополнительной информации о пользовательских атрибутах, смотрите, Настраивают Требования с Пользовательскими атрибутами.
После того, как вы импортируете набор требования, можно обновить его. Для получения дополнительной информации смотрите Обновление Импортированные Требования.
В DOORS прикладное изменение, просачиваются FuelSys Design Description
модуль.
В диалоговом окне Фильтрации:
Set Attribute к Absolute Number
.
Установите условие к is less than or equal to
.
Рядом со Значением введите 15
.
Найдите, что узел Импорта от требования установил myReqSet2
. Обновите набор требования.
importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode)
Importing from FuelSys Design Description of type linktype_rmi_doors .. done.
status = 'Update completed. Refer to Comments on Import1.'
Simulink Requirements исправляет набор требования, чтобы содержать первые 15 требований.
В вашем модуле требований DOORS обновите фильтр снова. Для Значения введите 5
. Найдите, что узел Импорта от требования установил myReqSet2
. Обновите набор требования.
importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode)
Importing from FuelSys Design Description of type linktype_rmi_doors .. done.
status = 'Update completed. Refer to Comments on Import1.'
Simulink Requirements обрезает набор требования, чтобы только содержать первые 5 требований.
Очистите открытые наборы требования.
slreq.clear;
updateFromDocument
| slreq.import