Advertisement

Functional skeletons generate process topologies in Eden

  • Luis A. Galán
  • Cristóbal Pareja
  • Ricardo Peña
Concurrent and Parallel Programming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1140)

Abstract

We present a collection of skeletons that are appropriate to instantiate process systems in the functional-concurrent language Eden [BLOM96]. Eden is a functional language providing facilities for the explicit definition and instantiation of processes. Skeletons in this language are just higher order functions having process definitions as parameters. We introduce skeletons for both transformational (i.e. deterministic) and reactive (usually non deterministic) process topologies and illustrate their use by applying them to several examples. Some comparisons to the skeletons literature are also established.

Keywords

Functional programming concurrent programming parallel programming skeletons higher order functions 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BDO+93]
    B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, and M. Vanneschi. P 3 L: a Structured High-level Parallel Language, and its Structured Support. Technical Report HPL-PSC-93-55, Pisa Science Center. Hewlett-Packard Laboratories., May 1993.Google Scholar
  2. [BLOM95]
    S. Breitinger, R. Loogen, and Y. Ortega-Mallén. Eden: Language definition and operational semantics. Technical Report, Philipps-Universität Marburg, Germany, 1995.Google Scholar
  3. [BLOM96]
    S. Breitinger, R. Loogen, and Y. Ortega-Mallén. Towards a declarative language for concurrent and parallel programming. In Glasgow Workshop on Functional Programming 1995. Springer-Verlag, 1996.Google Scholar
  4. [BLOMP96]
    S. Breitinger, R. Loogen, Y. Ortega-Mallén, and R. Peña. Eden, the Paradise of Functional-Concurrent Programming. Technical Report DIA-UCM-20/96, Universidad Complutense de Madrid, Spain. Also available as http://www.mathematik.uni-marburg.de/∼loogen/paper/paradise.ps. A short version of it can be found in EUROPAR'96, LNCS Springer-Verlag (to appear), 1996.Google Scholar
  5. [Bra93]
    T. A. Bratvold. A Skeleton-Based Parallelising Compiler for ML. In Proceedings of the fifth International Workshop on the Implementation of Functional Languages, pages 23–33, September 1993.Google Scholar
  6. [CM84]
    K. M. Chandy and J. Misra. The drinking philosophers problem. ACM Transactions on Programming Languages and Systems, 6:632–646, 1984.Google Scholar
  7. [Col89]
    M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Research monographs in parallel and distributed computing. Pitman, 1989.Google Scholar
  8. [DFH+93]
    J. Darlington, A. J. Field, P. J. Harrison, P. H. J. Kelly, D. W. N. Sharp, and Q. Wu. Parallel Programming using Skeleton Functions. In PARLE'93: Parallel Architectures and Languages Europe. Springer-Verlag, Jun. 1993.Google Scholar
  9. [DGTY95]
    J. Darlington, Y. Guo, H. W. To, and J. Yang. Parallel Skeletons For Structured Composition. In Proceedings of the 15th ACM Sigplan Symposium on Principles and Practice of Parallel Programming, 1995.Google Scholar
  10. [DMO+92]
    M. Danelutto, R. Di Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi. A methodology for the development and the support of massively parallel programs. Future Generation Computer Systems. North-Holland, 8(1–3), July 1992.Google Scholar
  11. [HPJW92]
    P. Hudak, S. Peyton-Jones, and P. Wadler. Report on the Functional Programming Language Haskell. version 1.2. ACM SIGPLAN Notices, 27(5), May 1992.Google Scholar
  12. [Hud86]
    P. Hudak. Para-Functional Programming. IEEE Computer, 19(8):60–69, August 1986.Google Scholar
  13. [Kel89]
    P. Kelly. Functional Programming for Loosely-Coupled Multiprocessors. Pitman, 1989.Google Scholar
  14. [Kes95]
    M. Kesseler. Constructing skeletons in Clean: The bare bones. In A. P. Wim Bohm and John T. Feo, editors, High Performance Functional Computing, pages 182–192, April 1995.Google Scholar
  15. [KPS94]
    H. Kuchen, R. Plasmeijer, and H. Stoltze. Distributed Implementation of a Data Parallel Functional Language. In Parallel Architectures & Languages Europe, PARLE'94. LNCS 817, pages 464–477. Springer-Verlag, 1994.Google Scholar
  16. [PvE93]
    R. Plasmeijer and M. van Eekelen. Functional Programming and Parallel Graph Rewriting. Addison-Wesley, 1993.Google Scholar
  17. [Ski93]
    D.B. Skillicorn. The Bird-Meertens Formalism as a parallel model. In J.S. Kowalik and L. Grandinetti, editors, Software for Parallel Computation, volume 106 of NATO ASI Series F, pages 120–133. Springer-Verlag, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Luis A. Galán
    • 1
  • Cristóbal Pareja
    • 1
  • Ricardo Peña
    • 1
  1. 1.Departamento de Informática y AutomáticaUniversidad Complutense de MadridSpain

Personalised recommendations