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.
Preview
Unable to display preview. Download preview PDF.
References
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.
Bowen Alpern and Fred B. Schneider. Defining liveness. Information Processing Letters, 21(4):181–185, October 1985.
N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, 32(4):444–458, April 1989.
N. Carriero and D. Gelernter. Coordination languages and their significance. Communications of the ACM, 35(2):96–107, February 1992.
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.
K. Jensen. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, volume 1 of Monographs on Theoretical Computer Science. Springer-Verlag, 1992.
K. Jensen. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, volume 2 of Monographs on Theoretical Computer Science. Springer-Verlag, 1995.
W.E. Kluge. The Organization of Reduction, Data Flow and Control Flow Systems. MIT Press, 1992.
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.
MPI Forum. MPI: A message passing interface. In Proceedings of Supercomputing '93, pages 878–883, Portland, OR, November 1993. IEEE CS Press.
W. Reisig. Petri Nets, volume 4 of ETACS Monographs on Theoretical Computer Science. Springer-Verlag, 1985.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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