Ero solito disegnarli come parte del mio lavoro. Avevamo un modo fisso in cui li abbiamo fatti. Non ho intenzione di dirti come, perché ogni negozio di dang ha il proprio modo di farli. Posso provarlo con un ricerca immagini google .
Una cosa che noterai è che quasi nessuno mette un'inclinazione sulle frecce. In questa metafora un'inclinazione non sarebbe asincronica.
L'asse y rappresenta il tempo. Async non si adatta veramente a questo diagramma perché essere asincroni significa che hai il tuo proprio dannato asse y. Quindi tutto ciò che disegni qui è una supposizione. Ma ci proviamo lo stesso.
La tua linea "risposta qui" mi dice che quando B termina ti aspetti che A sia ancora in elaborazione e, poiché lo metti a posto alla fine, termina quando vede B rispondere.
La tua linea "o qui" mi dice che quando B termina ti aspetti che A sia già terminato.
Molto probabilmente non sai nemmeno cosa succederà. In questi casi la rappresentazione più sicura non è affatto una freccia di ritorno. Se hai una chiamata di ritorno a A ha più senso avere una freccia di 'ritorno'. In realtà hai due diversi flussi di controllo che attraversano A in quel punto.
Tradizionalmente i diagrammi di sequenza hanno avuto due lavori. Per rappresentare il flusso di controllo e prevedere la durata dell'oggetto in modo da sapere quando è sicuro eliminarli. Quando è implicata la sincronizzazione asincrona, la modalità di vita dell'oggetto diventa molto complicata.
La cosa più importante è che il tuo negozio abbia un modo standard per farlo in modo che tu possa capirti. Se quello standard esce da qualche versione di un libro UML tanto meglio. Ciò significa che hai un libro da consegnare ai nuovi dipendenti. Ma non siamo nel tuo negozio. Siamo su programmatori.