ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

DSLとUMLメタモデル



UML2.0になってUMLメタモデルが整備され、MOFを使ってUMLそのものを
拡張定義できるようになりました。これを使えば標準的なUMLのダイア
グラムではカバーしきれないものも用途に合わせて追加することができ
ます。UMLメタモデルをツールがサポートすれば、現状のモデルレベル
のツール間互換性だけでなく、メタモデルのレベルでも同じことが実現
できるので期待は高まります。


ですが、そうした一方でUMLメタモデルからの拡張だけでは不十分とする
見方もあるようです。MicrosoftDSI(Dynamic Systems Initiative)
の一貫としてアプリケーションの配備やネットワークの構成を容易に管理
できるWhiteHorseという仕組みを提供します。そこで利用されている
モデリング言語はUMLメタモデルからの拡張であったり、UMLプロファイル
を用いたものではなく、新たに定義されたDSL(Domain Specific Language)
になっています。Microsoftの開発者によればUMLではネットワーク構成
を表すことは難しく、UMLメタモデルから拡張するよりも新規に定義した
方がスマートだったと述べています。


確かにネットワーク構成図というのは単に図形的な類似性で考えれば
クラス図やデプロイメント図で何とかなってしまうのかも知れませんが
DSIで実現されるような各種リソースの動的な再配置を表現するという
目的には十分でないかも知れません。


MicrosoftからOMGに対し、そうしたニーズに対応できるようなUMLメタモデル
のドラフトを提案するということもシナリオとしてはあり得たかも知れません。
ですが、UML2.0の仕様確定に時間がかかっているということもあり、独自のDSL
を定義するという選択には適切なタイミングで製品やサービスを市場に出す必要
があるというビジネス的な要請もあったように思います。


UMLプロファイル拡張で済ますのか、UMLメタモデルから拡張するか、
それとも全く新規にDSLを定義するかといった選択については今後も
議論が交わされる分野になりそうです。