Notions of Refinement for a Coordination Language for Gamma

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]