Software Factory - DSLとGAT

ichikawaさんにDSL Tools と GATの関係に関するドキュメント - エバンジェリストグループ Blogのことを聞いたので、ちょっと見てみました。
なるほど。
DSLとGATはSFを実現するための技術として、それぞれ別のアプローチを行っています。
DSLは要件と実装との乖離を減少させるため、実装を自動生成できる局地的なモデルを作成するものです。
対して、GATは開発者の行動を誘導することによって実装の半自動生成ができる、Guidance Packageを作成するものです。

で、これらを組み合わせることによってさらに効果を高めようというもののようです。
ちょっと考えてみました。

DSLによるGuidance Packageの生成

Guidance Packageの可変部を(不完全であれ)モデルによって定義できれば、Guidance Packageの精製コストが大幅に減少することが見込まれます。この手の中間生成物の生成コストはなかなか計上しづらいので、これらを自動化することができると非常に有効になるのではないかと思います。

Guidance Packageによるモデラー支援

DSLを使用してモデルを作成するモデラーVisual Studioを使用して作業をすることになります。すなわち、ソリューション内の適切なプロジェクトを作成し、プロジェクト内の適切な場所にモデルを作成して、それからモデルを編集し、モデルからコードを生成して開発者に引き渡す… という作業が必要になります。こんな定型的な操作は、Guidance Packageの適用対象として非常に適しています。Guidance Packageは開発者が利用するということが書かれていますが、べつに「開発者」はプログラムコードを作成する人だけでなく、ほぼすべてのVisual Studio利用者が対象になるわけです。