Skip to main content
QUICK REVIEW

[論文レビュー] Efficient Editor Generation for Compositional DSLs in Eclipse

Holger Krahn, Bernhard Rumpe⋆|arXiv (Cornell University)|Sep 22, 2014
Model-Driven Software Engineering Techniques参考文献 10被引用数 29
ひとこと要約

本稿では、MontiCore DSLフレームワークを用いて、Eclipse IDEにおける構成的ドメイン固有言語(DSL)のエディタを効率的に生成する手法を提示する。MontiCoreの言語定義言語を拡張することで、コンポジショナルな言語設計をサポートする完全に統合され、再利用可能なエディタを自動生成可能となり、DSLの進化に伴う開発時間の短縮と保守性の向上が顕著に実現される。

ABSTRACT

When a domain specific language (DSL) shall be commonly used, it is important for the development team to have a comfortable editor well integrated in the project's development environment. As DSL are rather often subject to changes, efficient development and evolvement of a comfortable editor is an important success criterion for the acceptance of domain specific languages. In this paper we demonstrate how this issue is addressed in the MontiCore DSL development framework. Basically an extension of the MontiCore DSL definition language can be used to efficiently generate DSL editors for Eclipse. The generation tool also supports the compositional language definition features of MontiCore and allows therefore the reuse of existing language and editor definitions.

研究の動機と目的

  • Eclipse環境におけるドメイン固有言語(DSL)の快適で統合されたエディタを構築・保守する課題に対処すること。
  • DSLが時間経過とともに変更される中で、DSLエディタの開発および進化に要する作業負荷を低減すること。
  • 既存の言語およびエディタ定義の再利用を可能にすることで、コンポジショナルな言語設計を支援すること。
  • DSLエディタをEclipse開発環境にスムーズに統合すること。
  • 手動コーディングを伴わずに高品質なエディタを生成するスケーラブルなソリューションを提供すること。

提案手法

  • エディタ生成のための構文および意味論を備えた、MontiCoreのDSL定義言語の拡張。
  • Eclipse RCP互換のエディタコンポonentを自動生成するコード生成ツールの使用。
  • MontiCoreのコンポジショナルな言語機能を活用し、言語およびエディタ定義のモジュラーな再利用を可能にすること。
  • Eclipseの既存UIおよびインfraストラクチャとシームレスに統合されたエディタの生成。
  • 言語定義の変更に伴い、エディタの影響を受ける部分のみを再生成することで、インクリメンタルな更新を可能にすること。
  • DSLの文法と生成されたエディタとの間で型安全性および一貫性を保証すること。

実験結果

リサーチクエスチョン

  • RQ1Eclipse環境において、DSLエディタをどの程度効率的かつ最小限の手作業で生成できるか?
  • RQ2複数のDSLおよびそのエディタにわたって、コンポジショナルな言語定義をどの程度再利用できるか?
  • RQ3DSLの進化に伴い、エディタ生成プロセスをインクリメンタルかつ保守可能にできるか?
  • RQ4開発時間およびコード品質の観点から、本手法は手動によるエディタ開発と比べてどの程度優れているか?
  • RQ5自動エディタ生成がDSLの保守性に及ぼす影響は何か?

主な発見

  • 本手法により、最小限の手作業で完全に機能するEclipse統合エディタがDSL仕様から自動生成可能である。
  • コンポジショナルな言語定義の使用により、複数のDSLにわたって言語およびエディタコンポーネントをモジュラーに再利用できる。
  • 生成プロセスは効率的かつスケーラブルであり、エディタ全体を再生成せずに、DSLの変更に伴うインクリメンタルな更新が可能である。
  • 生成されたエディタはDSLの文法と型安全かつ一貫しており、実装エラーの低減が図れる。
  • 手動によるエディタ実装と比較して、開発時間と保守のオーバヘッドが顕著に削減される。
  • 言語定義の変更に伴い、容易にエディタを再生成できるため、DSLの進化をサポートする。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。