Asynchronous message in sequence diagram

I noticed that I can set a message to be asynchronous in the specifications dialog for the message, but after setting it I didn’t notice a corresponding change to the message’s arrow on the diagram.

Is there a way to graphically show that the message is asynchronous?

1 Like

I have the same problem…

1 Like

Dear skinser and Anonymous,

The presentation of asynchronous message in Sequence Diagram is correct as per the UML 2.0 standard as specified by OMG. An asynchronous message have an open arrow head while a synchrounous call message have a filled arrow head.

Best Regards,
Jick

[quote=Jick]Dear skinser and Anonymous,

The presentation of asynchronous message in Sequence Diagram is correct as per the UML 2.0 standard as specified by OMG. An asynchronous message have an open arrow head while a synchrounous call message have a filled arrow head.

Best Regards,
Jick
[/quote]

Hi Jick,

Although it is an old thread I’ll give it a try :).
Even though in the UML 2.0 standard it’s as you say, it would be nice if one could have the option to use the previous standard arrow type.
I for one prefer the previous version than 2.0 one …

Best Regards,
Horatiu

In UML 2 An asynchronous message have an open arrow head while a synchrounous call message have a filled arrow head.

How to do in the tool?

First off: please keep in mind that you’re responding to a thread which is several years old. This means that some of its participants may not be active anymore or people no longer pay attention to the thread due to its age.

Well, the current specification is 2.5.1 (last update was December 2017) and nothing has changed here. VP is still fully compliant, you can check this webpage for the latest shared specification.

Pay special attention to 17.8.1.2 ‘Graphic paths’, this contains table 17.2 which shows an overview of messages. The asynchronous message shows with an open arrow head, a call is shown with the filled arrowhead and finally we have a return message with a dotted line. This also refers us to 17.4.4 which tells us:

  • An asynchronous Message (messageSort equals asynchCall or asynchSignal) has an open arrow head.
  • A synchronous Message (messageSort equals synchCall) has a filled arrow head.
  • A reply Message (messageSort equals reply) has a dashed line with either an open or filled arrow head.
  • An object creation Message (messageSort equals createMessage) has a dashed line with an open arrow head.
  • An object deletion Message (messageSort equals deleteMessage) must end in a
    DestructionOccurrenceSpecification.
  • A lost Message is denoted with a small black circle at the arrow end of the Message.
  • A found Message is denoted with a small black circle at the starting end of the Message.

Now, I definitely agree that this can get a bit confusing at first because if you draw a regular message and check its properties then ‘asynchronous’ is not checked; thus hinting at a synchronous message thus a filled arrowhead should be used.

You can achieve this by opening the message specification and then selecting the appropriate type, see here:

This will also ensure that the arrow head follows the right syntax, as you can see.

We am very sorry about the problem you experienced.
We found asynchronous message notation may not following UML 2.0 standard.
The problem is forwarded to engineer team.
We will notify you when the problem is fixed.

1 Like

I would like to let you know asynchronous message notation is fixed to following UML 2.0 standard.
Please update the software to latest build to get the fix.