Gamma and the Chemical Reaction Model: Fifteen Years After

  • Jean-Pierre Banătre
  • Pascal Fradet
  • Daniel Le Métayer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2235)

Abstract

Gamma was originally proposed in 1986 as a formalism for the definition of programs without artificial sequentiality. The basic idea underlying the formalism is to describe computation as a form of chemical reaction on a collection of individual pieces of data. Due to the very minimal nature of the language, and its absence of sequential bias, it has been possible to exploit this initial paradigm in various directions. This paper reviews most of the work around Gamma considered as a programming or as a specification language. A special emphasis is placed on unexpected applications of the chemical reaction model, showing that this paradigm has been a source of inspiration in various research areas.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    S. Abramsky, Computational interpretations of linear logic, Theoretical Computer Science, Vol. 111, pp. 3–57, 1993.MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    R. Allen and D. Garlan, Formalising architectural connection, Proceedings of the IEEE 16th International Conference on Software Engineering, pp. 71–80, 1994.Google Scholar
  3. 3.
    J.-M. Andreoli and R. Pareschi, Linear Objects: logical processes with bui lt-ininheritence, New Generation Computing, Vol. 9, pp. 445–473, 1991.Google Scholar
  4. 4.
    J.-M. Andreoli, P. Ciancarini and R. Pareschi, Interaction abstract machines, in Proc. of the workshop Research Directions in Concurrent Object Oriented Programming, 1992.Google Scholar
  5. 5.
    R. Back, Refinement calculus, part II: parallel and reactive programs, in Proc. of the workshop on Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, 1989, Springer Verlag, LNCS 430.Google Scholar
  6. 6.
    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, pp. 133–144, 1988.Google Scholar
  7. 7.
    J.-P. Banătre, A. Coutant and D. Le Métayer, Parallel machines for multiset transformation and their programming style, Informationstechnik, Oldenburg Verlag, Vol. 2/88, pp. 99–109, 1988.Google Scholar
  8. 8.
    J.-P. Banătre and D. Le Métayer, The Gamma model and its discipline of programming, Science of Computer Programming, Vol. 15, pp. 55–77, 1990.CrossRefMathSciNetMATHGoogle Scholar
  9. 9.
    J.-P. Banătre and D. Le Métayer, Programming by multiset transformation, Communications of the ACM, Vol. 36-1, pp. 98–111, January 1993.CrossRefGoogle Scholar
  10. 10.
    J.-P. Banătre and D. Le Métayer, Gamma and the chemical reaction model: ten years after, in Coordination Programming: Mechanisms, Models and Semantics, Imperial College Press, 1996.Google Scholar
  11. 11.
    P. Bertin, D. Roncin and J. Vuillemin, Programmable active memories: a performance assessment, in Proc. of the workshop on Parallel architectures and their efficient use, 1992, Springer Verlag, LNCS, pp. 119–130.Google Scholar
  12. 12.
    G. Berry and G. Boudol, The chemical abstract machine, Theoretical Computer Science, Vol. 96, pp. 217–248, 1992.MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    G. Boudol, Some chemical abstract machines, in Proc. of the workshop on A decade of concurrency, 1994, Springer Verlag, LNCS 803, pp. 92–123.Google Scholar
  14. 14.
    Chandy M. and Misra J., Parallel program design: a foundation, Addison-Wesley, 1988.Google Scholar
  15. 15.
    N. Carriero and D. Gelernter, Linda in context, Communications of the ACM, Vol. 32-24, pp. 444–458, April 1989.CrossRefGoogle Scholar
  16. 16.
    T. H. Cormen, C. E. Leiserson and R. L. Rivest, Introduction to algorithms, MIT Press, 1990.Google Scholar
  17. 17.
    M. Chaudron and E. de Jong, Schedules for multiset transformer programs, in Coordination Programming: Mechanisms, Models and Semantics, Imperial College Press, 1996.Google Scholar
  18. 18.
    M. Chaudron and E. de Jong, Towards a compositional method for coordinating Gamma programs, in Proc. Coordination’96 Conference, Lecture Notes in Computer Science, Vol. 1061, pp. 107–123, 1996.Google Scholar
  19. 19.
    P. Ciancarini, D. Fogli and M. Gaspari, A logic language based on multiset rewriting, in Coordination Programming: Mechanisms, Models and Semantics, Imperial College Press, 1996.Google Scholar
  20. 20.
    P. Ciancarini, R. Gorrieri and G. Zavattaro, An alternate semantics for the calculus of Gamma programs, in Coordination Programming: Mechanisms, Models and Semantics, Imperial College Press, 1996.Google Scholar
  21. 21.
    D. Cohen and J. Muylaert-Filho, Introducing a calculus for higher-order multiset programming, in Proc. Coordination’96 Conference, Lecture Notes in Computer Science, Vol. 1061, pp. 124–141, 1996.Google Scholar
  22. 22.
    C. Creveuil, Techniques d’analyse et de mise en æuvre des programmes Gamma, Thesis, University of Rennes, 1991.Google Scholar
  23. 23.
    C. Creveuil, Implementation of Gamma on the Connection Machine, in Proc. of the workshop on Research Directions in High-Level Parallel Programming Languages, Mont-Saint Michel, 1991, Springer Verlag, LNCS 574, pp. 219–230.Google Scholar
  24. 24.
    C. Creveuil and G. Moguérou, D’eveloppement syst’ematique d’un algorithme de segmentation d’images’ a l’aide de Gamma, Techniques et Sciences Informatiques, Vol. 10, No 2, pp. 125–137, 1991.Google Scholar
  25. 25.
    E. de Jong, An industrial case study: a railway control system, Proc. Second int. Conf. on Coordination Models, Languages and Applications, Springer Verlag, LNCS 1282, 1997.Google Scholar
  26. 26.
    Dershowitz N. and Manna Z., Proving termination with multiset ordering, Communications of the ACM, Vol. 22-28, pp. 465–476, August 1979.CrossRefMathSciNetGoogle Scholar
  27. 27.
    Dijkstra E. W., The humble programmer, Communications of the ACM, Vol. 15-10, pp. 859–866, October 1972.CrossRefGoogle Scholar
  28. 28.
    L. Errington, C. Hankin and T. Jensen, A congruence for Gamma programs, in Proc. of WSA conference, 1993.Google Scholar
  29. 29.
    W. Fontana, Algorithmic chemistry, Proc. of the workshop on Artificial Life, Santa Fe (New Mexico), Addison-Wesley, 1991, pp. 159–209.Google Scholar
  30. 30.
    P. Fradet and D. Le Métayer, Shape types, in Proc. of Principles of Programming Languages, POPL’97, ACM Press, pp. 27–39, 1997.Google Scholar
  31. 31.
    P. Fradet and D. Le Métayer, Structured Gamma, Science of Computer Programming, 31, pp. 263–289, 1998.MATHCrossRefMathSciNetGoogle Scholar
  32. 32.
    Gelernter D., Generative communication in Linda, ACM Transactions on Programming Languages and Systems, Vol. 7,1, pp. 80–112, January 1985.MATHCrossRefGoogle Scholar
  33. 33.
    K. Gladitz and H. Kuchen, Parallel implementation of the Gamma-operation on bags, Proc. of the PASCO conference, Linz, Austria, 1994.Google Scholar
  34. 34.
    C. Hankin, D. Le Métayer and D. Sands, A calculus of Gamma programs, in Proc. of the 5th workshop on Languages and Compilers for Parallel Computing, Yale, 1992, Springer Verlag, LNCS 757.Google Scholar
  35. 35.
    C. Hankin, D. Le Métayer and D. Sands, A parallel programming style and its algebra of programs, in Proc. of the PARLE conference, LNCS 694, pp. 367–378, 1993.Google Scholar
  36. 36.
    B. Hoffmann. Shapely Hierarchical Graph Transformation, Symposium on Visual Languages and Formal Methods (VL FM’01) in the IEEE Symposia on Human-Centric Computing Languages and Environments (HCC’01), IEEE Press, 2001.Google Scholar
  37. 37.
    A. A. Holzbacher, M. Périn and M. Südholt, Modeling railway control systems using graph grammars: a case study, Proc. Second int. Conf. on Coordination Models, Languages and Applications, Springer Verlag, LNCS 1282, 1997.Google Scholar
  38. 38.
    P. Inverardi and A. Wolf, Formal specification and analysis of software architectures using the chemical abstract machine model, IEEE Transactions on Software Engineering, Vol. 21, No. 4, pp. 373–386, April 1995.CrossRefGoogle Scholar
  39. 39.
    A. Jeffrey, A chemical abstract machine for graph reduction, TR 3/92, University of Sussex, 1992.Google Scholar
  40. 40.
    H. Kuchen and K. Gladitz, Parallel implementation of bags, in Proc. ACM Conf. on Functional Programming and Computer Architecture, ACM, pp. 299–307, 1993.Google Scholar
  41. 41.
    D. Le Métayer, Higher-order multiset programming, in Proc. of the DIMACS workshop on specifications of parallel algorithms, American Mathematical Society, Dimacs series in Discrete Mathematics, Vol. 18, 1994.Google Scholar
  42. 42.
    D. Le Métayer, Describing software architecture styles using graph grammars, IEEE Transactions on Software Engineering (TSE), Vol. 24(7), pp. 521–533, 1998.CrossRefGoogle Scholar
  43. 43.
    L. Leth and B. Thomsen, Some Facile chemistry, TR 92/14, ECRC, 1992.Google Scholar
  44. 44.
    K. Li, P. Hudak, Memory Coherence in Shared Virtual Memory Systems, in Proc. of ACM Symposium on Principles of Distributed Computing, pp. 229–239, 1986.Google Scholar
  45. 45.
    Lin Peng Huan, Kam Wing Ng and Yong Qiang Sun, Implementing higher-order Gamma on MasPar: a case study, Journal of Systems Engineering and Electronics, Vol. 16(4), 1995.Google Scholar
  46. 46.
    Lin Peng Huan, Kam Wing Ng and Yong Qiang Sun, Implementing Gamma on MasPar MP-1, Journal of Computer Science and Technology.Google Scholar
  47. 47.
    H. McEvoy, Gamma, chromatic typing and vegetation, in Coordination Programming: Mechanisms, Models and Semantics, Imperial College Press, 1996.Google Scholar
  48. 48.
    H. McEvoy and P.H. Hartel, Local linear logic for locality consciousness in multiset transformation, Proc. Programming Languages: Implementations, Logics and Programs, PLILP’95, LNCS 982, pp. 357–379, 1995.Google Scholar
  49. 49.
    D. Mentré, D. Le Métayer, T. Priol, Formalization and Verification of Coherence Protocols with the Gamma Framework, in Proc. of the 5th Int. Symp. on Software Engineering for Parallel and Distributed Systems (PDSE-2000), ACM, 2000.Google Scholar
  50. 50.
    R. Milner, Communication and concurrency, International Series in Computer Science, Prentice Hall, Englewood Clifis, NJ, 1989.Google Scholar
  51. 51.
    R. Milner, Functions as processes, Mathematical Structures in Computer Science, Vol. 2, pp. 119–141, 1992.MATHMathSciNetCrossRefGoogle Scholar
  52. 52.
    L. Mussat, Parallel programming with bags, in Proc. of the workshop on Research Directions in High-Level Parallel Programming Languages, Mont-Saint Michel, 1991, Springer Verlag, LNCS 574, pp. 203–218.Google Scholar
  53. 53.
    M. Périn, Sp’ecifications graphiques multi-vues: formalisation et vërification de cohërence, PhD thesis, Universit’e de Rennes 1, 2000.Google Scholar
  54. 54.
    M. Rem, Associons: a program notation with tuples instead of variables, ACM Trans. on Programming Languages and Systems, Vol. 3,3, pp. 251–261, 1981.CrossRefGoogle Scholar
  55. 55.
    M. Reynolds, Temporal semantics for Gamma, in Coordination Programming: Mechanisms, Models and Semantics, Imperial College Press, 1996.Google Scholar
  56. 56.
    R. Sedgewick, Algorithms in C, Addison-Wesley publishing company, 1990.Google Scholar
  57. 57.
    W.-P. de Roever, Why formal methods are a must for real-time system specification, in Proc. Euromicro’92, Panel discussion, June 1992, Athens.Google Scholar
  58. 58.
    H. Ruiz Barradas, Une approche à la d’erivation formelle de systèmes en Gamma,Thesis, University of Rennes 1, July 1993.Google Scholar
  59. 59.
    D. Sands, A compositional semantics of combining forms for Gamma programs, in Proc. of the Formal Methods in Programming and their Applications conference, Novosibirsk, 1993, Springer Verlag, LNCS 735, pp. 43–56.Google Scholar
  60. 60.
    D. Sands, Composed reduction systems, in Coordination Programming: Mechanisms, Models and Semantics, Imperial College Press, 1996.Google Scholar
  61. 61.
    L. Van Aertryck and O. Ridoux, Gammalog as goal-directed proofs, internal report. 62. M. Vieillot, Synthèse de programmes Gamma en logique reconfigurable, Technique et Science Informatiques, Vol. 14, pp. 567–584, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Jean-Pierre Banătre
    • 1
  • Pascal Fradet
    • 2
  • Daniel Le Métayer
    • 3
  1. 1.Universit’e de Rennes IRennesFrance
  2. 2.Inria / IrisaRennesFrance
  3. 3.Trusted Logic S.A. 5VersaillesFrance

Personalised recommendations