- Book Chapter
5
- 10.1007/3-540-63237-9_24
Coordinating functional processes using Petri nets
- Jan 01, 1997
- Claus Aßmann
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.KeywordsInput StreamOutput StreamLiveness PropertyRecursive ProcessHierarchical ProcessThese 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.
Read more