Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

An example of stepwise refinement of distributed programs: quiescence detection

Published: 01 June 1986 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    BEERI, C., AND OBERMARCK, R. A resource class independent deadlock detection algorithm. Res. Rep. RJ3077, IBM Research Laboratory, San Jose, Calif., May 1981.
    [2]
    BRACHA, G., AND TOUEG, S. A distributed algorithm for generalized deadlock detection. Tech. Rep. TR 83-558, Cornell Univ., Ithaca, June 1983.
    [3]
    CHANDY, K. M., AND MISRA, J. A distributed algorithm for detecting resource deadlocks in distributed systems. In ACM SIGACT-S1GOPS Symposium on Principles of Distributed Computing (Ottawa, Can., Aug. 1982), ACM, New York.
    [4]
    CHANDY, K. M., MISRA, J., AND HAAS, L. Distributed deadlock detection. ACM Trans. Comput. Syst. 1, 2 (May 1983), 144-156.
    [5]
    CHANDY, K. M., AND LAMPORT, L. Distributed snapshots: Determining global states of distributed systems. ACM Trans. Comput. Syst. 3, I (Feb. 1985), 63-75.
    [6]
    CHANG, E. Echo algorithms: Depth parallel operations on general graphs. IEEE Trans. Softw. Eng. SE-8, 4 (July 1982), 391-401.
    [7]
    COHEN, S., AND LEHMANN, D. Dynamic systems and their distributed termination. ACM S1GACT-SIGOPS Symposium on Principles of Distributed Computing (Ottawa, Can., Aug., 1982), ACM, New York, 29-33.
    [8]
    DIJKSTRA, E. W., AND SCHOLTEN, C.S. Termination detection for diffusing computations. Inf. Process. Lett. I 1, i (Aug. 1980).
    [9]
    DIJKSTRA, E.W. Distributed termination detection revisited. EWD 828, Plataanstraat 5, 5671 AL Nuenen, The Netherlands.
    [10]
    DIJKSTRA, E. W., FEIJEN, W. H. J., AND VAN GASTEREN, A. J.M. Derivation of a termination detection algorithm for distributed computations. Inf. Process. Lett. 16 (1983), 217-219.
    [11]
    DIJKSTRA, E.W. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, N.J., 1976.
    [12]
    FRANCEZ, N. Distributed termination. ACM Trans. Program. Lang. Syst. 2, i (Jan. 1980), 42-55.
    [13]
    FRANCEZ, N., RODEH, M., AND SINTZOFF, M. Distributed termination with interval assertions. In the Proceedings of Formalization of Programming Concepts (Peninsula, Spain, Apr. 1981), Lecture Notes in Computer Science 107, Springer Verlag, New York.
    [14]
    FRANCEZ, N., AND RODEH, M. Achieving distributed termination without freezing. IEEE Trans. So{tw. Eng. SE-8, 3 (May 1982), 287-292.
    [15]
    GLIGOR, V., AND SHATTUCK, S. On deadlock detection in distributed databases. IEEE Trans. Softw. Eng. SE-6, 5 (Sept. 1980).
    [16]
    GOUDA, M. Distributed state exploration for protocol validation. TR-185. Dept. of Computer Sciences, Univ. of Texas, Austin, Oct. 1981.
    [17]
    HAAS, L., AND MOHAN, C. A distributed deadlock detection algorithm for a resource-based system. Res. Rep. RJ3765, IBM Research Laboratory, San Jose, Calif., Jan. 1983.
    [18]
    HERMAN, T., AND CHAND~, K.M. A distributed procedure to detect AND/OR deadlock. Dept. of Computer Sciences, Univ. of Texas, Austin, Feb. 1983.
    [19]
    LAMPORT, L. An assertional correctness proof of a distributed algorithm. In Science o{ Computer Programming, 2, North-Holland, Amsterdam, 1982, 175-206.
    [20]
    MANNA, Z., AND PNUELI, A. How to cook a temporal proof system for your pet language. In Symposium on Principles of Programming Languages (Austin, Tex., 1983).
    [21]
    MENASCE, D., AND MUNTZ, R. Locking and deadlock detection in distributed databases. IEEE Trans. Softw. Eng. SE-5, 3 (May 1979).
    [22]
    MISRA, J., AND CHANDY, K.M. Termination detection of diffusing computations in communicating sequential processes. ACM Trans. Program. Lang. Syst. 4, I (Jan. 1982), 37-43.
    [23]
    MmR^, J. Detecting termination of distributed computations using markers. In Proceedings of the ACM SIGACT-SIGOPS Symposium of Principles of Distributed Computing (Montreal, Can., Aug. 17-19, 1983), ACM, New York.
    [24]
    OEERMARCK, R. Deadlock detection for all resource classes. Res. Rep. RJ2955, IBM Research Laboratory, San Jose, Calif., Oct. 1980.
    [25]
    OBERMARCK, R. Distributed deadlock detection algorithm. ACM Trans. Database Syst. 7, 2, (June 1982), 187-208.

    Cited By

    View all
    • (2021)Automated Verification of Concurrent Search StructuresSynthesis Lectures on Computer Science10.2200/S01089ED1V01Y202104CSL0139:1(1-188)Online publication date: 1-Jun-2021
    • (2019)Reducing the Number of Messages in Self-stabilizing ProtocolsStabilization, Safety, and Security of Distributed Systems10.1007/978-3-030-34992-9_12(133-148)Online publication date: 14-Nov-2019
    • (2018)Message-Efficient Self-stabilizing Transformer Using Snap-Stabilizing Quiescence DetectionStructural Information and Communication Complexity10.1007/978-3-030-01325-7_3(20-24)Online publication date: 31-Oct-2018
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Programming Languages and Systems
    ACM Transactions on Programming Languages and Systems  Volume 8, Issue 3
    The MIT Press scientific computation series
    July 1986
    135 pages
    ISSN:0164-0925
    EISSN:1558-4593
    DOI:10.1145/5956
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 June 1986
    Published in TOPLAS Volume 8, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)33
    • Downloads (Last 6 weeks)7
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Automated Verification of Concurrent Search StructuresSynthesis Lectures on Computer Science10.2200/S01089ED1V01Y202104CSL0139:1(1-188)Online publication date: 1-Jun-2021
    • (2019)Reducing the Number of Messages in Self-stabilizing ProtocolsStabilization, Safety, and Security of Distributed Systems10.1007/978-3-030-34992-9_12(133-148)Online publication date: 14-Nov-2019
    • (2018)Message-Efficient Self-stabilizing Transformer Using Snap-Stabilizing Quiescence DetectionStructural Information and Communication Complexity10.1007/978-3-030-01325-7_3(20-24)Online publication date: 31-Oct-2018
    • (2013)Distributed Termination DetectionDistributed Algorithms for Message-Passing Systems10.1007/978-3-642-38123-2_14(367-399)Online publication date: 2013
    • (2013)Formal Modeling and Verification of Self-* Systems Based on Observer/Controller-ArchitecturesAssurances for Self-Adaptive Systems10.1007/978-3-642-36249-1_4(80-111)Online publication date: 2013
    • (2012)Implements and CompositionalityDistributed Programming10.1007/978-1-4614-4881-5_7(173-189)Online publication date: 4-Aug-2012
    • (2012)Programs, Semantics and Effective AtomicityDistributed Programming10.1007/978-1-4614-4881-5_6(141-171)Online publication date: 4-Aug-2012
    • (2012)IntroductionDistributed Programming10.1007/978-1-4614-4881-5_1(1-39)Online publication date: 4-Aug-2012
    • (2011)ReferencesAn Introduction to Practical Formal Methods Using Temporal Logic10.1002/9781119991472.refs(321-347)Online publication date: 26-Apr-2011
    • (2010)An algebraic foundation for automatic feature-based program synthesisScience of Computer Programming10.1016/j.scico.2010.02.00175:11(1022-1047)Online publication date: 1-Nov-2010
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media