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

2006年7月27日木曜日

UML中級講座 第77回 Consider / Ignore

Consider / Ignore

ConsiderとIgnoreは、{ }で囲まれたメッセージ(群)と合わせて表示され、Ignoreは、これらのメッセージは重要でなく無視されていることを示しています。(メッセージのシンボルそのものが図中から省略されている場合もあります。)
また、Considerは、逆にこれらのメッセージが極めて重要である事を示しています。
Considerは、指定されたメッセージ(群)以外のメッセージがIgnoreされた状態とセマンティクス的に同じ意味になります。
また、assertは強調の意味を持ち、Consider / Ignoreと合わせて使われる事が多いオペレータです。(例 assert consider など)

図C05



図C05は、Consider / Ignoreオペレータの使用例です。
Ignore {t,r} で、メッセージ t と r はこのインタラクション M図上では、重要ではなく省略されている事を示します。
Consider { q, v, w } のフラグメント内では、メッセージ q , v, w のみが重要な意味を持つ事を示しています。
従って、このフラグメント内で記述のないメッセージ tとかrが発生してもトレースとしては正しい状態ですが、仮にメッセージwが発生したとすると、トレースは偽となります。
また、図中のmystateと言う名前がついた状態記は状態不変定数( State Invariant)と呼ばれ、制約条件(もしくは制約条件の集まり)となります。
mystateは、生存線Y上で実行時に評価され、偽となるトレースは誤り出る事を意味します。
また、{Y.p == 15}も不変定数と呼ばれる制約で、実行時に評価され偽となるトレースは誤りである事を意味します。