QUICK REVIEW
[論文レビュー] Super-Languages: Developing Languages and Applications with XMF (Second Edition)
Tony Clark, Paul Sammut|arXiv (Cornell University)|Jun 10, 2015
Distributed and Parallel Computing Systems被引用数 5
ひとこと要約
本論文は、ドメイン固有言語(DSL)およびアプリケーションの開発を統一的で実行可能なメタモデリングアプローチによって可能にする、XMFと呼ばれるスーパーアーキテクチャフレームワークを紹介する。XOCL(実行可能オブジェクトコマンド言語)という強力なオブジェクト指向言語と、XBNF(宣言的文法言語)という宣言的文法システムを統合することで、言語構文を定義・操作でき、DSLのシームレスなパース、変換、実行が可能となる。主な貢献は、言語の拡張性、参照解決、メタコア実行による実行可能モデリングに集約される。
ABSTRACT
The aim of this book is to introduce the language XMF. This is done by defining the language, providing some examples of applications that can be written directly in the XOCL language that comes with XMF, and then by showing how XMF can be used for language engineering. The main focus of this book is on language engineering by example.
研究の動機と目的
- 高水準のドメインモデルと低水準の実装コードの間の表現のギャップを解消し、直接実行可能なモデリングを可能にする。
- 構文、意味、変換を完全にサポートする、一貫したフレームワークを通じてドメイン固有言語(DSL)を定義・実行する。
- メタコア実行環境を用いて、拡張可能で合成可能かつ保守可能な言語工学を実現する。
- パースされたDSLにおける記号的参照の解決という課題を、実行モデル内に宣言的参照解決メカニズムを統合することで解決する。
提案手法
- XMFは、コレクション、操作、制御構造を完全にサポートする第一級オブジェクトとして言語要素を定義・操作できる、コア言語であるXOCL(実行可能オブジェクトコマンド言語)を用いる。
- 文法は、構文と意味を指定するための宣言的言語であるXBNFを用いて定義され、パターンマッチングと埋め込み式を備えており、柔軟なパースが可能である。
- システムは、言語構文を実行可能オブジェクトとして定義するメタコア実行モデルを採用しており、言語要素の直接的な操作と変換が可能である。
- 参照解決は、パースされた値を走査し、照合テーブルを用いて記号的参照をその束縛値に置き換えるウォーカーパatters(ResolveRefs)によって実現される。
- パースは、成功継続と失敗継続を用いた再帰的下降方式で実装されており、非決定的かつバックトラック動作を可能にしている。
- XMLデータは第一級オブジェクト(XML::Element、XML::Text)としてモデル化され、属性と子要素のバインディングを実行するパターンマッチング操作によってパースが定義される。
実験結果
リサーチクエスチョン
- RQ11つの統一された言語環境が、構文定義から実行・変換に至るまで、DSL開発のライフサイクルをどのようにサポートできるか?
- RQ2メタコア実行モデル内において、パースされたDSL内の記号的参照を効率的かつ安全に解決するにはどうすればよいか?
- RQ3パフォーマンスや型安全性を損なわず、言語定義における拡張性と合成性を実現するメカニズムは何か?
- RQ4一貫した実行可能メタモデルを通じて、言語を人間が読みやすく、機械が実行可能にするにはどうすればよいか?
- RQ5宣言的パターンマッチングと継続が、強力で合成可能な言語処理を可能にする役割は何か?
主な発見
- XMFは、埋め込み構文、意味、変換論理を備えた包括的なDSLの定義を、単一の実行可能フレームワーク内で可能にする。
- XOCLとXBNFの統合により、拡張可能で合成可能かつ保守可能な言語定義が作成可能であり、直接実行可能である。
- 参照解決は、抽象構文木を走査し、あ зарかじめ構築された識別子テーブルを用いて記号的参照を置換するウォーカーパattersによって、効率的に実現される。
- パースにおける継続とパターンマッチングの使用により、複雑な言語認識に不可欠な非決定的かつバックトラック動作が可能になる。
- XMLデータは、属性のデフォルト値とネストされたパターンを宣言的に処理する第一級言語構文を用いて、ネイティブにモデル化・パース可能である。
- メタコア実行モデルにより、自己ホスティングとリフレクションが可能となり、言語自体の構文と意味をデータとして操作できるようになる。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。