Gamma has shown to be a powerful and expressive formalism that allows the basic computation of an algorithm to be expressed with a minimum of control. In a second stage of the design process, the highly nondeterministic behaviour of Gamma can be exploited to impose additional control using a separate coordination language. Separating computation from coordination facilitates correctness proofs of the computation component, because operational details need not be taken into account. In this respect it is important that the coordination component does not invalidate the established correctness of the program. In this paper we propose several notions of re nement that allow the coordination component of a Gamma program to be constructed through a correctness preserving derivation process. We show that the notions can be combined into a hybrid proof method that can be used to reason about di erent properties of the coordination component. A short version of this report appears as [6]
[1]
Nicholas Carriero,et al.
Coordination languages and their significance
,
1992,
CACM.
[2]
David Park,et al.
Concurrency and Automata on Infinite Sequences
,
1981,
Theoretical Computer Science.
[3]
Edwin D. de Jong,et al.
Towards a Compositional Method for Coordinating Gamma Programs
,
1996,
COORDINATION.
[4]
Daniel Le Métayer,et al.
The GAMMA Model and Its Discipline of Programming
,
1990,
Sci. Comput. Program..
[5]
Robin Milner,et al.
Communication and concurrency
,
1989,
PHI Series in computer science.
[6]
Brian A. Davey,et al.
An Introduction to Lattices and Order
,
1989
.
[7]
Edwin D. de Jong,et al.
Schedules for multiset transformer programs
,
1996
.
[8]
Daniel Le Métayer,et al.
Programming by multiset transformation
,
1993,
CACM.
[9]
Chris Hankin,et al.
A Calculus of Gamma Programs
,
1992,
LCPC.