Modular verification of asynchronous networks

We present a specification and verification method for networks of processes that communicate by asynchronous message-passing. Networks are specified by transition systems with fairness properties. Each possible sequence of message transmissions and receptions in a computation of the network must correspond to a fair sequence of transitions of the transition systern. We present a method for verifying that a network satisfies a specification, given that its components satisfy their specifications. The verification reduces to a set of classical verification conditions. Safety properties are verified by establishing a simulation between transition systems. Liveness properties are verified by induction over well-founded sets. The method is applied to a sliding window protocol, and to Thomas’ algorithm for updating a distributed database.

[1]  Eugene W. Stark,et al.  A Proof Technique for Rely/Guarantee Properties , 1985, FSTTCS.

[2]  Zohar Manna,et al.  Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs , 1984, Sci. Comput. Program..

[3]  Nissim Francez,et al.  Generalized fair termination , 1984, POPL '84.

[4]  Van Nguyen,et al.  A model and temporal proof system for networks of processes , 1985, POPL '85.

[5]  E. W. Stark FOUNDATIONS OF A THEORY OF SPECIFICATION FOR DISTRIBUTED SYSTEMS , 1984 .

[6]  Martin John Ossefort A unified approach to formal verification of network safety properties , 1982 .

[7]  Brent Hailpern,et al.  Modular Verification of Computer Communication Protocols , 1983, IEEE Trans. Commun..

[8]  Amir Pnueli,et al.  Impartiality, Justice and Fairness: The Ethics of Concurrent Termination , 1981, ICALP.

[9]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[10]  C. A. R. Hoare A Calculus of Total Correctness for Communicating Processes , 1981, Sci. Comput. Program..

[11]  Zohar Manna,et al.  Specification and verification of concurrent programs by A∀automata , 1987, POPL '87.

[12]  Jørgen Staunstrup Specification and Verification of Concurrent Programs , 1979 .

[13]  Amir Pnueli The Temporal Semantics of Concurrent Programs , 1981, Theor. Comput. Sci..

[14]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[15]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[16]  A. Udaya Shankar,et al.  An HDLC protocol specification and its verification using image protocols , 1983, TOCS.

[17]  Bengt Jonsson,et al.  A model and proof system for asynchronous networks , 1985, PODC '85.

[18]  Bowen Alpern,et al.  Proving Boolean Combinations of Deterministic Properties , 1987, Logic in Computer Science.

[19]  Eugene W. Stark Proving Entailment Between Conceptual State Specifications , 1988, Theor. Comput. Sci..

[20]  Teruo Higashino,et al.  An Algebraic Specification of HDLC Procedures and Its Verification , 1984, IEEE Transactions on Software Engineering.

[21]  K. Mani Chandy,et al.  Proving safety and liveness of communicating processes with examples , 1982, PODC '82.

[22]  Robert H. Thomas,et al.  A Majority consensus approach to concurrency control for multiple copy databases , 1979, ACM Trans. Database Syst..

[23]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[24]  D. Brand,et al.  Verification of HDLC , 1982, IEEE Trans. Commun..

[25]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[26]  Tony Hoare,et al.  Partial Correctness of Communicating Processes and Protocols , 1981 .

[27]  Willem P. de Roever,et al.  A Proof Rule for Fair Termination of Guarded Commands , 1985, Inf. Control..

[28]  Amir Pnueli,et al.  Now you may compose temporal logic specifications , 1984, STOC '84.

[29]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .