ガード条件
分岐や反復
振る舞い図では、プログラムの要件に従ってフローを記述する必要があります
つまり、プログラムのホワイトボックス的動作を記述する、分岐や反復です
分岐や反復の道筋はメッセージなどで記述することができます
しかし、これを発生させる条件を書かなければ、どの道に進むのか理解できません
状態遷移の条件を示すにはガード条件を用います
ガード条件はラベルの一種で、メッセージ発生条件などを示すことができます
[ 論理式 ]
[ ] の中には、条件となる論理式を記述します
この論理式の結果は、必ず真(TRUE)か偽(FLASE)で表現できなければなりません
どのような式を記述するかは、実装言語に依存する問題です
例えば [ x == 10 ] とか [ シエル先輩のお守りがある ] となるでしょう
このようなシーケンス図を書くことも可能です
ガード条件を指定することで、呼び出すべき操作を分岐させています
値 i が 0 であれば init() 操作を、そうでなければ act() 操作を起動します
ある時間において、Object2 は init() か act() のいずれかを起動する可能性があります
そのため、図のように生存線を分けてそれぞれの操作を記述しています
必要であれば、メッセージの矢印を斜めに書いてもかまいません
できるだけジョークです