-
Notifications
You must be signed in to change notification settings - Fork 1
/
protocol.plantuml
81 lines (69 loc) · 1.68 KB
/
protocol.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
@startuml
left to right direction
node Agent as "Agent space" #palegreen {
actor Agent.agent as "Agent"
rectangle Accounts {
collections Account.credits as "Credits (₡)"
storage Agent.UBI as "UBI"
}
}
interface Vote as "vote"
database AgentParams as "Agent params" {
storage AgentParams.UBI as "UBI amount"
}
database EconParams as "Economic params" {
storage EconParams.Occ as "Occupations"
storage EconParams.Trk as "Trackers"
storage EconParams.Proc as "Processes"
}
component Cost as "Cost<>" {
}
node Bloc {
rectangle Bloc.cost as "Costs" {
component Resource.cost as "Cost<Resource>"
component Process.cost as "Cost<Process>"
storage Bloc.Allowance as "Cost allowance"
}
node Resource
interface Price
}
rectangle Investment {
hexagon Cyber as "Cybernetics"
interface Invest
}
rectangle EcActions as "Economic actions" {
interface Order as "order"
interface Work as "work"
interface Use as "use"
interface Consume as "consume"
interface Transfer as "transfer"
}
Agent.agent -l-> Vote
Agent.agent -d-> Consume
Agent.agent -d-> Use
Agent.agent -d-> Work
Agent.agent -[#blue,thickness=2]* Bloc : "Membership"
Agent.agent -u-> Invest
Accounts .> Use
Accounts .> Consume
Vote -d-> AgentParams
Vote -d--> EconParams
Bloc <-> Order
Bloc -> Transfer
Bloc.cost .[thickness=2]> Price
Bloc.cost .[thickness=4].> Cyber
AgentParams.UBI .> Agent.UBI
EconParams.Occ .d.> Cost
EconParams.Trk .d.> Cost
EconParams.Proc .d.> Cost
Price -> Consume
Price .> Cyber
Investment .[thickness=4].> Bloc.Allowance
Work .> Account.credits
Transfer -d-> Bloc
Resource -u-> Consume
Resource -u-> Use
Resource -u-> Transfer
EcActions .[thickness=4]> Cyber
EcActions .[thickness=4].> Bloc.cost
@enduml