Towards a compositional method for coordinating Gamma programs

  • Michel Chaudron
  • Edwin de Jong
Regular Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1061)

Abstract

With the growing complexity of software, incurred by the widespread acceptance of parallel and distributed computer systems and networks, program design would benefit from clearly separating the correctness issues (the computation) from efficiency issues (the coordination). Gamma has shown to be a powerful and expressive programming model that allows the basic computations of a program to be expressed with a minimum of control. This enables the programmer to defer efficiency related decisions until a second stage in the design process. In support of this second activity we introduce in this paper a coordination language that exploits the highly nondeterministic behaviour of Gamma to impose additional control. Furthermore, we propose a compositional notion of refinement that can be used to reason about coordination of Gamma programs. This notion induces a number of refinement laws that can be used in an algebraic style of reasoning. Some examples are presented to illustrate application of these laws.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    R.J.R. Back. Correctness Preserving Program Refinements: Proof Theory and Applications, volume Mathematical Centre Tracts 131. Mathematical Center, Amsterdam, 1980.Google Scholar
  2. 2.
    R.J.R. Back. Refinement calculus, part ii: Parallel and reactive programs. In LNCS 430: Stepwise Refinement of Distributed Systems '89, pages 67–93. Springer-Verlag, 1989.Google Scholar
  3. 3.
    J.-P. Banâtre, A. Coutant, and D. Le Métayer. A parallel machine for multiset transformation and its programming style. Future Generation Computer Systems, 4:133–144, 1988.Google Scholar
  4. 4.
    J.-P. Banâtre and D. Le Métayer. The Gamma model and its discipline of programming. Science of Computer Programming, 15:55–77, November 1990.Google Scholar
  5. 5.
    J.-P. Banâtre and D. Le Métayer. Programming by multiset transformation. Communications of the ACM, 36(1):98–111, January 1993.Google Scholar
  6. 6.
    N. Carriero and D. Gelernter. Coordination languages and their significance. Communications of the ACM, 35(2):97–107, February 1992.Google Scholar
  7. 7.
    K.M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  8. 8.
    M. Chaudron. Schedules for multiset transformer programs. Technical Report 94-36, Rijksuniversiteit Leiden, Departement of Mathematics and Computing Science, P.O. Box 9512, 2300 RA Leiden, The Netherlands, December 1994.Google Scholar
  9. 9.
    M. Chaudron. Towards compositional design of schedules for multiset transformer programs. Technical Report 95-32, Rijksuniversiteit Leiden, Departement of Mathematics and Computing Science, P.O. Box 9512, 2300 RA Leiden, The Netherlands, November 1995.Google Scholar
  10. 10.
    M. Chaudron and E. De Jong. Schedules for multiset transformer programs. In Coordination Programming: Mechanisms, Models and Semantics. Imperial College Press, 1996. (to appear).Google Scholar
  11. 11.
    P. Ciancarini, R. Gorrieri, and G. Zavattaro. An alternative semantics for the calculus of GAMMA programs. In Coordination Programming: Mechanisms, Models and Semantics. Imperial College Press, 1996. (to appear).Google Scholar
  12. 12.
    C. Hankin, D. Le Métayer, and D. Sands. A calculus of Gamma programs. In 5th International Workshop on Languages and Compilers for Parallel Computing, LNCS 757, pages 342–355. Springer-Verlag, 1992.Google Scholar
  13. 13.
    C. Hankin, D. Le Métayer, and D. Sands. A parallel programming style and its algebra of programs. In PARLE '93, LNCS 694, pages 367–378. Springer-Verlag, 1993.Google Scholar
  14. 14.
    Singh A. K., Program refinement in fair transition systems. Acta Informatica, 30:503–535, 1993.Google Scholar
  15. 15.
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  16. 16.
    M. J. Quinn. Parallel Computing: Theory and Practice (2 nd ed). McGraw-Hill, 1994.Google Scholar
  17. 17.
    D. Sands. A compositional semantics of combining forms for gamma programs. In LNCS 735, Formal Methods in Programming and Their Applications, pages 43–56. Springer-Verlag, 1993.Google Scholar
  18. 18.
    D. Sands. Laws of synchronised termination. In Proceedings of the First Imperial College Departement of Computing Workshop on Theory and Formal Methods, pages 276–288. Springer-Verlag, 1993.Google Scholar

Copyright information

© Springer-Verlag 1996

Authors and Affiliations

  • Michel Chaudron
    • 1
  • Edwin de Jong
    • 2
  1. 1.Department of Mathematics and Computing ScienceRijksuniversiteit LeidenRA LeidenNetherlands
  2. 2.Hollandse Signaalapparaten B.V.GD HengeloNetherlands

Personalised recommendations