A decompositional approach to the design of efficient parallel programs

  • Ying Liu
  • Ambuj K. Singh
  • Rajive L. Bagrodia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 605)


A methodology for the derivation of efficient parallel implementations from program specifications is developed. The goal of the methodology is to decompose a program specification into a collection of module specifications, such that each module may be implemented by a subprogram. The correctness of the whole program is then deduced from the correctness of the property refinement procedure and the correctness of the individual subprograms. The refinement strategy is based on identifying frequently occurring control structures such as sequential composition and iteration. The methodology is developed in the context of the UNITY logic and the UC programming language, and illustrated through the solution of diffusion aggregation in fluid flow simulations.


Porosity Hydrate Europe 
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]
    Back, R. J. R., and K. Sere, Stepwise Refinement of Parallel Algorithms, Science of Computer Programming, 13, 1989–90, pp. 133–180.CrossRefGoogle Scholar
  2. [2]
    Bagrodia, R., K. M. Chandy, and E. Kwan, UC: A Language for the Connection Machine, Proceedings of Supercomputing 1990, November 1990, pp. 525–534.Google Scholar
  3. [3]
    Bagrodia, R., and S. Mathur, Efficient Implementation of High-Level Parallel Programs, Proceedings of ASPLOS-IV, April 1991.Google Scholar
  4. [4]
    Chakravarty, I., M. Kleyn, T. Woo, R. Bagrodia, and V. Austel, Unity to UC: Case Studies in Parallel Program Construction, Technical Report TR-90-21, Schlumberger Laboratory for Computer Science, November 1990.Google Scholar
  5. [5]
    Chandy, K. M., and J. Misra, Parallel Program Design: A Foundation, Reading, Massachusetts: Addison-Wesley, 1988.Google Scholar
  6. [6]
    Dijkstra, E. W., A Discipline of Programming, Englewood Cliffs, New Jersey: Prentice-Hall, 1976.Google Scholar
  7. [7]
    Gries, D., The Science of Programming, New York: Springer-Verlag, 1981.Google Scholar
  8. [8]
    Hoare, C. A. R., An Axiomatic Basis for Computer Programming, Communications of the ACM, 12, 1969, pp. 576–580.CrossRefGoogle Scholar
  9. [9]
    Misra, J., Proving Progress for Program Sequencing, Notes on Unity 16–90, July 1991.Google Scholar
  10. [10]
    Roberts, J. N., and L. Schwartz, Grain Consolidation in Porous Media, Physical Review, 31(9), 1985.Google Scholar
  11. [11]
    Sanders, B., Eliminating the Substitution Axiom from Unity, Formal Aspects of Computing, 3, 1991, pp. 189–205.CrossRefGoogle Scholar
  12. [12]
    Singh, A. K., and R. Overbeek, Derivation of Efficient Parallel Programs: An Example from Genetic Sequence Analysis, International Journal of Parallel Programming, 18(6), Dec. 1989, pp. 447–484.CrossRefGoogle Scholar
  13. [13]
    Singh, A. K., Program Refinement in Fair Transition Systems, Conference on Parallel Architectures and Languages Europe, Eindhoven, The Netherlands, July 1991.Google Scholar

Copyright information

© Springer-Verlag 1992

Authors and Affiliations

  • Ying Liu
    • 1
  • Ambuj K. Singh
    • 1
  • Rajive L. Bagrodia
    • 2
  1. 1.University of California at Santa BarbaraSanta Barbara
  2. 2.University of California at Los AngelesLos Angeles

Personalised recommendations