Under consideration for publication in Formal Aspects of Computing Verification of Distributed Systems : From Specification to Implementation