Protocol engineering: A rule based approach (Vieweg Advanced Studies in Computer Science)