Visual Studio 2012でDSL(Domain Specific Langage)を実践


つい先頃、DSLに関する話題が某コミュニティで出たので、2013年6月時点での最新ツール群を使った、DSLを実践する取っ掛りを紹介しておきます。

DSL(Domain Specific Language)とは何ぞや…を本来ならちゃんと説明しなければならないのですが、この投稿に興味あるのは、DSLという高尚なネタに興味のあるハイレベルな技術者だけだろうということで省きます。ある特定領域のある目的に特化した専用モデル(図じゃなくてもいいのですが)エディター&ツールです。.NET Gadgeteerのボードエディタ、Entity Frameworkのグラフィカルエディターを思い浮かべてください。

で、Visual Studio 2012を使って独自のDSLを実践する環境が作れます。Visual StudioのEditionはUltimateが必要です。このEditionにVisualization & Modeling SDKをインストールします。このSDKは、Visual Studioの”ツール”→”拡張機能と追加プログラム”で、名前で検索するか、

http://www.microsoft.com/en-us/download/details.aspx?id=30680

を直接ブラウザで開いて、必要なSDKのインストーラーをダウンロード&実行します。

準備はそれでおしまい。

SDKをインストールすると、プロジェクトテンプレートに、

”その他のプロジェクトの種類”→”Domain Specific Language Designer”というプロジェクトテンプレートが追加されます。DSLの環境を開発するには、このテンプレートを起点にします。まぁ取敢えず、サクサクと作ると、

こんな感じのプロジェクト一式が現れます。DSLは奥が深く、とても数行では語れないので、このポストでは深くは語りませんが、図の部分の左側がDSLのメタモデル、右側がDSLの見た目のEditorです。加えて、Editor上のコンテキストメニューや、各種機能、モデルからの自動生成機能などを入れ込んでいくことが可能です。自動生成ではT4 Templateという技術要素が利用可能です。

先ずは、サンプルを一個作って、F5実行してみてください。DSL環境がビルトインされたVisual Studio IDEがもう一個立ち上がり、その時点でのDSL Editor環境を実際に動作させることができます。

ご要望があれば、更に詳しく、このVisualization & Modeling SDKの使い方など、説明しようかなと思っておりますです。

 

 

Comments (0)

Skip to main content