A Language for the Specification and Analysis of Protocols