2011年8月18日木曜日

Xtextで再注目したいEMF

いまの仕事では、EMF (Eclipse Modeling Framework)を使ってデータモデルを扱っています。
また、やや複雑なモデルを扱うテストは少々やっかいなので、テストでのモデルデータ記述を簡単にするために、DSL開発ツールのXtextを使っています。

この例のプロダクションコードにおけるEMFの効果は、デザインした静的メタモデルから単純なJavaコードを生成して使っているだけなので、さほどのありがたみも無いですし、「クラス図からコード生成して喜ぶなんていつの流行だよ」と言いたくもなりますね。

だけど、テストデータの作成/使用時などの局面で、XtextというパワフルなDSL環境を活かせることを考えると、EMFを単なるJavaコード生成ツールという理解で済ませるのは、ちょっと勿体ないです。EMFのコアは、静的モデリングとコード生成というシンプルなものですが、周辺フレームワークと連動させることで、とても強力なツールに化けるんです。
  • EMFデフォルトのXMLシリアライザでも良いのですが、人手でテストデータを書くことを考えると、Xtextの方がありがたいです。
  • メタモデルとXMIだけで元々十分強力とも言えますけれども。
ところで、EMFはとてもシンプルなのですが、ちょっと勉強して挫折したという人が、意外と多いように思います。ネット上での良い日本語情報は少ないですし、実際どんなありがたみがあるのかイメージしづらいことや、多くの人がそれを使いたい(使わないと困る)と思うほどのキラーアプリケーションの登場が遅かったせいもあるかもしれません。

でもここ数年、DSLが注目を浴び、Xtextが現れてから、再び状況は変わって来ました。Xtextの登場によって、EMFはより親しみやすいテクノロジになったと思います。
そこで、私もまだ勉強中ですが、EMFとXtextに関するメモを、幾つかしたためていきたいと思っています。

0 件のコメント:

コメントを投稿