GXL ( Graph eXchange Language ) は、グラフの標準交換形式として設計されています。GXL は拡張マークアップ言語 ( XML ) のサブ言語であり、構文は XML ドキュメント タイプ定義 (DTD) によって指定されます。この交換形式は、グラフ ベースのツール間の相互運用性をサポートするための、適応性と柔軟性に優れた手段を提供します。
概要
特に、GXL は、コード抽出器 (パーサー)、アナライザー、ビジュアライザーなどのソフトウェア リエンジニアリングツールとコンポーネント間の相互運用性を実現するために開発されました。GXL を使用すると、ソフトウェア リエンジニアは、解析、ソース コード抽出、アーキテクチャ回復、データ フロー分析、ポインター分析、プログラム スライシング、クエリ手法、ソース コードの視覚化、オブジェクトの回復、再構築、リファクタリング、再モジュール化などの専用ツールを 1 つの強力なリエンジニアリング ワークベンチに統合できます。
GXL には、ソフトウェア データの交換形式に最適な 2 つの革新的な機能があります。
- 概念データ モデルは、型付けされ、属性が付けられた、有向グラフです。これは、すべてのソフトウェア データをグラフとして操作する必要があるという意味ではなく、グラフとして交換できるという意味です。
- インスタンス データだけでなく、データの構造を記述するためのスキーマも表すことができます。さらに、インスタンス データとともにスキーマを明示的に記述することもできます。GXL ストリームによって交換されるグラフの構造は、統一モデリング言語(UML) クラス図として表されるスキーマによって示されます。
GXL は一般的なグラフ交換形式であるため、コンピュータ支援ソフトウェア エンジニアリング(CASE) ツール間のモデル、グラフ変換システム間のデータ、グラフ視覚化ツールなど、グラフベースのあらゆるデータの交換にも使用できます。GXL にはハイパーグラフと階層グラフのサポートが含まれており、他の種類のグラフをサポートするように拡張できます。
GXL は、型付き、属性付き、順序付き、有向グラフ (TGraphs) を交換するための GRAph eXchange 形式 (GraX: コブレンツ大学、ドイツ)、Tuple Attribute Language (TA: ウォータールー大学、カリフォルニア)、および PROGRES グラフ書き換えシステム (ミュンヘン大学、ドイツ) のグラフ形式が統合されて生まれました。さらに、GXL には、Relation Partition Algebra (RPA: フィリップス リサーチ アイントホーフェン、オランダ) や Rigi Standard Format (RSF: ビクトリア大学、カリフォルニア) など、リバース エンジニアリングの交換形式のアイデアも取り入れられています。GXL の開発は、グラフ描画で使用されるさまざまな形式 (daVinci、Graph Modelling Language (GML)、Graphlet、GraphXML など) や、グラフ変換システムの交換形式に関する現在の議論にも影響を受けています。
以前の GXL バージョンのプレゼンテーション
2000 年の国際ソフトウェア エンジニアリング会議 (ICSE 2000) の標準交換形式 (WoSEF) に関するワークショップで、GXL は、ソフトウェア リエンジニアリングとグラフ変換の分野で活動する多数の研究グループによって交換形式の作業草案として承認されました。
グラフ変換の交換フォーマットに関するAPPLIGRAPHサブグループ会議で、GXLの概要が説明され[Schürr、2000]、参加者はグラフ変換システムの交換フォーマット(GTXL)内でグラフを表現するためにGXLを使用することを決定しました。
2000 年のIBM Centers for Advanced Studies Conference (CASCON 2000) には、GXL に関する半日ワークショップが 2 つ含まれていました。午前中の「GXL を使用したソフトウェア データ交換: 導入とチュートリアル」では、この形式の構文と概念について入門的な説明が行われ、午後のワークショップ「GXL を使用したソフトウェア データ交換: 実装の問題」では、コンバーターと標準スキーマの開発について説明されました。
第 7 回リバース エンジニアリングに関するワーキング カンファレンス (WCRE 2000) では、チュートリアル [Holt他、2000] と交換形式に関するワークショップ [Holt/Winter、2000] で GXL が発表されました。中心的な成果は、順序情報のよりシンプルな表現、グラフ スキーマを表現するための UML クラス図の使用、および GXL グラフによる UML クラス図の表現でした。
リエンジニアリング ツールの相互運用性に関する Dagstuhl セミナーでは、リエンジニアリング関連データを交換するための標準交換形式として GXL 1.0 が承認されました。業界や研究機関の多数のグループが、GXL の使用、GXL ドキュメントのツールへのインポートとエクスポート、さまざまな GXL ツールの作成に取り組んでいます。
GXLパートナーズ
さまざまな会議やワークショップにおいて、業界や学術界の次のグループが、GXL を標準のグラフ交換形式に改良し、GXL フィルターやツールを作成したり、ツール内で GXL を交換形式として使用したりすることに取り組んでいます。
- ベルカナダ(ダトリックスグループ)
- Centrum Wiskunde & Informatica (CWI)、オランダ (インタラクティブ ソフトウェア開発と改修および情報視覚化)
- IBM 高等研究センター(カナダ)
- マヒンドラ・ブリティッシュ・テレコム、インド
- Merlin Software-Engineering GmbH、ドイツ
- ノキア研究センター、フィンランド(ソフトウェア技術研究所)
- Philips Research、オランダ(ソフトウェア アーキテクチャ グループ)
- RWTHアーヘン、ドイツ(コンピュータサイエンスIII学科)
- TU ベルリン、ドイツ (理論コンピューターサイエンス/形式仕様グループ)
- ベルン大学、スイス(ソフトウェア構成グループ)
- ブレーメン大学、ドイツ(ソフトウェアエンジニアリンググループ)
- ドイツ、ミュンヘン連邦軍大学(ソフトウェア技術研究所)
- エディンバラ大学、英国 (エディンバラ並行性ワークベンチ)
- コブレンツ大学、ドイツ(GUPROグループ)
- オレゴン大学、米国(コンピュータサイエンス学部)
- ドイツ、パーダーボルン大学(AG Softwaretechnik)
- シュトゥットガルト大学、ドイツ(バウハウスグループ)
- ハンガリー、セゲド大学(人工知能研究グループ)
- トロント大学、カナダ (ソフトウェア アーキテクチャ グループ)
- ビクトリア大学、カナダ(RIGIグループ)
- ウォータールー大学、カナダ (ソフトウェア アーキテクチャ グループ)
外部リンク
- GXLホームページ
