Archyno
UMLBehaviour diagrams

Sequence vs communication diagram

The same checkout drawn both ways, so the trade is visible rather than described: one puts time on the vertical axis, the other puts structure on the page and numbers the messages.

7 min readUML 2.5.127 of 35

1: placeOrder(cart)2: reserve(items)3: charge(total)4: save(order)Customer: OrderController: Inventory: PaymentGateway: OrderRepo
The checkout as a communication diagram: the structure is immediate, the order lives in the numbers.

01One interaction, two drawings

Both diagrams below describe the same checkout: a customer places an order, the controller reserves stock, charges a card, saves the order and replies. Nothing about the system differs between them. Only the axis the notation spends its space on does.

Customer: OrderController: Inventory: PaymentGateway: OrderRepoplaceOrder(cart)reserve(items)reservedcharge(total)authorisedsave(order)confirmation
The same checkout as a sequence diagram: order is the vertical axis, and the nesting of calls is visible in the activation bars.

Read the hero figure again after that one. The communication diagram makes something obvious that the sequence diagram buries: every message passes through OrderController. Four links radiate from one node and none connect to each other, which is the shape of the design rather than the shape of the run. On the sequence diagram that fact is spread over seven rows and you have to look for it.

And the reverse is just as true. On the sequence diagram you can see at a glance that the card is charged after stock is reserved, and that the reservation reply comes back before the charge goes out. On the communication diagram that ordering is the difference between the numerals 2 and 3.

02What each one spends its space on

The two notations are defined over the same underlying interaction in UML, so this is a presentation choice rather than a modelling one. What follows from that choice is consistent enough to tabulate.

ElementNotationWhat it means
OrderSequenceRead down the page, with no counting. On a communication diagram you follow the numbers, which is slower past about six messages.
StructureCommunicationThe links are the layout, so hubs, chains and isolated participants are visible immediately. A sequence diagram has no layout to read.
NestingSequenceActivation bars show which call is still on the stack. Communication diagrams express it as decimal numbering - 2.1 inside 2 - which is harder to scan.
Conditionals and loopsSequenceCombined fragments (alt, opt, loop) frame a region of the diagram. Communication diagrams have only guards on message labels.
Number of participantsCommunicationA sequence diagram runs out of horizontal room past six or seven lifelines. A communication diagram lays them out in two dimensions.
Being understoodSequenceFar more people can read one without being taught. That is not a property of the notation, but it decides most real choices.

The same information, two very different reading experiences.

03Choosing between them

The decision is easier if you write the sentence the diagram is meant to make somebody say. If the sentence has an order in it, you want lifelines. If it has a shape in it, you want links.

Reach for it when

  • Sequence, when the point is what happens before what - protocols, handshakes, race conditions.
  • Sequence, when conditionals and loops are part of the story and you need alt or loop frames.
  • Communication, when the point is who talks to whom - coupling, a hub, a layering violation.
  • Communication, when there are more participants than fit across a page as lifelines.

Reach for something else when

  • Communication, when the audience has to be taught the numbering before they can read it.
  • Sequence, when you are really describing structure - that is a class or component diagram.
  • Both, when neither order nor collaboration is in question. Prose is shorter.
  • Drawing the same interaction twice as documentation. Keep one; a tool can regenerate the other.

In practice most teams draw sequence diagrams and read the occasional communication diagram, which is a reasonable equilibrium: order is what people are usually trying to explain. The one place the communication diagram earns its keep outright is a design review about coupling, where four links converging on one node makes the argument faster than any list of call sites.

04What to remember

In one line each

  1. 01Both notations describe the same interaction. The choice is about what a reader notices first.
  2. 02Sequence puts order on the vertical axis; communication puts structure on the page and numbers the messages.
  3. 03Nesting is an activation bar on one and a decimal number on the other.
  4. 04Only sequence diagrams have alt, opt and loop frames - conditionals are why most teams stay with them.
  5. 05Communication diagram and collaboration diagram are the same picture under UML 2 and UML 1 names.

05Common questions

Which is better, a sequence diagram or a communication diagram?

Neither is better; they emphasise different axes. A sequence diagram makes order obvious and structure hard to see. A communication diagram makes the shape of the collaboration obvious and order hard to follow. Pick the one whose strength matches the question you are answering.

Do sequence and communication diagrams contain the same information?

Semantically yes - both describe one interaction, and UML defines them over the same underlying model, so a tool can generate either from the other. What differs is what a human notices first, which is the only reason to have two notations.

Why do communication diagrams number their messages?

Because there is no time axis to read order from. The numbering carries the sequence instead, and nested decimal numbers such as 2.1 and 2.2 show which calls happen inside which. Lose the numbers and the diagram no longer says what happens when.

Can you convert a sequence diagram into a communication diagram?

Yes, and mechanically. Each lifeline becomes a node, each message becomes a numbered label on the link between two nodes, and the top-to-bottom order becomes the numbering. Many modelling tools do the conversion in both directions from a single stored interaction.

Why are communication diagrams so rarely used?

Order is what most people are trying to communicate, and reading it off a set of numbers is slower than reading it down a page. The communication diagram wins when the point is who talks to whom rather than in what order, which is a smaller share of real conversations.

All articles