messykitchenなブログ

ただひたすらに散らかった台所や人生やその他を晒す。

脱W〇rd, 脱E×cel, 脱@st@h = Markdown, PlantUML, etc. : #1

シーケンス図で "実行仕様" を付与

PlantUML を使って、シーケンス図を描いてみます。
注:UMLとしての記述の厳密さ && 例題は気にしないで。

actor        ann as a    #red
actor       bob as b    #blue

a -> b : attack
a <- b : counter-attack

hide footbox

この例では、2つのオブジェクト (annさんとbobさん) で、メッセージのやり取りをしています。
注:UMLとしての記述の厳密さは、ここでは気にしないでください。

ここで、annさんからbobさんがメッセージを受けてなにかを実行する場合、これを「四角いバー」で示すことができます。

PlantUML では、ライフライン(Lifeline) に 実行仕様 (Execution Specification) (または活性区間)を付与する方法は、いくつかあるようです。

必要な部分に明示する方法 (activate, deactivate)

実行仕様の記述が必要になった部分/不要になった部分に、明示的に記述します。

actor        ann as a    #red
actor       bob as b    #blue

a -> b : attack
activate b
a <- b : counter-attack
deactivate b

hide footbox

自動的に付与する方法 (autoactivate)

autoactivate on を書いておくと、自動的に実行仕様を付与することができます。

actor        ann as a    #red
actor       bob as b    #blue

autoactivate on

a -> b : attack
a <- b : counter-attack

hide footbox

必要な部分に明示する方法 2 (++, --)

実行仕様の記述が必要になった部分/不要になった部分に、明示的に記述します。
前述の方法とは異なり、メッセージ(Message) の記述と同時に、実行仕様を指定できます。

個人的に便利に感じる の使い方です。

actor        ann as a    #red
actor       bob as b    #blue

a -> b ++ : attack
a <- b -- : counter-attack

hide footbox

おまけ: 実行仕様に 色を付ける

メッセージの最後に色コードを付与すると、実行仕様に色が付きます。

actor        ann as a    #red
actor       bob as b    #blue

a -> b ++ #green: attack
a <- b -- : counter-attack

hide footbox