Skip to main content

Coordinating functional processes using Petri nets

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1268))

Included in the following conference series:

Abstract

Functional programs are well suited for concurrent execution due to the Church-Rosser property. However, for many applications there is still need to explicitly specify process systems instead of relying on compilers. Coordination languages provide one viable solution to the problem of specifying concurrent process systems, since they do not interfere with the properties of the language used for the algorithmic specification of the processes. The coordination language K2 to be proposed in this paper is based on a variant of colored Petri nets. It primarily defines process systems with deterministic behavior, but also allows for controlled forms of non-determinism. Specifications based on Petri nets offer several advantages. An underlying net calculus facilitates formal analysis and verification of basic safety and liveness properties. Graphical representations clearly expose structural dependencies among system components. Our variant of colored Petri nets provides several forms of net abstractions which facilitate the systematic construction of complex systems from small subsystems by composition. Recursive specifications can be used to adapt the structure of a process system to actual problem sizes or to varying input parameters.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Arbab. The IWIM Model for Coordination of Concurrent Activities. In P. Ciancarini and C. Hankin, editors, Proc. 1st Int. Conf. on Coordination Models and Languages, volume 1061 of LNCS, pages 34–56, Cesena, Italy, April 1996. Springer-Verlag, Berlin.

    Google Scholar 

  2. Bowen Alpern and Fred B. Schneider. Defining liveness. Information Processing Letters, 21(4):181–185, October 1985.

    Google Scholar 

  3. N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, 32(4):444–458, April 1989.

    Google Scholar 

  4. N. Carriero and D. Gelernter. Coordination languages and their significance. Communications of the ACM, 35(2):96–107, February 1992.

    Google Scholar 

  5. Al Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. S. Sunderam. PVM: Parallel Virtual Machine A Users' Guide and Tutorial for Network Parallel Computing. Scientific and Engineering Computation Series. MIT Press, Cambridge, MA, 1994.

    Google Scholar 

  6. K. Jensen. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, volume 1 of Monographs on Theoretical Computer Science. Springer-Verlag, 1992.

    Google Scholar 

  7. K. Jensen. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, volume 2 of Monographs on Theoretical Computer Science. Springer-Verlag, 1995.

    Google Scholar 

  8. W.E. Kluge. The Organization of Reduction, Data Flow and Control Flow Systems. MIT Press, 1992.

    Google Scholar 

  9. W.E. Kluge. A User's Guide for the Reduction System π-RED. Technical Report 9409, Institut für Informatik und praktische Mathematik, Universität Kiel, 1994.

    Google Scholar 

  10. MPI Forum. MPI: A message passing interface. In Proceedings of Supercomputing '93, pages 878–883, Portland, OR, November 1993. IEEE CS Press.

    Google Scholar 

  11. W. Reisig. Petri Nets, volume 4 of ETACS Monographs on Theoretical Computer Science. Springer-Verlag, 1985.

    Google Scholar 

  12. J. Schepers. Using Functional Languages for Process Specifications. In Proc. Int. Workshop on the Parallel Implementation of Functional Languages, Southampton, UK, 1991. CSTR 91–07.

    Google Scholar 

  13. J. Schepers. Invariance properties in distributed systems. In CONPAR 90-VAPP IV: Joint International Conference on Vector and Parallel Processing, pages 145–156. LNCS 457, Springer-Verlag, 1992.

    Google Scholar 

  14. W. Schreiner. Parallel Functional Programming, An Annotated Bibliography (2nd Edition). Technical Report 93-24, Research Institute for Symbolic Computation (RISC-Linz), Johannes Kepler University, Linz, Austria, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Werner Kluge

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aßmann, C. (1997). Coordinating functional processes using Petri nets. In: Kluge, W. (eds) Implementation of Functional Languages. IFL 1996. Lecture Notes in Computer Science, vol 1268. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63237-9_24

Download citation

  • DOI: https://doi.org/10.1007/3-540-63237-9_24

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63237-5

  • Online ISBN: 978-3-540-69239-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics