/
use_cases_cognitive_arbitration_actors.plantuml
56 lines (47 loc) · 1.41 KB
/
use_cases_cognitive_arbitration_actors.plantuml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
@startuml
rectangle "Generic Pools" {
actor :Worker Nodes: as workers
actor :Validator Nodes: as validators
actor :Arbiter Nodes: as arbiters
validators --|> workers: high stake
arbiters --|> validators: high reputation
}
rectangle "Public Arbitration\nParticipants" {
actor :Public Arbitration\nApplicant Nodes\n(PAAN): as paan
actor :Public Arbitration\nQuorum Nodes\n(PAQN): as paqn
actor :Public Arbitration\nExcluded Nodes\n(PAEN): as paen
rectangle "Closed Arbitration\nParticipants" {
rectangle "Validation Participants" {
actor :Original Worker\nNode (OWN): as own
actor :Original Validator\nNode (OVN): as ovn
}
actor :3 x Closed Arbitration\nArbiter Nodes\n(CAAN): as caan
}
}
actor :Appealing Nodes\n(ApN): as apn
actor :Initial Appealing\nNode (IApN): as iapn
actor :Public Appealing\nNode (PApN): as papn
apn <|-- iapn
apn <|-- papn
rectangle "Final Categories" {
actor :Faulty Node(s)\n(FN): as fn
actor :True Node(s)\n(TN): as tn
}
own --|> workers: lottery
ovn --|> validators: lottery
caan --|> arbiters: lottery
paan --|> workers: opened applications
paan <|-- paqn: if responded
paan <|-- paen: if didn't responded
iapn <|.. own: in case of initial appeal
papn <|.. own: in case of public appeal
papn <|.. ovn: in case of public appeal
'fn <|.. own
'fn <|.. ovn
'fn <|.. caan
'fn <|.. paqn: <25%
'tn <|.. own
'tn <|.. ovn
'tn <|.. caan
'tn <|.. paqn: >75%
@enduml