HOME | products | MetaEdit+ | MetaEdit+ Domain-Specific Modeling Blogs

DSM/DSL 言語開発に必要な工数 ?

一般にはモデリング言語とコード生成機能を、ツールを用いて定義するのには多くの時間と労力が掛かると認識されています。そして大抵の場合、数年もの工数が掛かるプロジェクトになると予想されます。しかしながら我々の経験では全く異なっており、ドメインによってはそれこそ数日でDSLとコード生成機能を実装しています。下図には、そのほんの一部の事例が紹介されています。

 


もし、過去にDSLとツールの開発に多くの時間と工数を費やしていたなら、これらのデータに驚かれるかもしれません。フィンランドのソフトウエア開発関連のアソシエーションである SYTYKE で、DSMのセミナーが実施され、ドメインスペシフィックモデリング言語とそのコード生成機能を構築した数社による発表がありました。参加者からの共通した質問は、“ドメインスペシフィック言語(DSL)とそのコード生成機能を、ツールを用いてどれだけの工数が必要であったか?”でした。それに対するいくつかの回答は、
 
· Ouman: モデリングとコード生成のサポートに5日間
· Sandvik: モデリングサポートに2日間
· VTT: いくつかのケースで、モデリングとコード生成のサポートに数日から2週間


すばらしい結果と思いますが、特別ではありません。これらはMetaEdit+ を用いてモデリング言語とそのコード生成機能の両方を定義しています。一般に想像されるより、はるかに短期間で実装できている理由は何か?それについて、以下の3点をご紹介したいと思います:
 
· 予想外となるとすれば、それは単に経験が無く、また恐らくは言語やコード生成機能の定義されたものを持っていなかったので。上記事例に明らかなように、DSM環境の構築に数ヶ月も、一年も掛かっていません。そしてこれらの実績こそが、時間や工数が掛かるようなものではないことを雄弁に物語っている
 
· モデリング言語とそのコード生成機能のプロブレムドメインの範囲を限定すること。広範な範囲、あるいは抽象度のレベルが低い場合、それは結果的に汎用的な言語を作ることになってしまい、それゆえに多くの時間が掛かることになってしまう。そして何を開発するのか分からない場合は、自動化は厄介になるでしょう。プロジェクトの途中でDSLの適用はできません。
 
· 間違ったツールにより、甚大なリソースが言語やコード生成機能の開発とサポートに費やされることとなります。OOPカンファレンスで聞いた悲惨な話で、Eclipse EMF を用いてモデル言語の構築に25人・年の工数が費やされたとの報告がありました。そのような投資を出来る企業がそうそう有るとは思えません。ツールの違いに関して興味がありましたら、OOPSLAのワークショップ(best practices for MDSD (Model-Driven Software Development))での以下の資料をお勧めします。 こちらから(英文) LinkIcon
 
この記事のオリジナルはこちらから How much effort goes into DSL implementation? LinkIcon