Design and Validation of Computer Protocols by Gerard Holzmann