MicrosoftのアーキテクトであるGunther Lenz氏およびSiemensのソフトウェアエンジニアであるChristoph Wienands氏が、Microsoft Visual Studio 2005 Domain Specific Languages (DSL)に基づいてSoftware Factoryを構築する際の利点を評価する(source)プロジェクトに乗り出した。
再利用が増えたり、ハイレベルな抽象化および自動化の普及によって、こんにちのテキストベースのソフトウェア開発への取り組みに強みもたらしていることは明らかなことかもしれないが、上層経営陣やその他の株主たちに対する、必要な先行投資を正当化するのには十分ではない。したがって、このパラダイムを使用するビジネスケースを明確に示す、量的データを検討することにした。
この分析の目標は、フレームワークおよびアプリケーション開発分野での自動化および再利用の機会を特定することであった。その目的のために、作成者はSoftware Factory Templateを開発した。
Software Factory Templateの実装は、Software Factory Schemaに基づく。われわれの場合、成果物の生成、ウィザードおよびDSL用に、インストーラーパッケージにバンドルされる複数のT4テンプレートを 提供して、デベロッパに付加的なツールおよびコンテキストに依存した自動化メカニズムを提供する。
このプロジェクトには、以下のような2つのコンポーネントがある。
- DSLを使用したフレームワークC#成果物の生成
- ガイダンスおよび自動化を通じての、アプリケーションデベロッパのサポート
最初の研究で分かったことは以下のとおりである。
デベロッパは定義や使用ごとに320行を入力する代わりに、少しのストリングだけ入力する必要があり、有効なオプションに基づいた決定がなされ る。最終的な結果は、有効な選択肢や成果物を生成する前に、インプットの検証機能を提供することで、時間の節約だけではなく、質の向上も現実のものとなる。
概して、以下のことが言える。
DSL開発は、 投資収益率が100パーセント以上で、生産性が10倍増になった。
ガイダンスのパッケージに関しては、最小限の投資で、投資収益率が300パーセント以上を示した。
作成者は今後、以下のようなさらに複雑な問題に取り組む予定である。
- どのようにしてこのアプローチがより広範なドメインを拡大縮小するのか?
- どのようにしてツールのサポートがさらに複雑な実装に役立つのか?
- メンテナンスの取り組みで、どれほどの節約が見込まれるか?
- どのようにしてDSLメタモデルおよびモデルの展開を取り扱うか?
原文はこちらです:http://www.infoq.com/news/2008/04/dsl-business-case