Timing diagram (PlantUML)

Timing diagrams show how long each state lasts, which no other UML diagram does. They are rare and exactly right when duration is the subject.


#What this example shows

  • robust and concise lifelines, which render differently on purpose.

  • Absolute times on the axis.

  • A duration constraint between two points.


#A worked example

Open it, edit it, or copy the source below.

Timing diagram (PlantUML)

The source, which you can paste into a new diagram and edit:

@startuml
robust "Client" as C
concise "Connection" as N
robust "Server" as S

@0
C is Idle
N is Disconnected
S is Listening

@100
C is Connecting
N is Handshaking

@250
C is Connected
N is Established
S is Serving

@900
C is Waiting

@1400
C is Timeout
N is Disconnected
S is Listening

@1500
C is Idle

C@250 <-> C@900 : request in flight
C@900 <-> C@1400 : 500ms timeout
@enduml

#Making it your own

  • robust shows discrete named states; concise draws a compact single line. Mix them deliberately.

  • Put real units on the axis, or it is a state diagram drawn sideways.

  • The duration constraints are the reason to draw one. Annotate them.



Verbose, stable, and it draws almost everything.