Derivation of Parallel Sorting Algorithms

  • Douglas R. Smith
Part of the The Springer International Series In Engineering and Computer Science book series (SECS, volume 231)


Parallel algorithms can be derived from formal problem specifications by applying a sequence of transformations that embody information about algorithms, data structures, and optimization techniques. The KIDS system provides automated support for this approach to algorithm design. This paper carries through the salient parts of a formal derivation for a well-known parallel sorting algorithm — Batcher’s Even-Odd sort. The main difficulty lies in building up the problem domain theory within which the algorithm is inferred.


Output Condition Parallel Algorithm Composition Operator Algorithm Design Sorting Algorithm 
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. The Design and Analysis of Parallel Algorithms. Prentice-Hall Inc., Englewood Cliffs, NJ, 1989.MATHGoogle Scholar
  2. [2]
    Batcher, K. Sorting networks and their applications. In AFIPS Spring Joint Computing Conference (1968), vol. 32, pp. 307–314.Google Scholar
  3. [3]
    Blaine, L., and Goldberg, A. DTRE — a semi-automatic transformation system. In Constructing Programs from Specifications, B. Möller, Ed. North-Holland, Amsterdam, 1991, pp. 165–204.Google Scholar
  4. [4]
    Dowd, M., Perl, Y., Rudolph, L., and Saks, M. The periodic balanced sorting network. Journal of the ACM 36, 4 (October 1989), 738–757.Google Scholar
  5. [5]
    Gibbons, A., and Rytter, W. Efficient Parallel Algorithms. Cambridge University Press, Cambridge, 1988.MATHGoogle Scholar
  6. [6]
    Jones, G., and Sheeran, M. Collecting butterflies. Tech. Rep. PRG-91, Oxford University, Programming Research Group, February 1991.Google Scholar
  7. [7]
    Leighton, F. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann, San Mateo, CA, 1990.Google Scholar
  8. [8]
    Smith, D. R. Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence 21, 1 (September 1985), 43–96. (Reprinted in Readings in Artificial Intelligence and Software Engineering, C. Rich and R. Waters, Eds., Los Altos, CA, Morgan Kaufmann, 1986.).Google Scholar
  9. [9]
    Smith, D. R. KIDS — a semi-automatic program development system. IEEE Transactions on Software Engineering Special Issue on Formal Methods in Software Engineering 16, 9 (September 1990), 1024–1043.Google Scholar
  10. [10]
    Smith, D. R., and Lowry, M. R. Algorithm theories and design tactics. Science of Computer Programming 14, 2–3 (October 1990), 305–321.Google Scholar
  11. [11]
    Smith, D. R. Structure and design of problem reduction generators. In Constructing Programs from Specifications, B. Möller, Ed. North-Holland, Amsterdam, 1991, pp. 91–124.Google Scholar
  12. [12]
    Smith, D. R. Constructing specification morphisms. Tech. Rep. KES.U.92.1, Kestrel Institute, January 1992. to appear in Journal of Symbolic Computation, 1993.Google Scholar

Copyright information

© Kluwer Academic Publishers 1993

Authors and Affiliations

  • Douglas R. Smith
    • 1
  1. 1.Kestrel InstitutePalo AltoUSA

Personalised recommendations