view images/paxos1.pu @ 0:f0c06489da13

initial commit
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Tue, 07 May 2019 22:11:05 +0900
parents
children
line wrap: on
line source

@startuml
title Paxos 1
/' ======= style ======= '/

skinparam sequence {
ArrowColor black
LifeLineBorderColor black

ParticipantBorderColor black
ParticipantBackgroundColor white
ParticipantPadding 20
}

/' ======= node name ======= '/

/' === proposers === '/
participant proposer1
activate proposer1
participant proposer2
activate proposer2

/' === acceptors === '/
participant acceptor1
activate acceptor1
participant acceptor2
activate acceptor2
participant acceptor3
activate acceptor3

/' === learners === '/
participant learner1
activate learner1

/' ======= uml ======= '/

proposer1 -> acceptor1:Prepare request \n\
Proposal(7, 1)
proposer1 -> acceptor2
proposer1 -> acceptor3

acceptor1 --> proposer1:Promise Success\n\
Proposal(7, 1)
acceptor2 --> proposer1
acceptor3 --> proposer1

proposer2 -> acceptor1:Prepare request \n\
Proposal(8, 2)
proposer2 -> acceptor2
proposer2 -> acceptor3

acceptor1 --> proposer2:Promise Success\n\
Proposal(8, 2)
acceptor2 --> proposer2
acceptor3 --> proposer2

proposer2 -> acceptor1:Accept request \n\
Proposal(8, 2)
proposer2 -> acceptor2
proposer2 -> acceptor3

acceptor1 --> proposer2:Accept \n\
Proposal(8, 2)
acceptor1 -> learner1:Accept \n\
Proposal(8, 2)

acceptor2 --> proposer2:Accept \n\
Proposal(8, 2)
acceptor2 -> learner1:Accept \n\
Proposal(8, 2)

learner1 -> learner1:chosen \n\
Proposal(8, 2)

@enduml