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

第7章「コンパイル可能なクラスモデルの作成」を読んで
ついに本題突入!と思いきや,

OMGにはまだ,振る舞いモデル,すなわち,状態モデル,相互作用モデル,アクティビティモデル,アクションセマンティクスを入力とする標準化されたマッピングは存在しない.
中略
本書およびこの章は,クラスモデルに焦点を当てる.

残念ながら,本書ではアクションセマンティクスについては述べられていないようです.
それにしても,ジェネレータで処理できるくらい「厳密」であるためには,相当に「詳細」なモデルを作成しなければならないような気分になりました.関連の多重度,誘導可能性,順序,一意性,誘導可能端の名前(ロール名)... これらは省略したり,ツールのデフォルトで済ませてはいけないのだそうです*1
確かにコード生成するのであれば,これらを「厳密」に記述するのは当然なのでしょう.しかし,少なくとも私が触ったことのあるモデリングツールでこれらをすべて設定するのは,あまり楽しい作業とは言えなかったと思います.
これは,MDAの抱える問題ではなくて,モデリングツールの問題なのでしょうけれど,いずれMDAが現実的になったときには大きな障害になるのではないかと感じます.使い勝手のいいテキストエディタのように,サクサクと思いつくままモデルを作成できるようなツールが望まれます.
これまで私が触ったことのあるモデリングツールって,どれも「思考の道具」という感じでは使えそうもありませんでした.かつてのワープロ*2のような「清書の道具」という感じです.今時のワープロ*3だと,アウトラインモードなんていうのがありますよね((少し前に触ったOpenOfficeには見あたりませんでした(;_;))),私はもう,これなしでは文書を作ることができないという感じなのですが,モデリングツールもそんな風に「考えることを支援してくれる」レベルになって欲しいと思います*4
それにしても,モデルの動的な側面の解説がなかったのが残念です.「Executable UML(ISBN:479810602X)」に期待します.

*1:私が設計時に作成するスケッチレベルのモデル図(当然手書きです)では,そんな「詳細」な事は気にしません

*2:縦横何文字って方眼紙のように決められていて,文章を考えるより見栄えを気にしちゃうような感じでした

*3:Microsoft Wordくらいしか使っていないのですが

*4:そういうツールを自分で思いついたら素晴らしいんですけれど