Loading article…
DOORS拡張言語(DXL)は、 IBMのRational DOORSの機能を拡張するために使用されるスクリプト言語です。[1] [2] [3]このプログラミング言語は、 CやC++に似ています。[4]この言語はDOORSに特化しており、独自の構文、宣言、開発について議論するためのフォーラム、[5]に加えて、特定のリファレンスマニュアルがあります。[6 ] DXLスクリプトは、DOORSのユーザーを支援するために使用されました。ネイティブDOORS GUIの多くはDXLで書かれています。[7]
DXL はクライアント サーバー ベースの「DOORS Classic」で使用されますが、新しい Web ベースの「DOORS Next Generation」では使用されません。
DXLの使用法
Rational DOORS で DXL を使用する方法はいくつかあります。
- 「エディター DXL」は、DXL エディター ウィンドウに入力され、そこから実行される DXL です。ファイルに保存される場合とされない場合があります。この DXL には通常、印刷ステートメントのみの場合でも、何らかのユーザー インターフェイスがあります。
- 「メニュー DXL」はファイルに保存され、エクスプローラーまたは開いているモジュールのいずれかの DOORS ウィンドウに表示されます。ファイルは .dxl タイプである必要があり、ファイルと格納フォルダーは DOORS メニューを表示するように設定されている必要があります。それ以外は DXL エディター DXL と同様です。
- 「属性 DXL」[8]は属性定義に格納され、モジュールに保存されます。これは単一のオブジェクトのコンテキストを持ちます。オブジェクト属性値が取得されると (表示される場合も含む)、コードが実行され、そのオブジェクトの値が計算されます。計算された値はモジュールに保存されません。Attr-DXL は、ユーザー インターフェイスなしで実行され、一時停止せずに完了するように記述する必要があります。[8]
- 「レイアウト DXL」は列で定義され、モジュールのビューに保存されます。オブジェクトのレイアウト列が GUI に表示されたときに、オブジェクトに対して実行されます。それ以外は Attr-DXL に似ています。レイアウト DXL はトレーサビリティ ウィザードによって生成でき、Attr-DXL に変換できます。[9]
- 「バッチ DXL」はファイルに保存されます。DOORS が (バックグラウンド) バッチ モードで実行されると、バッチ プロセスのコマンド ラインで定義された「バッチ」、「DXL」、または「CLE」コードとして実行されます。バッチ モードでは GUI がロードされないため、バッチで実行される DXL には実行できる内容や実行方法に関していくつかの制限があり、GUI がない場合もあります。
- 「トリガー DXL」は「トリガー」で定義され、モジュール、プロジェクト、またはデータベース ルートに保存されます。トリガーにはネイティブ インターフェイスはありません。トリガーを作成または削除するには、ファイルベースの DXL が必要です。トリガーの指定されたイベント (モジュールを開くなど) が発生すると、そのイベントに関連付けられたトリガーが優先順位に従って実行されます。トリガー内で実行できる内容にはいくつかの制限がありますが、トリガーには何らかのインターフェイス (通常はユーザーに続行するかどうかを尋ねる) があり、実際に持っていることがよくあります。「ポスト」イベント トリガーはイベントの後に実行されます。「プレ」イベント トリガーはイベントの前に実行され、イベントの発生を防ぐことができます。最も一般的なイベントの種類は、モジュールのオープン/クローズ、新しいオブジェクトの選択、またはオブジェクト属性値の保存です。動的トリガーは保存されず、DOORS がクライアント コンピューターで実行されている間だけ存在します。一般的な動的トリガーは、モジュールに関連付けられた GUI (「印刷」ダイアログなど) を閉じるモジュール クローズ後のトリガーです。トリガーを学習する際によくある間違いは、モジュールが常に閉じないようにするモジュール終了前のトリガーを定義することです。
- 「Eval DXL」は他の DXL から呼び出され、独自のコンテキストで実行されます。これは通常、微妙な高度な DXL 用に予約されています。「Top Eval」コードは「トップ コンテキスト」に展開され、DOORS が終了するまですべての将来の DXL に適用されます。
DXL スクリプト拡張
DXL スクリプトは通常、「. dxl 」拡張子で保存されますが、「 .inc 」拡張子のライブラリ ファイルも使用されます。
「Hello, World」の例
「 Hello, World 」というメッセージを出力するには、次のコード[6]を使用します。
「Hello, World」と印刷する
DXL エディター
Eclipse上に構築されたSodius DXLエディタ[10]は、DXLスクリプトの編集、参照、コンパイル、実行、デバッグのオプションを提供するツールです。Notepad ++やjEditなど、カスタムプロパティによってDXLをサポートするオープンソースの無料エディタは数多くあります。[11]
参考文献
- ^ Thurimella, Anil Kumar; Janzen, Dirk (2011). metadoc Feature Modeler A Plug-in for IBM Rational DOORS (PDF) (論文). 2011 第 15 回国際ソフトウェア製品ライン会議.
- ^ Rahman, Anisur; Amyot, Daniel (2014). 「要件管理システムにモデルをインポートするための DSL」2014 IEEE 第 4 回国際モデル駆動要件エンジニアリング ワークショップ (MoDRE)。pp. 37–46。doi : 10.1109 / MoDRE.2014.6890824。ISBN 978-1-4799-6343-0. S2CID 6414601。
- ^ Dale, Chris; Anderson, Tom (2009). セーフティクリティカルシステム: 問題、プロセス、実践: 第 17 回セーフティクリティカルシステムシンポジウムの議事録、英国ブライトン、2009 年 2 月 3 日 - 5 日。Springer Science & Business Media。pp. 80–89。ISBN 9781848823495. 2018年12月28日閲覧。
- ^ 「IBM Rational Dynamic Object Oriented Requirements System (DOORS) 用 FAA 要件品質ツール (FRQT) バージョン 1.0 ユーザー マニュアル」(PDF)。2017 年 3 月。
- ^ 「フォーラム: Rational DOORS DXL」. IBM .
- ^ ab 「 DXLリファレンス マニュアル」(PDF)。IBM 。
- ^ 「CITRIX 環境で DOORS を実装して得られた教訓」(PDF)。
- ^ ab 「DXL 属性とレイアウト DXL 列」。IBM。
- ^ 「レイアウトDXL」。
- ^ Sodius DXL エディター
- ^ DXL エディター
外部リンク
- IBM Rational DOORS eXtension Language (DXL) の概要。
