Research Article

Formal Modelling of PBFT Consensus Algorithm in Event-B

Listing 13

Event ‘request’.
Event request
Refines request
  Anym1 m2
  Where
   @grd1 m1message
   @grd2 m2∈ℕ×value
   @grd3 m2=contents(m1)
   @grd4 m1∉cache(pre)
   @grd5 prj1(m2)=max(dom(contents[cache(pre)]))+1
   @grd6 prj1(m2)−n∈1‥H
   @grd7 prj2(m2)∉ran(contents[cache(pre)])
  With
   @mm=m1
  Then
   @act1 cache≔cache<+{pre↦cache(pre) ∪ {m1}}
End