Abstract IOA
specification of totally ordered
multicast
S: array[integer] ofmessage
next: integer
deliv: array[process] ofinteger
action Multicast(m)
{ S[next++] := m; }
action Deliver(p,
m)
precond: deliv[p] < next && m ==
S[deliv[p]]
{ deliv[p]++; }
global
state
Specification of
a reliable totally ordered network.Formal semantics, yet easy to read and write by programmers.Easy to see that it provides totally
ordered delivery.It doesnt say much
about how to implement it, leaving freedom to the implementer.