A stepwise refinement heuristic for protocol construction
- 1 May 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 14 (3) , 417-461
- https://doi.org/10.1145/129393.129394
Abstract
A stepwise refinement heuristic to construct distributed systems is presented. The heuristic is based on a conditional refinement relation between system specifications, and a “Marking”. It is applied to construct four sliding window protocols that provide reliable data transfer over unreliable communication channels. The protocols use modulo- N sequence numbers. The first protocol is for channels that can only lose messages in transit. By refining this protocol, we obtain three protocols for channels that can lose, reorder, and duplicate messages in transit. The protocols herein are less restrictive and easier to implement than sliding window protocols previously studied in the protocol verification literature.Keywords
This publication has 15 references indexed in Scilit:
- A relational notation for state transition systemsIEEE Transactions on Software Engineering, 1990
- Distributed cooperation with action systemsACM Transactions on Programming Languages and Systems, 1988
- Safety analysis of timing properties in real-time systemsIEEE Transactions on Software Engineering, 1986
- An example of stepwise refinement of distributed programs: quiescence detectionACM Transactions on Programming Languages and Systems, 1986
- Compositional semantics for real-time distributed computingPublished by Springer Nature ,1985
- Protocol Verification via ProjectionsIEEE Transactions on Software Engineering, 1984
- Specifying Concurrent Program ModulesACM Transactions on Programming Languages and Systems, 1983
- Verification of link-level protocolsBIT Numerical Mathematics, 1981
- Termination detection for diffusing computationsInformation Processing Letters, 1980
- On-the-fly garbage collectionCommunications of the ACM, 1978