Eclipse Modeling Project

2001年にRelaxerを作ってから追いかけているのが、モデルとプログラムの融合である。実際のアプリケーション開発にRelaxerを実際に使いながら、Relaxerの機能拡張をしつつ、モデルからプログラムを自動生成する手法がとても強力であることを実感した。

その後、興味の中心が「プログラムを自動生成するために適したモデル」に移り、ユースケースやCBDについて色々と調べていたのだけれど、そろそろ目鼻がついてきたので、Relaxerの新バージョンの開発に入ったという状況である。

そんな中、注目しているプロダクトの一つがEMFを中心とするEclipse.orgのモデル駆動開発系のプロジェクトである。
MDA的な大鑑巨砲主義はなかなか実務で使えるところまでは行き着かないと思うのだけれど、DSL(Domain Specific Language)をベースにした小回りのきくモデル駆動は、個人的にはRelaxerでの経験ですでに実用フェーズの技術であると考えている。

後は、いかに有用なドメイン・モデルを切り出し、ツールとして実現するための環境を整えるのかという点に焦点は移っている。
前者の「有用なドメイン・モデルの切り出し」はドメイン・エキスパートに任せるとして、プラットフォーム系の技術としては「ツールとして実現するための環境を整えるのか」がポイントとなる。この有力候補としてEMFに注目していたというわけである。

このEMF系の技術が整備統合されて新プロジェクトとしてアナウンスされた。

Eclipse Modeling Projectは、以下の技術を統合したプロジェクトとのことである。

  • Eclipse Modeling Framework (EMF)
  • Graphical Modeling Framework (GMF)
  • Unified Modeling Language 2.0 (UML2)
  • Generative Modeling Tools (GMT)

EMF, GEF, UML2は大分前からあるので、GMTが新しく追加されたキー技術ということかもしれない。
とにかくモデル駆動、DSLは伸び盛りの技術なので、目の話せないところである。
Relaxer5でも、この技術を使って色々と遊んでみるつもり。