Interaction & Timing Diagrams

Master the dynamics of communication. Learn Sequence diagrams for time-based interactions and Communication diagrams for object collaboration.

April 22, 20263 min read8 / 8

We've arrived at the final piece of the UML puzzle: Interaction Diagrams. If a Class Diagram is the "Map," and an Activity Diagram is the "Workflow," then a Sequence Diagram is the "Script." It shows exactly who talks to whom, in what order, and for how long.

The Essentials

  1. Sequence Diagrams show interactions organized by time (top to bottom).
  2. Communication Diagrams show the same information but organized by space (how objects are linked).
  3. Fragments (ALT, LOOP) allow you to model complex logic like IF-ELSE and loops within a sequence.

1. Sequence Diagrams: The Time Script

This is arguably the most common behavioral diagram in industry. It details how operations are performed over a vertical time axis.

Key Notation

  • Lifeline: A dashed vertical line representing a participant (Object or Actor).
  • Activation (Focus of Control): A thin rectangle on the lifeline showing when an object is actually "busy" doing work.
  • Synchronous Message (Filled Arrow): The caller waits for a response before continuing.
  • Asynchronous Message (Regular Arrow): The caller keeps working without waiting.
  • Fragments: These are boxes that surround parts of the interaction to show logic:
    • ALT: Alternatives (If-Else).
    • OPT: Optional (If-Then).
    • LOOP: Iteration.
    • PAR: Parallel processing.

2. Communication Diagrams: The Collaboration Map

Prior to UML 2.0, these were called "Collaboration Diagrams." They are semantically equivalent to Sequence Diagrams - they show the same information, just in a different way.

Instead of a time axis, they use numbered arrows (1, 1.1, 1.2) to show the order of messages.

  • Strength: It's much easier to see the relationships and links between objects.
  • Weakness: It's harder to follow the exact timing compared to a Sequence Diagram.

This collaboration view is vital when identifying where to place an Adapter Pattern to bridge two incompatible objects.


3. Interaction Overview & Timing Diagrams

Interaction Overview

This is a high-level abstraction. It's basically an Activity Diagram where each "node" is actually a mini Sequence Diagram fragment. It's great for showing the flow between complex interaction scenarios.

Timing Diagrams

Timing diagrams are used when the exact duration between state changes matters.

  • The X-axis is the elapsed time.
  • The Y-axis shows the states or values.

Summary: Which Interaction Tool to Choose?

DiagramBest For...Focus
SequenceModeling a specific scenario/script.Time Ordering
CommunicationSeeing how objects are wired together.Object Links
Interaction OverviewHigh-level flow between scenarios.Logical Flow
TimingReal-time constraints and durations.Exact Timing

Final Thoughts on UML

We've covered all 14 diagrams in this series. The biggest takeaway I've had is that UML is a language, not a cage. You don't need to follow every rule in the 700-page specification. Use the symbols that remove ambiguity for your team, and drawing the diagrams that help you find design flaws early.

If you are just starting, I recommend reading the Introduction to Design Patterns to see how these diagrams are used to document classic software solutions.

Remember: Clear beats Perfect every time.

Further Reading and Watching

Congratulations! You've finished the UML Diagrams module. You're now ready to tackle any LLD interview with a professional drawing toolkit. See you in the next chapter of the LLD series!