第2章責任関係 その6 − 責任関係の知識レベル −

エプシロン「じゃあ今日は、図2.9から見てみようか」

「図の下半分、パーティと責任関係のところはいいよな。この図では責任関係に期間とそれから新しく作業がつながってるけれども。」
ミュー「うん、だいじょうぶ。わかる。なんとなく」
「そうか。じゃあ、問題は上半分のとこなんだが。」
「責任関係型は前と一緒だよね。責任関係の種類。パワータイプ」
「そう、責任関係型は責任関係のパワータイプだ。同じようにパーティ型もパーティのパワータイプを示している。」
「おんなじ。」
「ん?」
「おんなじ形。パーティと責任関係。パーティ型と責任関係型。」
「そうだな。若干、多重度が違うけれども。図に波線が引いて上と下にモデルが分けてあるだろ。上側は知識レベル、下側は操作レベルって分けられてるけど。」
「上の方はパワータイプが集まってるの?パワータイプの責任関係型とパワータイプのパーティ型」
「うん。例とそのオブジェクト図を見てみるか。上側の知識レベルではパワータイプつまり種類同士の関係をあらわしていることに注意して。」

例1 地域は部門に分割される。このことは、委任者が地域で責任者が部門であるような地域構造という責任関係型によって扱われる。


例2 患者の同意は、委任者が患者で責任者が医師という責任関係型として定義される。

「例の文章には知識レベルについての記述しかないんだけど、オブジェクト図の方には操作レベルのインスタンスも追加してみた。」
「んと、例1の下側の責任関係のインスタンスACM北米とACM北米公官システム部門とくっついてる。」
「下側、つまり操作レベルでは具体的なパーティのインスタンス同士の責任関係をあらわしてる。これは今までと一緒だろ。で、上側の知識レベルなんだが」
「うーん」
「こっちは、どういう種類のパーティとどういう種類のパーティが地域構造という種類の責任関係を取りうるかってことを示してるんだけど。んーと、分かりづらいよな。これは、例2の方が分かりやすい。」
「えーと。患者さんとお医者さんの関係?」
「そういうこと。下側の操作レベルは患者であるJohn SmithがMark Thursz医師に1996年2月12日に内視鏡検査を受けたってことを責任関係型のインスタンスを使ってあらわしているんだけど、それを患者と医師との間の患者の同意として一般化ししたのが知識レベル。」
「エプちゃん。図2.9の方だけど」
「ん?」
「制約って書かれたノートがついてるよね。これは?」
「えーと。ちゃんと説明すると長くなっちゃうんだけど。うん、知識レベルの方で委任者となってる患者が、操作レベルの方で委任者となってるJohn Smithの型つまり種類になってて、やっぱり同じように知識レベルでの責任者となってる診療科か医師かが、操作レベルでの責任者Mark Thurszの型、この場合は医師の方だけど、になってるってことを保証しているんだ。」
「んーと、やっぱり難しいや。エプちゃん」
「制約がなかったとするだろ。そうするとMark Thurszが患者になってJohn Smithが医師になっちゃってるオブジェクト図も書けちゃうんだ。」
「こまっちゃうねえ。」
「だろ。だからそういうことが起こらないように、パーティとパーティ型との関連を制限してやんないといけない。それがノートに書かれた制約になってる。」
「お医者さんはお医者さんに、患者さんは患者さんにってことだね。エプちゃん」
「(・・・?)」