@startuml scale 520 height skinparam backgroundColor transparent skinparam shadowing false skinparam defaultFontName Monospace skinparam defaultFontSize 11 skinparam sequenceArrowColor #8095a1 title A5 FLOW — three notification protocols on one target slot participant "Sender p3" as S participant "Receiver p2" as R participant "TCB notify[0]" as N participant "Verifier p0" as V S -> S : 02 arm; wait for phase 1 + Blocked R -> N : 03 ulTaskNotifyTake(clear); Blocked S -> N : give + give + give S -> S : 04 receiver was Blocked; value=3 N --> R : 05 return 3; clear value R -> N : 06 probe zero; wait overwrite S -> N : overwrite 0x11; overwrite 0x22 S -> S : 07 receiver was Blocked N --> R : 08 return 0x22; clear value R -> N : 09 probe zero; wait bits S -> N : setBits 0x04; setBits 0x20 S -> S : 10 receiver was Blocked N --> R : 11 return 0x24; clear value R -> V : completed S -> V : completed V -> V : 12 PASS + digest @enduml