Does UML define how asynchronous communication patterns (observable, message bus, etc) should be shown when showing the interaction of various components in a system? I do know that sequence diagrams have the ability to show asynchronous calls however these do not show any information about the method of communication (for example, details on the event bus or the subscription to/disposing of an observable may be important to document). Is there a standard way of capturing these types of details?
1 Answers
Actually what you are asking is to go in more detail with a message. If for example you send data over a socket to another process you just call a system library's send
method. This in turn will do lots of things (down to switching lots of transistors in lots of hubs and switches) until the opposite process gets control. Usually nobody is interested in these details. That's what we call abstraction.
However, if for any reason you are interested in some partial details of the message transport wihout going into the gory details you can simply stick a note to the message. Another way is to use a stereotype like this:
Please note that the sketch above shows a synchronous call, despite the question title. Use the open arrow variant for async calls.