Transformational derivation of (parallel) programs using skeletons

We describe a framework for the derivation of programs for arbitrary (in particular, parallel) architectures, motivated by a generalization of the derivation process for sequential algorithms. The central concept in this approach is that of a skeleton: on the one hand, a higher-order function for targeting transformational derivations at, on the other hand representing an elementary computation on the architecture aimed at. Skeletons thus form a basis for intermediate languages, that can be implemented once and for all, as a process separate from individual program developments. The available knowledge on the derivation of (higher-order) functional programs can be used for deriving parallel ones. In: H. Wijshoff, ed.: Computing Science in the Netherlands 1993, pp. 97-108. Copies on email request or (probably easiest) by clicking ftp://ftp.win.tue.nl/pub/math.prog.construction/skel.ps.Z.

[1]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[2]  Peter Pepper,et al.  Deductive Derivation of Parallel Programs , 1993 .

[3]  Friedrich L. Bauer,et al.  The Munich Project CIP: Volume I: The Wide Spectrum Language CIP-L , 1985 .

[4]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[5]  Eerke A. Boiten,et al.  How to Produce Correct Software - An Introduction to Formal Specification and Program Development by Transformations , 1992, Comput. J..

[6]  Friedrich L. Bauer,et al.  Algorithmic Language and Program Development , 1982, Texts and Monographs in Computer Science.

[7]  Peter Pepper,et al.  Functional Development of Massively Parallel Programs (Invited Paper) , 1993, Formal Methods in Programming and Their Applications.

[8]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[9]  D. Skillicom Architecture-independent parallel computation , 1990 .

[10]  Helmut A. Partsch,et al.  Specification and transformation of programs , 1990 .

[11]  Guy E. Blelloch,et al.  Scans as Primitive Parallel Operations , 1989, ICPP.

[12]  Yellamraju V. Srinivas A Sheaf-Theoretic Approach to Pattern Matching and Related Problems , 1993, Theor. Comput. Sci..

[13]  Lambert Meertens,et al.  Algorithmics : towards programming as a mathematical activity , 1986 .

[14]  Richard S. Bird,et al.  An introduction to the theory of lists , 1987 .

[15]  Marina Chen,et al.  Domain Morphisms: A New Construct for Parallel Programming and Formalizing Program Optimization , 1990 .

[16]  H. A. Partsch Some Experiments in Transforming Towards Parallel Executability , 1993 .

[17]  David B. Skillicorn,et al.  Deriving Parallel Programs from specification Susing Cost Information , 1993, Sci. Comput. Program..