You are on page 1of 6

第 75 回  相互作用図

図C01

図 C01 は、コンバインド・フラグメントの 1 例で、コンバインド・オペレータが ”alt”であるケースを示


しています。
コンバインド・フラグメントは、種類を示すオペレータ部分と、動作を示すオペランド部の 2 つからなり
ます。また、オペランドが複数ある場合は、セパレータ(図中の点線)で区画を分けて表示されます。
図C02

図 C02 は、オペレータが”alt”のケースのコンバインド・フラグメントのフレームを示しており、何らかの
条件が成り立つ時はオペランド①を実行し、成り立たない時は②を実行します。

第 76 回 コンバインド・フラグメント

図 C03
opt は、コンバインド・フラグメント自身を実行するかしないかの選択がある事を示します。
セマンティクス的には、オペレータが”alt”で、2 つ目の(else の方の)オペランドが空っぽである状態と
同値になります。
break は、コンバインド・フラグメント中にブレーク・ポイントがある事を示します。
通常は、ガードと共に用いられ、ガード条件が成り立てば (真になれば)後続部分は全く無視され、成り
立たなければ(偽になれば)後続部分が実行されます。break オペレータを持つコンバインド・フラグメ
ントは、内包する生存線を最後までカバーする必要があります。
また、break オペレータを持つコンバインド・フラグメントで、ガードがない場合の振舞いについては規
定されていません。(どのように振る舞うかは、非決定的)
図C04

第 77 回 Consider / Ignore

Consider と Ignore は、{ }で囲まれたメッセージ(群)と合わせて表示され、Ignore は、これらのメ


ッセージは重要でなく無視されていること を示しています。(メッセージのシンボルそのものが図中から
省略されている場合もあります。)また、Consider は、逆にこれらのメッセージが極めて重要である事を
示しています。Consider は、指定されたメッセージ(群)以外のメッセージが Ignore された状態とセマ
ンティクス的に同じ意味になります。
また、assert は強調の意味を持ち、Consider / Ignore と合わせて使われる事が多いオペレータ です。
(例 assert consider など)
図C05
Ignore {t,r} で、メッセージ t と r はこのインタラクション M 図上では、重要ではなく省略されている事
を示します。Consider { q, v, w } のフラグメント内では、メッセージ q , v, w のみが重要な意味を持つ
事を示しています。
従って、このフラグメント内で記述のないメッセージ t とか r が発生してもトレースとしては正しい状態で
すが、仮にメッセージ w が発生したとすると、トレースは偽となります。
また、図中の mystate と言う名前がついた状態は状態不変定数 ( State Invariant)と呼ばれ、制約条件
(もしくは制約条件の集まり)となります。
mystate は、生存線 Y 上で実行時に評価され、偽となるトレースは誤り出る事を意味します。
また、{Y.p == 15}も不変定数と呼ばれる制約で、実行時に評価され偽となるトレースは誤りである事を
意味します。

第 78 回 Par / Critical

図C06
Par は、オペランドの並列処理を意味しています。
各オペランドは、互いにインターリーブされて処理 されます。イベントの発生の観点から言いますと、 各
オペランドのイベントは次々に混在して発生して見えますが、しかし、一つ一つのオペランド内では、
General Ordering のルールは守られます。
Critical は、コンバインド・フラグメントが、クリティカル・リージョンである事を示しています。
クリティカル・リージョンでは、それを内包するインタラクション・フラグメントのイベントがインター
リーブする事が出来ません。
図 C06 は、クリティカル・リージョンの例で、メッセージ m5 の受信後、m6 の送受信が終了するまでは、
クリティカル・リージョンの上位のフラグメントのイベントがインターリーブする事は出来ません。

第 79 回 Continuation

Continuation は、代替コンバインド・フラグメント (”alt ”のついたコンバインド・フラグメント)中で


用いられるラベルで、アクティビティ図中のコネクターと同じように、同じラベルが付いた Continuation
に制御がジャンプします。
図 C07 は、Continuation の使用例で、図(a)の Qestion は、図(b)で表されるインタラクション・ユース
を呼び出し、図(b)の代替コンバインド・フラグメントの"OK"から、図(a)の"OK"へ制御がジャンプし、図
(b)の"notOK"から図(a)の"notOK"へジャンプする事を示しています。
図(c)は、(a)と(b)をまとめたもので、全く等価の振舞いをします。
図C07
第 80 回 インタラクション・ユース

インタラクション・ユースは、コラボレーション・ユースと深い関係があります。さらに言うと、コラボ
レーションの別の表現と見なす事が出来ます。
インタラクション・ユース内の参加者は、個々のインスタンスを表現しているのではなく、参加者の役割
を表現しています。
図C08
図 C08 の図(b)は、インタラクション・ユースの表現例です。
この図のインタラクション・ユース"N"の参加者、":B"や":C"は、個別のインスタンスを表しているのでは
なく、インスタンスの役割を表象しています。従って、インタラクション・ユース"N"が複数回呼び出され
た場合、登場するインスタンスは、呼び出される度ごとに異なっている可能性があります 。(もちろん同
一の場合もあります。)個々のインスタンスは、呼び出す側が決定する形になります。

You might also like

  • Uml 11
    Uml 11
    Document7 pages
    Uml 11
    uml-200
    No ratings yet
  • Uml 10
    Uml 10
    Document7 pages
    Uml 10
    uml-200
    No ratings yet
  • Uml 9
    Uml 9
    Document9 pages
    Uml 9
    uml-200
    No ratings yet
  • Uml 8
    Uml 8
    Document11 pages
    Uml 8
    uml-200
    No ratings yet
  • Uml 6
    Uml 6
    Document13 pages
    Uml 6
    uml-200
    No ratings yet
  • Uml 4
    Uml 4
    Document11 pages
    Uml 4
    uml-200
    100% (1)
  • Uml 5
    Uml 5
    Document6 pages
    Uml 5
    uml-200
    No ratings yet
  • Uml 3
    Uml 3
    Document10 pages
    Uml 3
    uml-200
    No ratings yet
  • Uml 1
    Uml 1
    Document3 pages
    Uml 1
    uml-200
    100% (2)
  • Uml 2
    Uml 2
    Document6 pages
    Uml 2
    uml-200
    No ratings yet