The gamma model and its discipline of programming
Science of Computer Programming
Coordination programming: mechanisms, models and semantics
Coordination programming: mechanisms, models and semantics
Coordination programming
Coordination programming
Coordination programming
An alternative semantics for the parallel operator of the calculus of gamma programs
Coordination programming
Refining multiset transformers
Theoretical Computer Science - Special issue: theoretical aspects of coordination languages
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
A declarative coordination language
Computer Languages
Hi-index | 0.00 |
Gamma is a language based on multiset rewriting aimed at separating coordination from computation. The "pipelining" technique turns a producer-consumer-type Gamma program with sequential composition into a parallel one, preventing the data from erroneously "flowing back" from the consumer to the producer. The resulting parallel composition offers more freedom to coordinate the computation and to choose an appropriate refinement later on. This paper extends a previous paper by Hankin, Le MÉtayer and Sands. It identifies conditions for the pipelining transformation of atomic programs and proves it correct under these conditions with relational reasoning. It also proves refinement in the other direction correct with respect to a stronger refinement relation, statebased simulation, and strengthens it further to a precongruence using Chaudron's "convex simulation" and the new notion of "data-equivalent" simulation.