Some Experiments in Transforming Towards Parallel Executability

  • H. A. Partsch
Part of the The Springer International Series In Engineering and Computer Science book series (SECS, volume 231)


“Transformational Programming” summarizes a methodology for constructing correct and efficient programs from formal specifications by successive application of (provably) meaning-preserving transformation rules. This paper reports on several experiments on using this methodology, which has previously proven to be applicable to the development of sequential algorithms, for the formal derivation of algorithms executable on parallel architectures, notably SIMD machines. Based on the hypothesis that existing transformational knowledge should be sufficient also for deriving parallel algorithms, identifying useful transformation rules and strategic aspects of their use was one of the main goals of these experiments.


Transformation Rule Parallel Architecture Sequential Algorithm Single Instruction Multiple Data Operation Symbol 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Akl, S.G.: The design and analysis of parallel algorithms. Englewood Cliffs, N.Y.: Prentice-Hall 1989MATHGoogle Scholar
  2. [2]
    Broy, M.: A case study in program development: sorting. Institut für Informatik, TU München, TUM-INFO-7831 (1978)Google Scholar
  3. [3]
    Burstall, R.M., Darlington, J.: A system for developing recursive programs. Journal ACM 24:1, 44–67 (1977)MATHCrossRefGoogle Scholar
  4. [4]
    Darlington, J., Field, A.J., Harrison, P.G., Harper, D., Jouret, G.K., Kelly, P.J., Sephton, K.M., Sharp, D.W.: Structured parallel functional programming. Imperial College, London, UK, Technical Report 1991Google Scholar
  5. [5]
    Feather, M.S.: A survey and classification of some program transformation approaches and techniques. In: Meertens, L.G.L.T. (ed.): Program specification and transformation. Amsterdam: North-Holland 1987, pp. 165–196Google Scholar
  6. [6]
    Goodman, S.E., Hedetniemi, S.T.: Introduction to the design and analysis of algorithms. New York: McGraw-Hill 1977Google Scholar
  7. [7]
    Meertens, L.G.L.T.: Constructing a calculus of programs. In: Van de Snepscheut, J.L.A. (ed.): Mathematics of program construction. Lecture Notes in Computer Science 375, Berlin: Springer 1989, pp. 66–90Google Scholar
  8. [8]
    Partsch, H.A.: Specification and transformation of programs — a formal approach to software development. Berlin: Springer 1990MATHGoogle Scholar
  9. [9]
    Pepper, P.: Deductive derivation of parallel programs. Technische Universität Berlin, Fachbereich Informatik, Technical Report 92-23, 1992. Also: this volumeGoogle Scholar
  10. [10]
    Quinn, M.J.: Designing efficient algorithms for parallel computers. New York: McGraw-Hill 1987MATHGoogle Scholar
  11. [11]
    Smith, D.R., Lowry, M.: Algorithm theories and design tactics. In: Van de Snepscheut, J.L.A. (ed.): Mathematics of program construction. Lecture Notes in Computer Science 375, Berlin: Springer 1989, pp. 379–398Google Scholar
  12. [12]
    Völker, N.: A formal derivation of odd-even transposition sort. KU Nijmegen, Technical Report 1992Google Scholar
  13. [13]
    Yang, J.A., Choo, Y.: Design, implementation, and applications of a metalanguage for parallel-program transformations. Dept. of Comp. Sc., Yale University, Technical Report 1990Google Scholar

Copyright information

© Kluwer Academic Publishers 1993

Authors and Affiliations

  • H. A. Partsch
    • 1
  1. 1.Department of Computing ScienceUniversity of NijmegenNijmegenThe Netherlands

Personalised recommendations