Professional Documents
Culture Documents
図C01
図 C02 は、オペレータが”alt”のケースのコンバインド・フラグメントのフレームを示しており、何らかの
条件が成り立つ時はオペランド①を実行し、成り立たない時は②を実行します。
第 76 回 コンバインド・フラグメント
図 C03
opt は、コンバインド・フラグメント自身を実行するかしないかの選択がある事を示します。
セマンティクス的には、オペレータが”alt”で、2 つ目の(else の方の)オペランドが空っぽである状態と
同値になります。
break は、コンバインド・フラグメント中にブレーク・ポイントがある事を示します。
通常は、ガードと共に用いられ、ガード条件が成り立てば (真になれば)後続部分は全く無視され、成り
立たなければ(偽になれば)後続部分が実行されます。break オペレータを持つコンバインド・フラグメ
ントは、内包する生存線を最後までカバーする必要があります。
また、break オペレータを持つコンバインド・フラグメントで、ガードがない場合の振舞いについては規
定されていません。(どのように振る舞うかは、非決定的)
図C04
第 77 回 Consider / Ignore
第 78 回 Par / Critical
図C06
Par は、オペランドの並列処理を意味しています。
各オペランドは、互いにインターリーブされて処理 されます。イベントの発生の観点から言いますと、 各
オペランドのイベントは次々に混在して発生して見えますが、しかし、一つ一つのオペランド内では、
General Ordering のルールは守られます。
Critical は、コンバインド・フラグメントが、クリティカル・リージョンである事を示しています。
クリティカル・リージョンでは、それを内包するインタラクション・フラグメントのイベントがインター
リーブする事が出来ません。
図 C06 は、クリティカル・リージョンの例で、メッセージ m5 の受信後、m6 の送受信が終了するまでは、
クリティカル・リージョンの上位のフラグメントのイベントがインターリーブする事は出来ません。
第 79 回 Continuation
インタラクション・ユースは、コラボレーション・ユースと深い関係があります。さらに言うと、コラボ
レーションの別の表現と見なす事が出来ます。
インタラクション・ユース内の参加者は、個々のインスタンスを表現しているのではなく、参加者の役割
を表現しています。
図C08
図 C08 の図(b)は、インタラクション・ユースの表現例です。
この図のインタラクション・ユース"N"の参加者、":B"や":C"は、個別のインスタンスを表しているのでは
なく、インスタンスの役割を表象しています。従って、インタラクション・ユース"N"が複数回呼び出され
た場合、登場するインスタンスは、呼び出される度ごとに異なっている可能性があります 。(もちろん同
一の場合もあります。)個々のインスタンスは、呼び出す側が決定する形になります。