Skip to main content

Towards a compositional method for coordinating Gamma programs

  • Regular Papers
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. 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. 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. N. Carriero and D. Gelernter. Coordination languages and their significance. Communications of the ACM, 35(2):97–107, February 1992.

    Google Scholar 

  7. K.M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.

    Google Scholar 

  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. 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. 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. 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. 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. 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. Singh A. K., Program refinement in fair transition systems. Acta Informatica, 30:503–535, 1993.

    Google Scholar 

  15. R. Milner. Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  16. M. J. Quinn. Parallel Computing: Theory and Practice (2 nd ed). McGraw-Hill, 1994.

    Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Paolo Ciancarini Chris Hankin

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chaudron, M., de Jong, E. (1996). Towards a compositional method for coordinating Gamma programs. In: Ciancarini, P., Hankin, C. (eds) Coordination Languages and Models. COORDINATION 1996. Lecture Notes in Computer Science, vol 1061. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61052-9_42

Download citation

  • DOI: https://doi.org/10.1007/3-540-61052-9_42

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61052-6

  • Online ISBN: 978-3-540-49936-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics