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