Stepwise removal of virtual channels in distributed algorithms

  • Kaisa Sere
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 312)


A stepwise refinement method for the design of correct distributed algorithms is studied. The method frees the program designer from all the details of the target architecture of the system in early stages of the design process. The method is applied to a new aspect in the construction of distributed systems, the removal of virtual channels. We exemplify the design method by deriving a distributed algorithm. We show that the performed refinements preserve the correctness of the algorithm.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AhHoUl]
    Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, Data Structures and Algorithms, Addison-Wesley, 1983.Google Scholar
  2. [BaKu83]
    R.J.R. Back and R. Kurki-Suonio, Decentralization of Process Nets with Centralized Control, Proc. of the Second ACM Symposium on PoDC, 1983, pp.131–142.Google Scholar
  3. [BaKu84]
    R.J.R. Back and R. Kurki-Suonio, A Case Study in Constructing Distributed Algorithms: Distributed Exchange Sort, Proc. of the Finnish Winter School on Theoretical Computer Science, 1984, pp. 1–33.Google Scholar
  4. [BaKu85]
    R.J.R. Back and R. Kurki-Suonio, Serializability in Distributed Systems with Handshaking, Technical Report, CMU-CS-85-109, 1985.Google Scholar
  5. [Chandy]
    M. Chandy, Concurrent Programming for the Masses, Proc. of the 4th ACM Symposium on PoDC, 1985, pp. 1–12.Google Scholar
  6. [ChMi86a]
    Mani Chandy and Jayadev Misra, An Example of Stepwise Refinement of Distributed Programs: Quiescence Detection, ACM TOPLAS, Vol. 8, No 3, July 1986, pp. 362–343.CrossRefGoogle Scholar
  7. [ChMi86b]
    K.M. Chandy and J. Misra, Systolic algorithms as programs, Distributed Computing, Vol. 1, No 3, 1986, Springer-Verlag, pp. 177–183.CrossRefGoogle Scholar
  8. [Dijkstra]
    E.W. Dijkstra, Guarded commands, nondeterminacy, and formal derivation of programs, Comm. ACM, Vol. 18, No 8, Aug. 1975, pp. 453–457.CrossRefGoogle Scholar
  9. [Gries]
    David Gries, The Science of Programming, Springer-Verlag, 1981.Google Scholar
  10. [Hoare]
    C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall International, 1985.Google Scholar
  11. [INMOS]
    INMOS Ltd., occam Programming Manual, Prentice-Hall International, 1984.Google Scholar
  12. [KaBh]
    N.C. Kalra and P.C.P. Bhatt, Parallel algorithms for tree traversals, Parallel Computing, Vol. 2, Number 2, June 1985, North Holland, pp. 163–171.CrossRefMathSciNetGoogle Scholar
  13. [Knuth]
    D.E. Knuth, The Art of Computer Programming, Vol. 1: Fundamental Algorithms, Addisson-Wesley, 1968.Google Scholar
  14. [Lamport]
    Leslie Lamport, On interprocess communication, Part I and Part II, Distributed Computing, Vol. 1, No 2, 1986, Springer-Verlag, pp. 77–101.CrossRefGoogle Scholar
  15. [Pnueli]
    A. Pnueli, Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends, LNCS 224, Springer-Verlag, 1986, pp. 510–584.Google Scholar
  16. [Sere]
    Kaisa Sere, Stepwise Removal of Virtual Channels in Distributed Algorithms: A Case Study, Åbo Akademi, Reports on computer science and mathematics, Ser. A, No 53, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Kaisa Sere
    • 1
  1. 1.Department of Computer ScienceÅbo AkademiTurkuFinland

Personalised recommendations