Does reply invoke finish occurence of execution specification?

16 views
Skip to first unread message

Walter Pratt

unread,
Jun 29, 2020, 9:40:05 AM6/29/20
to UML Forum
Salut all!

I'm talking about sequence diagrams

So, synchronous message to the lifeline should invoke a start occurrence of execution specification, right?

1) What "synchronous answer" means?
a) it's just an answer to synchronous message
b) this answer in turn waits for a reply

Same question:
2) What is "asynchronous answer" means"
a) it's just an answer to asynchronous message
b) this answer does not care about continuing communications

Third question:
does answer type must correspond to type of a message? i.e. you cannot give asynchronous answer to synchronous message?

https://www.uml-diagrams.org/sequence-diagrams.html#execution "Overlapping execution specifications on the same lifeline - callback message"
gives an example of type mismatch between message and answer.

Personally, I intuitively suppose that 1=a and 2=b, and "HTTP-202 Accepted" is surely asynchronous answer for "wannabe synchronous" message "GET http://"
You can note that HTTP-202 in some situation means that server either forwarded this message to some upstream servers and can sleep, or undertook long heavy processing of this message while replying "heard" instantly. Id est, HTTP-202 as sample of kinda asynchronous answer does not specify lifetime of a server.

Finally, the main question is:

Does reply anyhow define lifetime ending of a process?

I'm currently in discussion with author of https://sequencediagram.org/

I entered this script

title async reply kills lifebar
activecolor #lightgreen
autoactivation //option to avoid issuing "activate participant" manually
autonumber
activate A
A->>B: sudo make me a sandiwch
note right of B:this is async message\nwhich does not require an answer
B-->>A:okay.
//activate B //patch for autodeactivation behaviour
note right of B:therefore async reply\nshould not deactivate a lifebar,\nbut does
B->Fridge:I want a sandwich
Fridge-->B: here you go
B-->A: here's your sandwich

and I behold end of execution of B at the line 2) B-->>A:okay.

Is it necessary or recommended to stop execution on asynchronous answer?
Is it necessary or recommended to stop execution on synchronous answer?
Is it necessary or recommended to stop execution on any replying to synchronous message?
Is it necessary or recommended to stop execution on any replying to asynchronous message?

I cannot find answers here https://www.omg.org/spec/UML/2.5/PDF

Thank you!
Reply all
Reply to author
Forward
0 new messages