UML and DSLs Again(2)

Visual Studioのアーキテクト(設計者)であるKeith Short氏のblogから前回の続きを読んでいこう。例によって翻訳はテキトーである。


我々は熱狂的なUML記法やUML図のサポーターである。私の近くの開発者の仕事場を見渡せば、UMLクラス図やシーケンス図が書きなぐってあるホワイトボードが見つかる。先日、私の同僚とカフェテリアに居たとき、設計をスケッチするのにUML図をナプキンに書いていた。我々は、仕様書にUML記法を使うし、我々のビジネスソリューション事業部のアプリケーションの大部分のデータモデルもUML記法で描かれている。


顧客のドキュメンテーションや概念図のスケッチを行ないたいというニーズを満たすため、我々はVisual Studio2005と共にUMLツールセットの出荷を続けるだろう。実際のところ、マイクロソフトでは大抵、我々はUMLを多くの目的のために使う。そのほとんどは、ドキュメンテーションや、アイデアの共有のためなのだが。しかし、いかなる場合にせよ、それらのドキュメントが実際のソフトウェア開発のartifact(訳注:人工物。ここでは、ソフト開発の産物であるソースコードやリソースを指している)と結びついていることはめったにない。


(中略)


実際のソフトウェア開発に必要ないかなるartifactも、コンピュータで処理可能でなければならない。ソースコードは完全に定義されたシンタックス(文法)や理解可能なセマンティクス(意味)を持っているし、しばしばソースコードから下位レベルのコードやILへとコンパイラが行なう変換も定義されている。そして、一貫してコンパイラやデバッガやリファクタリングするプログラムで処理することができる。開発者の利便性のためには、モデルにはソースコードと同じステータスがなければならない。モデルもまた、正確なシンタックスや理解可能なセマンティクスを持っていて、「ソースコードや他の完全に定義されたモデル」への対応が完全に定義されていなければならない。モデルは単なるドキュメンテーション以上のものでなければならないのである。(つづく)