30 lines
940 B
Plaintext
30 lines
940 B
Plaintext
@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
|