An example of stepwise refinement of distributed programs: quiescence detection
- 1 June 1986
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 8 (3), 326-343
- https://doi.org/10.1145/5956.5958
Abstract
We propose a methodology for the development of concurrent programs and apply it to an important class of problems: quiescence detection. The methodology is based on a novel view of programs. A key feature of the methodology is the separation of concerns between the core problem to be solved and details of the forms of concurrency employed in the target architecture and programming language. We begin development of concurrent programs by ignoring issues dealing with concurrency and introduce such concerns in manageable doses. The class of problems solved includes termination and deadlock detection.Keywords
This publication has 10 references indexed in Scilit:
- Distributed snapshotsACM Transactions on Computer Systems, 1985
- Derivation of a termination detection algorithm for distributed computationsInformation Processing Letters, 1983
- Distributed deadlock detectionACM Transactions on Computer Systems, 1983
- An assertional correctness proof of a distributed algorithmScience of Computer Programming, 1982
- Echo Algorithms: Depth Parallel Operations on General GraphsIEEE Transactions on Software Engineering, 1982
- Distributed deadlock detection algorithmACM Transactions on Database Systems, 1982
- Achieving Distributed Termination without FreezingIEEE Transactions on Software Engineering, 1982
- Termination Detection of Diffusing Computations in Communicating Sequential ProcessesACM Transactions on Programming Languages and Systems, 1982
- Distributed termination with interval assertionsLecture Notes in Computer Science, 1981
- Distributed TerminationACM Transactions on Programming Languages and Systems, 1980