Domain Specific Language(DSL)について(4)

DSLという言葉を最近結構聞くようになっていますが、Domain Specific Languageという元の言葉に戻ると少し気になる点があります。 特に二つの名詞である

  1. Domain
  2. Language

についてです。 最初のDomainの方ですが、分かりやすいのは業務アプリケーション分野を意味するDomainです(金融、保険、テレコム、自動車、等々)。 しかし、これ以外にも技術分野のDomainもあります(SQLもよくDSLの一例としてあげられています)。  更に全く別のDomainの捉え方もありそうです。

  1. Application Domain
  2. Technology Domain

次にLanguageですが、業務やバックグラウンドの違いにより

  1. Modeling Language
  2. Programming Language

という二つの元になる解釈があるように思います。 OMGで幾つも開発されているメタモデルは前者の世界のDSLですし(例えばBPMNやSoaMLなど多数)、最近はやりのDynamic LanguageにおけるDSLは後者の世界のDSLです。

そして思うのは「これら二種類のDSLをうまくつなぐことが出来れば随分見通しがよくなるのではないか」ということです。 例えばEMF(eclipse modeling framework)を使ってメタモデル(=DSL)を作成する。 それに基づき作成したモデルは特定のDomainに特化したモデルですから、RubyでもGroovyでも他の言語であってもDSLの得意なプログラミング言語を選択しそれで対応するDSLを用意すれば、比較的スムーズにModeling寄り DSLを使ったモデルをProgramming LanguageのDSLの使えるプログラムへと対応付け出来るはず ・・・ 本当でしょうか? ちょっと実験してみることにします。

Domain Specific Language(DSL)について(4)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中