Synchronous and return messages
Arrows between lifelines in a sequence diagram are messages. A solid arrow with a filled head is a synchronous call, where the sender waits; a dashed arrow coming back is the reply.
Easily confused with
How to read it
UML 2.5.1 draws a message as a line from the sender's lifeline to the receiver's, running across the page or down it. The line and its arrowhead tell the kind of message: a synchronous call has a filled arrowhead; an asynchronous one has an open arrowhead; a reply has a dashed line with either an open or a filled head. The label is the operation's name with its arguments, such as isEligible(student), and a reply can show the value returned. Scott Ambler, in The Object Primer, explains the difference: in a synchronous call the sender waits for the result before going on, and in an asynchronous one it doesn't. Messages are read from the top of the diagram down, in the order they happen.
Also searched as: return message, sequence diagram arrows, synchronous and return messages symbol, uml synchronous and return messages.
Every message arrow
| Arrow | Message |
|---|---|
| Solid line, filled arrowhead | Synchronous call |
| Solid line, open arrowhead | Asynchronous call or signal |
| Dashed line, open or filled arrowhead | Reply |
| Dashed line, open arrowhead, to the head of a lifeline | Creation of an object |
| Line ending in a small filled circle | Lost message |
| Line starting from a small filled circle | Found message |
The forms are those of UML 2.5.1, clause 17.4.4. A message that ends in a large X on the receiving Lifeline deletes that object.
Replies left out
Reply arrows are often left off. Ambler says return values are optional and that he omits them when it's obvious what is returned, and the University of Washington's slides describe a dashed arrow back as indicating a return. A call with no dashed arrow after it doesn't mean nothing came back.
Look-alikes
A creation message and a reply are both dashed; the creation message ends at the head of a new lifeline, lower than the others. Ambler draws an asynchronous message with a partial (half) arrowhead, where UML 2.5.1 specifies an open one. Outside sequence diagrams, a dashed line with an open arrowhead between classes is a Dependency.
Read next
- Next in UML diagram symbolsInitial nodeA small filled black circle is the initial node, where the flow of a UML activity diagram starts. In a state machine diagram the same dot is the initial pseudostate, with an arrow to the first state.
- The same shape in Blueprint symbolsStairsA staircase, seen from above. The arrow shows the direction of travel from this floor, labelled with the direction and the number of risers.
More UML diagram symbols
The same shape elsewhere
Browse symbols drawn with arrows, lines or squares and rectangles.
Sources
- OMG Unified Modeling Language (OMG UML), Version 2.5.1, OMG document formal/17-12-05, December 2017, Object Management Group, 17.4.4.1 Message; 17.12.22 MessageSort
- UML Sequence Diagrams: An Agile Introduction, Scott W. Ambler, excerpted from The Object Primer, 3rd edition, chapter 11, Agile Modeling (Ambysoft)
- UML Sequence Diagrams (CSE 403 Lecture 8), slides by Marty Stepp, CSE 403, Spring 2013, University of Washington, Paul G. Allen School of Computer Science & Engineering (Internet Archive), Slides 7–9
- Sequence Diagrams (CT 1414, lecture 6), Nouf Aljaffan, CT 1414 lecture slides, November 2021, King Saud University, Slides 15–17
Researched, edited and approved by Rory Hansen before publishing. Last reviewed October 9, 2026. How we research
Added .