DOORS拡張言語

DOORSを拡張するスクリプト言語

DOORS拡張言語DXL)は、IBMERM DOORSの機能を拡張するために使用されるスクリプト言語です。[1] [2] [3]このプログラミング言語はCC++に似ています[4]この言語はDOORSに特化しており、独自の構文、宣言、開発を議論するためのフォーラム[5]に加えて、専用のリファレンスマニュアルがあります。[6] DXLスクリプトはDOORSのユーザーを支援するために利用されました。ネイティブDOORS GUIの多くはDXLで書かれています。[7]

DXL はクライアント サーバー ベースの「DOORS Classic」で使用されますが、新しい Web ベースの「DOORS Next Generation」では使用されません。

DXLの使用法

IBM ERM DOORS で DXL を使用する方法はいくつかあります。

  1. 「エディターDXL」とは、DXLエディターウィンドウに入力され、そこから実行されるDXLです。ファイルに保存される場合とされない場合があります。このDXLは通常、print文のみであっても、何らかのユーザーインターフェースを備えています。
  2. 「メニューDXL」はファイルに保存され、DOORSウィンドウ(エクスプローラーまたは開いているモジュール)に表示されます。ファイルは.dxl形式で、ファイルと格納フォルダはDOORSメニューを表示できるように設定されている必要があります。その他の点では、DXLエディターDXLと同様です。
  3. 「属性DXL」[8]は属性定義に格納され、モジュールに保存されます。これは単一のオブジェクトのコンテキストを持ちます。オブジェクトの属性値が取得(表示を含む)されると、コードが実行され、そのオブジェクトの値が計算されます。計算された値はモジュールに保存されません。属性DXLは、ユーザーインターフェースなしで実行され、一時停止することなく完了するように記述する必要があります。[8]
  4. 「レイアウトDXL」は列で定義され、モジュールのビューに保存されます。オブジェクトのレイアウト列がGUIに表示された際に、そのオブジェクトに対して実行されます。その他の点はAttr-DXLと同様です。レイアウトDXLはトレーサビリティウィザードで生成でき、Attr-DXLに変換できます。
  5. 「バッチDXL」はファイルに保存されます。DOORSが(バックグラウンド)バッチモードで実行されると、バッチプロセスのコマンドラインで定義された「バッチ」、「DXL」、または「CLE」コードとして実行されます。バッチモードではGUIが読み込まれないため、バッチで実行されるDXLには実行可能な内容や実行方法にいくつかの制限があり、GUIなしで実行することはできません。
  6. 「トリガーDXL」は「トリガー」内で定義され、モジュール、プロジェクト、またはデータベースルートに保存されます。トリガーにはネイティブインターフェースはありません。トリガーを作成または削除するには、ファイルベースのDXLが必要です。トリガーで指定されたイベント(モジュールのオープンなど)が発生すると、そのイベントに関連付けられたトリガーが優先順位に従って実行されます。トリガー内で実行できる内容にはいくつかの制限がありますが、何らかのインターフェース(通常はユーザーに処理を続行するかどうかを尋ねるもの)を持つことができ、実際に持つことがよくあります。「ポスト」イベントトリガーはイベントの後に実行されます。「プレ」イベントトリガーはイベントの前に実行され、イベントの発生を阻止することができます。最も一般的なイベントの種類は、モジュールのオープン/クローズ、新しいオブジェクトの選択、オブジェクト属性値の保存です。動的トリガーは保存されず、クライアントコンピュータでDOORSが実行されている間のみ存在します。典型的な動的トリガーとしては、モジュールクローズ後トリガーがあり、これはそのモジュールに関連付けられたGUI(「印刷」ダイアログなど)を閉じます。トリガーを学習する際によくある間違いは、モジュールが閉じられないようにするモジュール終了前のトリガーを定義することです。
  7. 「Eval DXL」は他のDXLから呼び出され、独自のコンテキストで実行されます。これは通常、ニュアンスのある高度なDXLのために予約されています。「Top Eval」コードは「トップコンテキスト」に展開され、DOORSが終了するまですべての将来のDXLに適用されます。

DXL スクリプト拡張

DXL スクリプトは通常、「. dxl 」拡張子で保存されますが、「 .inc 」拡張子のライブラリ ファイルも使用されます

「Hello, World」の例

「 Hello, World 」というメッセージを出力するには、次のコード[6]を使用します。

「Hello, World」と印刷する 

DXLエディター

Eclipseをベースに構築されたSodius DXLエディタ[9]は、DXLスクリプトの編集、閲覧、コンパイル、実行、デバッグ機能を提供するツールです。Notepad ++jEditなど、カスタムプロパティによってDXLをサポートするオープンソースの無料エディタは数多く存在します。

参考文献

  1. ^ Thurimella, Anil Kumar; Janzen, Dirk (2011). metadoc Feature Modeler A Plug-in for IBM Rational DOORS (PDF) (論文). 2011 第15回国際ソフトウェア製品ライン会議.
  2. ^ 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。
  3. ^ Dale, Chris; Anderson, Tom (2009). Safety-Critical Systems: Problems, Process and Practice: Proceedings of the Seventeenth Safety-Critical Systems Symposium Brighton, UK, 3-5 February 2009. Springer Science & Business Media. pp.  80– 89. ISBN 9781848823495. 2018年12月28日閲覧
  4. ^ 「DXLによるDOORSの拡張」2025年1月。
  5. ^ 「IBM TechXchange」IBM
  6. ^ ab 「DXL リファレンス マニュアル」( PDF)。IBM
  7. ^ 「CITRIX 環境で DOORS を実装する際に学んだ教訓」(PDF)
  8. ^ ab 「DXL属性とレイアウトDXL列」。IBM
  9. ^ Sodius DXL エディター
  • DOORS の扉を開く - DXL の紹介。
「https://en.wikipedia.org/w/index.php?title=DOORS_Extension_Language&oldid=1270803503」より取得