ストラタジーナム メニュー

2007年6月15日金曜日

UML中級講座 第115回 プロファイルとMOF

知人に、茨城県から都内の職場へ通っている人がおります。長年、常磐線を使っていたそうですが、最近、筑波エクスプレスが開通し、通勤環境が劇的に向上してきたそうです。

筆者は、この話を聞いて、今から20年ほど前、高校時代の友人が就職で関西から上京し、初めてMという常磐線に近い町に住み始めた頃の事を思い出しました。友人は、学生時代まで関西でしたので、東京に土地勘がなく、なんとなくMに引越したそうです。Mと言う町は(市かも知れません)田園風景の中ののどかな場所だそうで、町そのものには何の不満も無かったそうですが、通勤の行き帰りに利用する常磐線の混み方が半端でなく酷いと、当時、久々に会った筆者に訴えていました。
まず、混んでいる状態の判断基準が違うそうです。
常磐線では、ホームに電車が入ってきてドアが自動的に開くようでは、混んでると言ってはいけません。
列車がホームに近づくと、乗客たちは、ホームに待っている黒山の人だかりをみて、これ以上乗ってきては困ると、盛んに圧力を上げてドアが開かないように抵抗を試みます。
ホームで待っている人たちは、この文字通りの無言の抵抗に対し、外から自動ドアに手をかけ思いっきりひっぱって開けるそうで、その際、中から二、三人、勢い余ってホームへころげ落ちてきます。
そんな大混雑なのに、不思議なことに、あれだけホームに人が溢れていたにも関わらず、最終的に皆乗れてしまうのは、どういうわけでしょうか?友人も、それは謎だと言っていました。
友人は、ラッシュの中で、2度ほど眼鏡を無くしたそうです。あっという間に人と人の間に消えて行ってしまい、まったくどうしようもなかったそうです。
また、車内の圧力で窓ガラスがしょっちゅう割れるらしいのですが、皆慣れっこになっていて、血を流している人も含め、「ああ、またか」と言う感じで平然としているらしいのです。

彼の話を聞いて、あまりの壮絶さに「常磐線恐るべし」と言う固定観念が植え付けられてしまい、ラッシュ時の常磐線は極力近づかないようになってしまいました。今でも、こっちの方面は、まったくと言っていいほど土地勘がありません。
その結果、幸か不幸か、この話がどの程度ほんとうかは、20年以上経っても実地に体験する事が無く真実はわかりません。
ただ、たまに、常磐線で通勤していると言う人に会った時に、この話をしても、皆、否定しないので、かなり真実を突いているのでは、と想像しています。

茨城県から筑波エクスプレスで通っている知人は、この電車のおかげで、通勤環境が地獄から天国に上がったと言っています。そう言えば、声のピッチも三度ほど上がったような気がします。しかしながら、筆者は昔のイメージが強いため、実際に乗って確かめる勇気はありません。



プロファイルとMOF

前回お話しましたように、プロファイルは元の言語体系を変えずに拡張のみを行なうのに対し、MOFは、基本的にメタモデルを自由に変更する事が可能です。その意味で、MOFはプロファイルの機能を含むと言う言い方が出来ます。
そして事実、プロファイルで拡張したものを、MOFの表現で記述することが出来ます。

図I04は、インターフェースと言うメタクラスを拡張し、ホームと言うステレオタイプを拡張しています。

図 I04



これと同等の表現をMOFモデルを使って書くと、図I03のようになります。MOFによる拡張は、この図に示されるように、コンポジット集約の形になります。元のメタクラス「インタフェース」がステレオタイプ「ホーム」(これもメタクラスです)を占有し、かつステレオタイプ側から、コンポジット側(元のメタクラス)への誘導可能性が必要になります。(つまり、両方向へ誘導可能)
コンポジット側の多重度は1となりますが、[ホーム」側のインターフェースは、0..1となっています。
前者は、コンポジット集約であることの制約により当然1ですが、後者は、0..1以外の多重度を持つ場合があります。これについては、後日、解説致します。

図 I03