Files
lab-rv32i-freertos-c-event-…/doc/assets/a5-flow.puml
T

30 lines
875 B
Plaintext

@startuml
scale 520 height
skinparam backgroundColor transparent
skinparam shadowing false
skinparam defaultFontName Monospace
skinparam defaultFontSize 11
skinparam sequenceArrowColor #8095a1
skinparam sequenceLifeLineBorderColor #8095a1
title A5 FLOW — ALL-ready wait and reusable barrier
participant Coordinator as C
participant "Worker A" as A
participant "Worker B" as B
participant EventGroup as G
participant Verifier as V
C -> G : 02 wait READY_ALL; block
A -> G : 03 set READY_A
A -> G : 04 sync(SYNC_A); block
B -> B : 05 observe READY_A|SYNC_A; A Blocked
B -> G : set READY_B
G --> C : 06 READY_ALL; clear READY bits
C -> G : sync(SYNC_C); block
B -> B : 07 coordinator Blocked
B -> G : sync(SYNC_B) = final bit
G --> C : 08 SYNC_ALL
G --> A : 09 SYNC_ALL
G --> B : 10 SYNC_ALL; clear sync bits
B -> V : workers complete
V -> G : 11 final bits = 0; PASS
@enduml