From Gamma to CBS: refining multiset transformations with broadcasting processes

This paper presents a novel approach to the problem of implementing programs in Gamma, a computation model of chemical-reaction-like multiset transformations, by translating them into a process calculus with broadcasting communication, CBS. The concurrent message reception of broadcasting communication fits very naturally to the implicit parallelism of the Gamma model. A value that may trigger reactions with several others in the multiset is broadcast to the potential receivers and may thus react with all of them at the same time. This kind of triggering reactions, which we call quasi-unary, is very common in Gamma programs and is found in a large class of problems. The translation constitutes a correct refinement of the Gamma program and offers possibilities for further optimisations for several classes of problems. We address termination of Gamma programs and identify several classes of programs where termination can be detected and practically implemented.

[1]  Jean-Marc Andreoli,et al.  True Concurrency Semantics for a Linear Logic Programming Language with Braodcast Communication , 1993, TAPSOFT.

[2]  K. V. S. Prasad Broadcasting with Priority , 1994, ESOP.

[3]  Daniel Le Métayer,et al.  A parallel machine for multiset transformation and its programming style , 1988, Future Gener. Comput. Syst..

[4]  Jean-Marc Andreoli,et al.  Interaction abstract machines , 1993 .

[5]  Christian Creveuil Implementation of Gamma on the Connection Machine , 1991, Research Directions in High-Level Parallel Programming Languages.

[6]  Herbert Kuchen,et al.  Parallel implementation of bags , 1993, FPCA '93.

[7]  Edwin D. de Jong,et al.  Towards a Compositional Method for Coordinating Gamma Programs , 1996, COORDINATION.

[8]  K. V. S. Prasad Programming with Broadcasts , 1993, CONCUR.

[9]  Marc Bourgois,et al.  Advantages of Formal Specifications: A Case Study of Replication in Lotus Notes , 1997 .

[10]  Chris Hankin,et al.  A Calculus of Gamma Programs , 1992, LCPC.

[11]  K. V. S. Prasad A Calculus of Broadcasting Systems , 1991, Sci. Comput. Program..

[12]  Roberto Gorrieri,et al.  An alternative semantics for the parallel operator of the calculus of gamma programs , 1996 .

[13]  C. Hankin,et al.  Coordination programming: mechanisms, models and semantics , 1996 .

[14]  Herbert Kuchen,et al.  Shared Memory Implementation of the Gamma-Operation , 1996, J. Symb. Comput..

[15]  Daniel Le Métayer,et al.  Reasearch Directions in High-Level Parallel Programming Languages , 1991, Lecture Notes in Computer Science.

[16]  Pascal Fradet,et al.  Structured Gamma , 1998, Sci. Comput. Program..

[17]  Daniel Le Métayer,et al.  The GAMMA Model and Its Discipline of Programming , 1990, Sci. Comput. Program..

[18]  K. V. S. Prasad A Calculus of Value Broadcasts , 1993, PARLE.

[19]  Daniel Le Métayer,et al.  Programming by multiset transformation , 1993, CACM.

[20]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.