Non-instantaneous messages in Sequence Diagram

+1 vote
asked Oct 30, 2017 in Wanted features by JimminyCricket (130 points)

I have a use case to model non-instantaneous messages in the sequence diagram. For example,

@startuml
A -> C: Starts before 'B' sends
B -> C: But B's message arrives before A's
@enduml

In the diagram, I'd like the start-point of A's arrow to be above B's. But B's arrow end-point should reach C before A's. The only way to do this is to have the message arrows be angled. I'm not sure how this would fit with the syntax, but is this feature possible?

1 Answer

0 votes
answered Nov 1, 2017 by Steve

I have represented this with an extra participant representing "uncertainty" or "transport" or similar, depending on the mechanism at work.  I then encode it like this:

@startuml
A -> uncertainty : A message
B -> uncertainty : B message
uncertainty -> C : B message
uncertainty -> C : A message
@enduml
...