Specification
An abstract description of the protocol,
where properties are easy to check
Refinement
A transformation
preserving the properties
Usually this means that the
implementation must
be less
nondeterministic than
the specification.
Question: why?