DSL Tools v1 のご紹介

荒井 省三
マイクロソフト株式会社

2006 年 12 月

DSL Tools とは、 Microsoft Domain Specific Language (英語) の略称です。この DSL Tools は、2006 年 9 月にバージョン 1 が Visual Studio 2005 SDK v3 に含まれる形式でリリースされました。このツールを使うことで、グラフィカルデザイナを手軽に作成することができます。

DSL Tools 自体はグローバライゼーションされており、日本語版の Visual Studio 2005 でも使用することができます。ですが、 Visual Studio 2005 SDK に含まれるドキュメント類は邦訳されていません。そこで、 DSL Tools を使うことでどのようなことができるのかを説明するホワイトペーパーを公開します。

マイクロソフトは、 Software Factories という新しい開発手法を提案しています。この Software Factories の中でモデル駆動開発 (Model Driven Development) を提案しており、モデル駆動開発に使用するモデル表現としてドメイン特化言語 (Domain-Specific Language) の使用を推奨しています。

図 1. モデルとプログラムの関係
図 1. モデルとプログラムの関係

何故、 DSL の使用を推奨しているかと言えば、図 1 にあるように要求と実行可能モジュールの間にギャップが存在するからです。このギャップを埋める手段として、特定のドメイン (例えば、金融や製造と言った業務知識、 UI 遷移やワークフローといった技術的な側面など) の専門家の知識を活用する手段が、 DSL にあるからです。 DSL を用いて作成されるモデルには、このモデルが表現する特定のドメインの知識を隠蔽することができます。この隠蔽したドメインの知識を使って、部分的にでもコードの自動生成といった成果物を作成することが可能になります。この点が、汎用的なモデリング言語である UML との大きな違いになります。

ここまでで説明した DSL のメリットを Visual Studio 2005 で実現するためのツールセットが、 DSL Tools となるのです。この DSL Tools を使うためには、このツールセットでどのようなことができるのかを学んでおく必要があります。この目的のために、以下のホワイトペーパーを公開します。

  1. DSL Tools のライフサイクル全体の作業に関するホワイトペーパー
    Visual Studio 2005 SDK で提供される WinzardUIP サンプルをスクラッチで作成し、開発した DSL を配布して、モデラーが使用するまでのライフサイクルを学ぶことを目的にしています。
  2. DSL Tools で作成したグラフィカルデザイナのカスタマイズ方法について
    DSL Tools を使って開発したグラフィカルデザイナに対して、モデルのドキュメント化や制約などの与え方といった基本的なカスタマイズ方法を学ぶことを目的にしています。
  3. DSL Tools で表現できるグラフィカル表現とモデルの関係について
    DSL Tools を使って開発するグラフィカルデザイナに表現できる図形 (シェイプ) とドメインモデルの関係を学び、グラフィカルデザイナに表現したいモデル構造を作成するためには、ドメインモデルの構造をどのようにするかということを学ぶことを目的にしています。

このホワイトペーパーを読むことで、DSL Tools の使い方や目的の理解の一助になることでしょう。

このドキュメントの情報は、このドキュメントの公開時点について書かれたものであり、計画以外の目的で利用できるものではありません。また、ドキュメントの情報は、予告無しに変更される可能性があります。
そして、適用する環境によってはこのドキュメントの通りの動作をしない場合もありますのでご了承ください。