Kahn Process Networks and a Reactive Extension

Kahn and MacQueen have introduced a generic class of determinate asynchronous data-flow applications, called Kahn Process Networks (KPNs) with an elegant mathematical model and semantics in terms of Scott-continuous functions on data streams together with an implementation model of independent asynchronous sequential programs communicating through FIFO buffers with blocking read and non-blocking write operations. The two are related by the Kahn Principle which states that a realization according to the implementation model behaves as predicted by the mathematical function. Additional steps are required to arrive at an actual implementation of a KPN to take care of scheduling of independent processes on a single processor and to manage communication buffers. Because of the expressiveness of the KPN model, buffer sizes and schedules cannot be determined at design time in general and require dynamic run-time system support. Constraints are discussed that need to be placed on such system support so as to maintain the Kahn Principle. We then discuss a possible extension of the KPN model to include the possibility for sporadic, reactive behavior which is not possible in the standard model. The extended model is called Reactive Process Networks. We introduce its semantics, look at analyzability and at more constrained data-flow models combined with reactive behavior. Marc Geilen Eindhoven University of Technology, Den Dolech 2, Eindhoven, The Netherlands, e-mail: m.c.

[1]  Twan Basten,et al.  Efficient Execution of Process Networks , 2001 .

[2]  Mudit Goel,et al.  Process Networks in Ptolemy II , 1998 .

[3]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[4]  David Michael Ritchie Park,et al.  On the Semantics of Fair Parallelism , 1979, Abstract Software Specifications.

[5]  Alberto L. Sangiovanni-Vincentelli,et al.  Composing heterogeneous reactive systems , 2008, TECS.

[6]  M. Geilen Synchronous Data Flow Scenarios 1 , 2009 .

[7]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[8]  Eugene W. Stark,et al.  Concurrent transition system semantics of process networks , 1987, POPL '87.

[9]  James R. Russell,et al.  Full abstraction for nondeterministic dataflow networks , 1989, 30th Annual Symposium on Foundations of Computer Science.

[10]  Bin Jiang,et al.  Hierarchical run time deadlock detection in process networks , 2008, 2008 IEEE Workshop on Signal Processing Systems.

[11]  Edward A. Lee,et al.  Overview of the Ptolemy project , 2001 .

[12]  Edward A. Lee,et al.  Hierarchical reconfiguration of dataflow models , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[13]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[14]  R. K. Yates,et al.  Networks of Real-Time Processes , 1993, CONCUR.

[15]  Edward A. Lee,et al.  The Semantics of Dataflow with Firing , 2022 .

[16]  Twan Basten,et al.  Execution-time Prediction for Dynamic Streaming Applications with Task-level Parallelism , 2007, 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007).

[17]  Bengt Jonsson,et al.  A fully abstract trace model for dataflow networks , 1989, POPL '89.

[18]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

[19]  Philippe Marquet,et al.  Design of a Real-Time Scheduler for Kahn Process Networks on Multiprocessor Systems , 2004, PDPTA.

[20]  Arnab Basu,et al.  An Implementation of Process Networks in Java by , .

[21]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[22]  Twan Basten,et al.  Reactive process networks , 2004, EMSOFT '04.

[23]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[24]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[25]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[26]  Alain J. Martin The Probe: An Addition to Communication Primitives , 1985, Inf. Process. Lett..

[27]  B.L. Evans,et al.  Real-time sonar beamforming on a Unix workstation using process networks and POSIX threads , 1998, Conference Record of Thirty-Second Asilomar Conference on Signals, Systems and Computers (Cat. No.98CH36284).

[28]  Sander Stuijk,et al.  A scenario-aware data flow model for combined long-run average and worst-case performance analysis , 2006, Fourth ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2006. MEMOCODE '06. Proceedings..

[29]  Antony A. Faustini An Operational Semantics for Pure Dataflow , 1982, ICALP.

[30]  Twan Basten,et al.  Requirements on the Execution of Kahn Process Networks , 2003, ESOP.

[31]  Erwin A. de Kock,et al.  YAPI: application modeling for signal processing systems , 2000, Proceedings 37th Design Automation Conference.

[32]  Edward A. Lee,et al.  Hierarchical finite state machines with multiple concurrency models , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[33]  Jürgen Teich,et al.  FunState —an internal design representation for codesign , 1999, ICCAD 1999.

[34]  Shuvra S. Bhattacharyya,et al.  Embedded Multiprocessors: Scheduling and Synchronization , 2000 .

[35]  Stephen Brookes,et al.  On the Kahn Principle and Fair Networks , 1998 .

[36]  Edward A. Lee,et al.  CPO semantics of timed interactive actor networks , 2008, Theor. Comput. Sci..

[37]  P. Le Guernic,et al.  Hybrid dynamical systems theory and the Signal language , 1990 .

[38]  Brian L. Evans,et al.  A Distributed Deadlock Detection and Resolution Algorithm for Process Networks , 2007, 2007 IEEE International Conference on Acoustics, Speech and Signal Processing - ICASSP '07.

[39]  William Thies,et al.  Teleport messaging for distributed stream programs , 2005, PPoPP.

[40]  Edward A. Lee,et al.  Synthesis of Embedded Software from Synchronous Dataflow Specifications , 1999, J. VLSI Signal Process..

[41]  Manfred Broy,et al.  Modelling Operating System Structures by Timed Stream Processing Functions , 1992, J. Funct. Program..

[42]  Alberto L. Sangiovanni-Vincentelli,et al.  A Framework for Modeling the Distributed Deployment of Synchronous Designs , 2006, Formal Methods Syst. Des..

[43]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[44]  Brian L. Evans,et al.  Deadlock detection for distributed process networks , 2005, Proceedings. (ICASSP '05). IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005..

[45]  Nancy A. Lynch,et al.  A Proof of the Kahn Principle for Input/Output Automata , 1989, Inf. Comput..

[46]  Edward A. Lee,et al.  Specification and design of reactive systems , 2000 .

[47]  Shuvra S. Bhattacharyya,et al.  Parameterized dataflow modeling for DSP systems , 2001, IEEE Trans. Signal Process..

[48]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[49]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.