PlantUMLでタイミング図を描く

2020-12-09 タイミング図 PlantUML

はじめに

システムテストの障害解析時に複数のモジュール担当者で合同でログ解析を行う機会がありました。
それぞれのモジュールは並列に処理が動き、あるタイミングでそれぞれの処理がバッティングすると問題が発生します。
障害発生ケースだけであればシーケンス図でまとめることでわかりやすくまとめることができます。
しかし、障害発生ケースと問題が発生しなかったケースの比較をしたい時、シーケンス図だと時間のスケールを表現が難しいです。
そこで時間のスケールを表現する手法やツールを調べていたところPlantUMLのタイミング図を見つけました。

モチベーション

UMLのタイミング図の紹介です。
タイミング図を知らない人向けの記事になります。

環境

  • Mac OS X(10.15.4)

  • PlantUML(2.14.0)

参考記事

タイミング図とは

クラスやオブジェクトの状態を時系列で表す図です。
状態遷移を起こすタイミングや他のオブジェクトに対するメッセージなどを表現することができます。
タイミング図により、オブジェクトの状態が遷移する順番やタイミングが視覚的に表現できます。

個人的には時間のスケールを表現したい時に有効な手段だと考えています。

title 平日
legend
平日の顔を合わせる時間は3時間30分である。
end legend

concise "夫" as Husbasnd
concise "妻" as Wife

scale 3600 as 80 pixels

@Husbasnd
6:00:00 is 仕事前
9:00:00 is 仕事
20:00:00 is 仕事後
0:00:00 is 睡眠
Husbasnd@12:30:00 <-> @13:30:00 : {60 minutes rest}

@Wife
5:15:00 is 仕事前
7:45:00 is 仕事
18:00:00 is 仕事後
22:30:00 is 睡眠
Wife@12:00:00 <-> @12:30:00 : {30 minutes rest}

highlight 6:00:00 to 7:00:00 #Gold;line:DimGray : 顔を合わせる時間
highlight 20:00:00 to 22:30:00 #Gold;line:DimGray : 顔を合わせる時間