Язык сценариев, расширяющий Rational DOORS
Язык расширений DOORS ( DXL ) — это язык сценариев , используемый для расширения функциональности Rational DOORS от IBM . [1] [2] [3] Этот язык программирования в некоторой степени похож на C и C++ . [4] Этот язык специфичен для DOORS и имеет свой собственный синтаксис, декларацию, форум для обсуждения разработки, [5] в дополнение к специальным справочным руководствам. [6] Скрипты DXL использовались для помощи пользователям DOORS. Большая часть собственного графического интерфейса DOORS написана на DXL. [7]
DXL используется в клиент-серверной версии «DOORS Classic»; он не используется в более новой веб-версии «DOORS Next Generation».
Использование DXL
Существует несколько способов использования DXL в Rational DOORS.
- "Редактор DXL" — это DXL, набранный в окне редактора DXL и запущенный оттуда. Он может быть сохранен в каком-то файле, а может и нет. Обычно этот DXL имеет некоторый пользовательский интерфейс, если только операторы печати.
- "Меню DXL" хранится в Файлах и отображается в окнах DOORS, либо в Проводнике, либо в открытом Модуле. Файлы должны иметь тип .dxl, файлы и папки размещения должны быть настроены для отображения меню DOORS. В остальном это похоже на DXL Editor DXL.
- «Атрибут DXL» [8] хранится в определении атрибута и сохраняется в модуле. Он имеет контекст одного объекта. Когда извлекается object-attr-value (включая отображение), код запускается и вычисляет значение для этого объекта. Вычисленные значения не сохраняются в модуле. Attr-DXL должен быть написан для запуска без пользовательского интерфейса и завершения без каких-либо пауз. [8]
- «Layout DXL» определяется в Column и сохраняется в View модуля. Он выполняется для объекта, когда в GUI отображается столбец макета этого объекта. В остальном он похож на Attr-DXL. Layout DXL может быть сгенерирован мастером трассируемости и может быть преобразован в Attr-DXL. . [9]
- "Batch DXL" хранится в файлах. Он запускается, когда DOORS запускается в (фоновом) пакетном режиме как код "Batch", "DXL" или "CLE", определенный в командной строке пакетного процесса. Поскольку пакетный режим не загружает GUI, то DXL, работающий в пакетном режиме, имеет некоторые ограничения на то, что может быть запущено или как это запущено, то, конечно, у него не может быть GUI.
- «Trigger DXL» определяется в «Trigger» и хранится либо в модуле, либо в проекте, либо в корне базы данных. Для триггеров нет собственного интерфейса; для создания или удаления триггера требуется файловый DXL. Когда происходит указанное событие триггера (например, открытие модуля), все триггеры, связанные с этим событием, запускаются в порядке приоритета. Существуют некоторые ограничения на то, что может запускаться внутри триггера, но он может иметь и часто имеет некоторый интерфейс (обычно запрашивающий у пользователя продолжить или нет). Триггер события «Post» запускается после события; триггеры события «Pre» запускаются до события и могут предотвратить событие. Наиболее распространенными типами событий являются открытие/закрытие модуля, выбор нового объекта или сохранение значения атрибута объекта. Динамические триггеры не сохраняются и существуют только во время работы DOORS на клиентском компьютере. Типичным динамическим триггером будет триггер post-module-close, который закроет графический интерфейс (например, диалог «печать»), связанный с этим модулем. Распространенной ошибкой при изучении триггеров является определение триггера перед закрытием модуля, который всегда предотвращает закрытие модуля.
- "Eval DXL" вызывается из другого DXL и запускается в своем собственном контексте. Обычно он зарезервирован для уточненного расширенного DXL. Код "Top Eval" развертывается в "top context" и применяется ко всем будущим DXL до закрытия DOORS.
Расширения скрипта DXL
Скрипты DXL обычно хранятся с расширением «. dxl », однако они используют файлы библиотеки с расширением « .inc ».
Пример "Привет, мир"
Чтобы напечатать сообщение « Hello, World », будет использован следующий код [6] ,
распечатать "Привет, мир"
Редакторы DXL
Sodius DXL Editor, [10] созданный на основе Eclipse, является одним из инструментов, который предоставляет возможность редактирования, просмотра, компиляции, выполнения и отладки скриптов DXL. Существует множество открытых и бесплатных редакторов, таких как Notepad++ и jEdit , которые поддерживают DXL с помощью пользовательских свойств. [11]
Ссылки
- ^ Thurimella, Anil Kumar; Janzen, Dirk (2011). metadoc Feature Modeler A Plug-in для IBM Rational DOORS (PDF) (Диссертация). 15-я Международная конференция по линейке программных продуктов 2011 г.
- ^ Рахман, Анисюр; Амиот, Дэниел (2014). «DSL для импорта моделей в систему управления требованиями». 2014 IEEE 4th International Model-Driven Requirements Engineering Workshop (MoDRE) . С. 37–46. doi :10.1109/MoDRE.2014.6890824. ISBN 978-1-4799-6343-0. S2CID 6414601.
- ^ Дейл, Крис; Андерсон, Том (2009). Системы, критически важные для безопасности: проблемы, процессы и практика: Труды семнадцатого симпозиума по системам, критически важным для безопасности, Брайтон, Великобритания, 3–5 февраля 2009 г. Springer Science & Business Media. стр. 80–89. ISBN 9781848823495. Получено 28 декабря 2018 г.
- ^ «Руководство пользователя, FAA Requirements Quality Tool (FRQT) для IBM Rational Dynamic Object Oriented Requirements System (DOORS), версия 1.0» (PDF) . Март 2017 г.
- ^ "Форум: Rational DOORS DXL". IBM .
- ^ ab "Справочное руководство DXL" (PDF) . IBM .
- ^ «УРОКИ, ИЗВЛЕЧЕННЫЕ ПРИ ВНЕДРЕНИИ ДВЕРЕЙ В СРЕДУ CITRIX» (PDF) .
- ^ ab "Атрибуты DXL и макет столбцов DXL". IBM .
- ^ «Макет DXL».
- ^ Содиус DXL Редактор
- ^ Редакторы DXL
Внешние ссылки
- Введение в язык расширений IBM Rational DOORS (DXL).