InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

Essential: 新しい言語ワークベンチ

作者 Jean-Jacques Dubray , 翻訳者 南 伸二 投稿日 2011年5月20日

セクション
エンタープライズ・アーキテクチャ,
プロセス/プラクティス,
設計/アーキテクチャ
トピック
Architecture ,
メタプログラミング

原文(投稿日:2011/05/14)へのリンク

言語ワークベンチの人気が高まってきている。そのカテゴリにおいて様々な製品を比較することにフォーカスしたコンテストすら存在する。Pedro Molina氏は彼の新しい言語ワークベンチ、Essentialの公開ベータ版をつい先ごろリリースした。

Essentialはメタモデリングおよびコード生成のツールであり、特定のDSLが次のようなものを定義し、利用することができるようにするものである:
  • メタモデルのモデル
  • テンプレート
  • モデルからテキストへの変換
  • モデルからモデルへの変換

Eclipse Xtestなどの他のツールと比べた場合、重要な差異の一つは、Essentialがモデル解釈にフォーカスしている、すなわち、コード生成のプロトタイプをつくることがいかなるインフラ用の定形コードやメタエディタをつなぐアクセサリを生成する必要のないアジャイルなやり方で行うことが可能である、ということだ。対照的に、Xtestはそのモデルのどんな変更をしたときでも、新しいバージョンのモデルパーサが生成され、それが変換エンジンの中心となる。

Pedro氏はこのアプローチにはいくつかのメリットがあると見ている:

  • 大きなオーバーヘッドなしにモデルから直接ソフトウェアのプロトタイプが可能
  • ソフトウェアアーキテクチャを高速に進化させることができ、その気か、異なるデザインを実験することが可能
  • アーキテクチャをベンチマークし比較することが可能
  • コード生成

私たちの業界は信じられない程のペースで進化している。そしてそれは、新しいアーキテクチャ、アーキテクチャの要素、ほぼ毎日のように出てくるSDK、種々のデバイスなどがあり、その上で動作しなければならないソリューション、ソフトウェア開発に対するモデリングアプローチへの転換(MDSD)、特にメタプログラミングについてもっと考えざるを得なくなるかもしれない。あなたはどう考えるだろうか?