Issues in the Refinement of Distributed Programs

(Invited Talk)
  • Yoram Moses
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1926)

Abstract

Developing correct computer programs is a notoriously difficult task, which has attracted a significant intellectual effort over the past decades. One attractive methodology that has been proposed to tackle this problem consists of systems for program refinement, in which a calculus is given for transforming, often in a top-down manner, the specification of a computational task into a program implementing this specification (excellent introductions to refinement are Back and von Wright 1998 and Morgan 1994). Calculi for the refinement of sequential programs are by now a mature and well-established field. In this abstract, I wish to discuss some issues that arise when we try to develop a refinement calculus for distributed programs. This discussion is based on a joint project with Ron van der Meyden and Kai Engelhardt of the University of New South Wales, Sydney, Australia. Some insight into the technical aspects of the approach we are pursuing can be found in Engelhardt et al. 1998 and 2000 and in van der Meyden and Moses 2000.1 An obvious point to start a discussion of refinement for distributed programs is the sequential case. The subtlety and inherent complexity of distributed systems make the task of refinement for distributed programs much harder. The purpose of this abstract is to discuss, in an informal fashion, some of the distinctive issues that seem to play a role in this effort. The hope is that a discussion of these issues may contribute to other work on formal and algorithmic approaches to distributed computation.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Attiya, C., Welch, J.L.: Distributed Computing: Fundamentals, Simulations and Advanced Topics. McGraw-Hill (1998)Google Scholar
  2. Back, R. J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer Verlag Graduate Texts in Comp. Sci. (1998)Google Scholar
  3. Chou, C., Gafni, E.: Understanding and verifying distributed algorithms using stratified decomposition. Proc. 7th ACM PODC (1988) 44–65Google Scholar
  4. Dijkstra, E.W.: A Discipline of Programming. Prentice Hall (1976)Google Scholar
  5. Engelhardt, K., van der Meyden, R., and Moses, Y.: Knowledge and the logic of local propositions, Proc. 7th Conf. on Theor. Aspects of Reasoning about Knowledge (TARK), Gilboa, T. Ed., Morgan Kaufmann (1998) 29–42Google Scholar
  6. Engelhardt, K., van der Meyden, R., and Moses, Y.: A program refinement framework supporting reasoning about knowledge an time. Foundations of Software Science and Computations Structures, Tjuryn J. Ed., Springer Verlag (2000) 114–129Google Scholar
  7. Francez, N.: Distributed Termination. ACM Trans. Prog. Lang. and Syst., 2(1) (1980) 42–55MATHCrossRefGoogle Scholar
  8. Gallager, R., Humblet, P., Spira, P.: A distributed algorithm for minimum-weight spanning trees. ACM Trans. on Prog. Lang. and Syst., 5(1) (1983) 66–77MATHCrossRefGoogle Scholar
  9. Elrad, T., Francez, N.: Decomposition of distributed programs into communication-closed layers. Sci. Comp. Prog., 2(3) (1982) 155–173MATHCrossRefGoogle Scholar
  10. Havelund, K., Larsen, K.G.: The fork calculus. Proc. 20th ICALP, LNCS 700 (1993) 544–557Google Scholar
  11. Koo, R., Toueg, S.: Effects of message loss on termination of distributed protocols. Inf. Proc, Letters, 27 (1988) 181–188Google Scholar
  12. Lynch, N.A.: Distributed Algorithms, Morgan Kaufmann Publishers (1996)Google Scholar
  13. van der Meyden, R., Moses, Y.: On refinement and temporal annotations, this volume.Google Scholar
  14. Morgan, C.: Programming from Specifications-2nd ed. Prentice Hall (1994)Google Scholar
  15. Stomp, F., de Roever, W.P.: A principle for sequential reasoning about distributed systems. Form. Asp. Comp., 6(6) (1994) 716–737MATHGoogle Scholar
  16. Zweirs, J., Janssen, W.: Partial-order based design of concurrent systems. Proc. REX Symp. “ A decade of concurrency”, J. de Bakker, W. P. de Roever, G. Rozenberg eds., LNCS 803 (1994) 622–684Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Yoram Moses
    • 1
  1. 1.Department of Electrical EngineeringTechnion-Israel Institute of TechnologyHaifaIsrael

Personalised recommendations