A Timing Diagram
in UML is a specific type of interaction diagram
that visualizes the timing constraints
of a system. It focuses on the chronological order of events
, showcasing how different objects interact with each other over time. Timing diagrams
are especially useful in real-time systems
and embedded systems
to understand the behavior of objects throughout a given period.
You declare participant using the following keywords, depending on how you want them to be drawn.
analog signal is continuous, and the values are linearly interpolated between the given setpoints
binary signal restricted to only 2 states
clocked signal that repeatedly transitions from high to low, with a
period, and an optional
concise signal designed to show the movement of data (great for messages)
robust complex line signal designed to show the transition from one state to another (can have many states)
You define state change using the
notation, and the
[Ref. QA-14631, QA-14647 and QA-11288]
It's also possible to have binary and clock signal, using the following keywords:
You can add message using the following syntax.
It is possible to use relative time with
Instead of using absolute or relative time on an absolute time you can define a time as an anchor point by using the
keyword and starting the name with a
@XX as :<anchor point name>
Rather than declare the diagram in chronological order, you can define it by participant.
You can also set a specific scale.
When using absolute Times/Dates, 1 "tick" is equivalent to 1 second.
You can also define an inital state.
A signal could be in some undefined state.
Intricated or undefined robust state
Intricated or undefined binary state
[Ref. QA-11936 and QA-15933]
It is also possible to hide some state.
It is possible to hide time axis.
It is possible to use time or date.
It is possible to display time constraints on the diagrams.
You can higlight a part of diagram.
You can use the
note top of
note bottom of
keywords to define notes related to a single object or participant (available only for
[Ref. QA-6877, GH-1465]
You can optionally add a title, a header, a footer, a legend and a caption:
Thanks to Adam Rosien
for this example.
You can add color
Without style (by default)
You can use style
to change rendering of elements.
You can use the
tags and sterotyping to give a name to line attributes.
You can use
command to compact the timing layout.
Global mode with
Local mode with only
compact on element