「MDA モデル駆動アーキテクチャ(ISBN:4434038133)」

第6章「モデリング言語の拡張および作成」を読んで
UMLステレオタイプとタグ付き値によって拡張することができます.そして,ある目的のために定義されたステレオタイプとタグ付き値の集合をプロファイルといいます.そういえば,「The UML Profile for Framework Architectures(ISBN:0201675188)」という本が積ん読になっています.誰か助けてください.ともあれ(Java World風),UMLは拡張可能であり,拡張の定義を共有することもできるということですね.
それにとどまらず,UMLはMOFで定義されたメタモデルも拡張できるとのこと*1.すばらしい.っていうか,M0〜M1界の住人にはちょっと縁がなさそうな話です.なんにせよ,UMLが拡張可能であるということは,UML自身を必要以上に巨大化しないために重要です*2
メタモデルによる拡張は,プロファイルによる拡張よりも自由度が高いものの,汎用のUMLツールの利用に制限があるとのこと.それはそうだろーなー,って思います.もしツールがMOFメタメタモデルを完全に理解し,それによって記述されたメタモデル(UMLを含む)を完璧に扱えればいいのかもしれませんが,そこまでする必然性ってほとんどなさそうです.重くて遅くて高価なツールになってしまいそう.
第5〜6章は,MOFとUMLという,MDAの基盤となる技術についての解説です.とても重要なのだとは思いますが,MDAのツール(ジェネレータ)を作るためには必要であっても,そのようなツールを使う側にはちょっと縁遠い話だと感じました*3

*1:おそらくUML2.0でUMLメタモデルとMOFが統合された後の話と思われます

*2:もうすでに必要以上に巨大化してしまっている感じがしないではありませんが

*3:ごめんなさい,私の能力不足です,はい