A Unified Method for the Specification and Verification of Protocols

Verification of communication protocols usually involves two parts: a state-machine analysis of the control structure and proving some assertions about the semantic content of the protocol' s actions. The two parts are traditionally, treated separately. This paper suggests that the two approaches are not independent but rather complementary. It intro duces a unified model for protocols (and generally cooperating distant subsystems) encompassing both aspects. The method is demonstrated on three different descriptions of the same protocol, each with a different tradeoff between state machine and programming aspects. Verification of partial and full correctness is carried out in terms of the three descriptions.