@startuml class ProtocolOfDemocracy class TaxBill class Proposal class Assignment class Dismissal class Legislation class SignificantLegislation class Deliberation class Citizen class TaxPayer class Proposer class DeliberationParticipant class CorruptionResistantOfficer class Facilitator class Professional class CivilDismissibleOfficer class Subset class Administration class Protocol class CorruptionResistantKnowYourCitizens class Judge class DistrictJudge class AppellateJudge class SuperiorJudge class JudicialPersonnelAffairs TaxBill "many" --* "1" ProtocolOfDemocracy : belongs to > Dismissal <|-- Proposal : extends < Assignment <|-- Proposal : extends < Legislation <|-- Proposal : extends < SignificantLegislation <|-- Legislation : extends < Deliberation "many" --* "1" ProtocolOfDemocracy : belongs to > Proposer <-- Citizen : extends < TaxPayer <|-- Citizen : extends < DeliberationParticipant <|-- Citizen : extends < Facilitator <|-- Citizen : extends < Professional <|-- Citizen : extends < Judge <|-- Citizen : extends < Citizen "many" --* "1" ProtocolOfDemocracy : registers < TaxPayer "many" --* "1" ProtocolOfDemocracy : pay tax < Deliberation "many" --* "1" ProtocolOfDemocracy : has many < CorruptionResistantKnowYourCustomers "1" -- "1" ProtocolOfDemocracy : has a < CorruptionResistantKnowYourCustomers "1" --* "many" Citizen : register > Administration "many" --* "1" ProtocolOfDemocracy : has many < Protocol "many" --* "1" ProtocolOfDemocracy : has many < Facilitator "many" --* "1" ProtocolOfDemocracy : assigns < Professional "many" --* "1" ProtocolOfDemocracy : assigns < Professional "1" --* "many" Tag : has many > SuperiorJudge "many" --* "1" ProtocolOfDemocracy : assigns < JudicialPersonnelAffairs "1" -- "1" SuperiorJudge : assigns < JudicialPersonnelAffairs <|-- CivilDismissibleOfficer : extends < AppellateJudge "many" *-- "1" JudicialPersonnelAffairs : assigns < DistrictJudge "many" *-- "1" JudicialPersonnelAffairs : assigns < Proposer "1" -- "1" Proposal : have > Deliberation "1" -- "1" Proposer : have > Deliberation "1" *-- "many" DeliberationParticipant : random pick > Deliberation "1" -- "1" Facilitator : random pick > Deliberation "1" *-- "many" Tag : assigned by a facilitator < Deliberation "1" --* "many" Professional : random pick for each tag > Facilitator <-- CorruptionResistantOfficer : extends < Professional <-- CorruptionResistantOfficer : extends < Administration <|-- Subset : extends < CivilDismissibleOfficer <|-- Administration : extends < Protocol <|-- Subset : extends < CorruptionResistantKnowYourCitizens <|-- CivilDismissibleOfficer : extends < JudicialPersonnelAffairs <-- CivilDismissibleOfficer : extends < Judge <-- CorruptionResistantOfficer : extends < DistrictJudge <|-- Judge : extends < AppellateJudge <|-- Judge : extends < SuperiorJudge <|-- Judge : extends < CorruptionResistantKnowYourCitizens : register() CorruptionResistantKnowYourCitizens : deregister() CorruptionResistantOfficer : withdrawSalary() CivilDismissibleOfficer : withdrawVestedBudget() Facilitator : pickTag(what) Facilitator : talkInDeliberation() Professional : talkInDeliberation() Proposer : dismiss(who) Proposer : assign(who, what) Proposer : propose(budget, LegalDSL) Citizen : withdrawFund() TaxPayer : payTax() DeliberationParticipant : talkInDeliberation() DeliberationParticipant : voteFor() DeliberationParticipant : withdrawFund() Judge : approve() Judge : deny() SuperiorJudge : assignJudicialPersonnelAffairs() JudicialPersonnelAffairs : assignAppellateJudge() JudicialPersonnelAffairs : assignDistrictJudge() @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
Pure Javascript
PNG
SVG
ASCII Art