@startuml scale max 900*520 skinparam backgroundColor transparent skinparam shadowing false skinparam defaultFontName "DejaVu Sans Mono" skinparam defaultFontSize 12 skinparam sequenceArrowColor #8295a0 skinparam sequenceLifeLineBorderColor #2b6f8e skinparam sequenceParticipantBorderColor #2b6f8e skinparam sequenceParticipantBackgroundColor #edf6fa title A5 FLOW — empty/full blocking, copy-by-value and FIFO participant receiver participant "Queue<1>" as queue participant sender participant verifier receiver -> queue : 02 receive M1 / Blocked (empty) sender -> queue : 03 send M1 queue --> receiver : 04 wake + copy M1 receiver -> receiver : delay(2) sender -> queue : send M2 / queue full sender -> sender : mutate source M2 → DEAD sender -> sender : 05 evidence: source mutated sender -> queue : send M3 / Blocked (full) receiver -> sender : 06 observe eBlocked receiver -> queue : 07 receive copied M2 queue --> sender : space available sender -> queue : complete send M3 queue --> receiver : 08 receive M3 sender -> sender : 09 completed verifier -> verifier : 10 FIFO + copy + digest = PASS @enduml