Skip to main content

Kahn Process Networks and a Reactive Extension

  • Chapter
  • First Online:

Abstract

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.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   219.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   279.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Allen, G., Evans, B., Schanbacher, D.: Real-time sonar beamforming on a UNIX workstation using process networks and POSIX threads. In: Proc. of the 32nd Asilomar Conference on Signals, Systems and Computers, pp. 1725–1729. IEEE Computer Society (1998)

    Google Scholar 

  2. Allen, G., Zucknick, P., Evans, B.: A distributed deadlock detection and resolution algorithm for process networks. In: Acoustics, Speech and Signal Processing, 2007. ICASSP 2007. IEEE International Conference on, vol. 2, pp. II–33–II–36 (2007). DOI 10.1109/ICASSP.2007.366165

    Google Scholar 

  3. Basten, T., Hoogerbrugge, J.: Efficient execution of process networks. In: A. Chalmers, M. Mirmehdi, H. Muller (eds.) Proc. of Communicating Process Architectures 2001, Bristol, UK, September 2001, pp. 1–14. IOS Press (2001)

    Google Scholar 

  4. Benveniste, A., Caillaud, B., Carloni, L.P., Caspi, P., Sangiovanni-Vincentelli, A.L.: Composing heterogeneous reactive systems. ACM Trans. Embed. Comput. Syst. 7(4), 1–36 (2008)

    Article  Google Scholar 

  5. Benveniste, A., Guemic, P.L.: Hybrid dynamical systems theory and the signal language. IEEE Trans. Automat. Contr. 35, 535–546 (1990)

    Article  MATH  Google Scholar 

  6. Berry, G., Gonthier, G.: The Esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Program. 19, 87–152 (1992)

    Article  MATH  Google Scholar 

  7. Bhattacharya, B., Bhattacharyya, S.: Parameterized dataflow modeling for DSP systems. IEEE Transactions on Signal Processing 49(10), 2408–2421 (2001)

    Article  MathSciNet  Google Scholar 

  8. Bhattacharyya, S., Murthy, P., Lee, E.: Synthesis of embedded software from synchronous dataflow specifications. J. VLSI Signal Process. Syst. 21(2), 151–166 (1999)

    Article  Google Scholar 

  9. Brock, J., Ackerman, W.: Scenarios: A model of non-determinate computation. In: J. Díaz, I. Ramos (eds.) Formalization of Programming Concepts, International Colloquium, Proceedings, vol. LNCS 107, pp. 252–259. Peniscola, Spain (1981)

    Chapter  Google Scholar 

  10. Brookes, S.: On the Kahn principle and fair networks. Tech. Rep. CMU-CS-98-156, School of Computer Science, Carnegie Mellon University (1998)

    Google Scholar 

  11. Broy, M., Dendorfer, C.: Modelling operating system structures by timed stream processing functions. Journal of Functional Programming 2(1), 1–21 (1992). URL citeseer.nj.nec.com/broy92modelling.html

    Google Scholar 

  12. Buck, J.: Scheduling dynamic dataflow graphs with bounded memory using the token flow model. Ph.D. thesis, University of California, EECS Dept., Berkeley, CA (1993)

    Google Scholar 

  13. Carloni, L.P., Sangiovanni-Vincentelli, A.L.: A framework for modeling the distributed deployment of synchronous designs. Form. Methods Syst. Des 28, 93–110 (2006)

    Article  MATH  Google Scholar 

  14. Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge, UK (1990)

    MATH  Google Scholar 

  15. Dulloo, J., Marquet, P.: Design of a real-time scheduler for Kahn Process Networks on multiprocessor systems. In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA, pp. 271–277 (2004)

    Google Scholar 

  16. Eker, J., Janneck, J., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Sachs, S., Xiong, Y.: Taming heterogeneity - the ptolemy approach. Proceedings of the IEEE 91(1), 127–144 (2003). URL http://chess.eecs.berkeley.edu/pubs/488.html

  17. Faustini, A.: An operational semantics for pure dataflow. In: M. Nielsen, E.M. Schmidt (eds.) Automata, Languages and Programming, 9th Colloquium, Aarhus, Denmark, July 12–16, 1982, Proceedings, LNCS Vol. 140, pp. 212–224. Springer Verlag, Berlin (1982)

    Google Scholar 

  18. Geilen, M.: An hierarchical compositional operational semantics of Kahn Process Networks and its Kahn Principle. Tech. rep., Electronic Systems Group, Dept. of Electrical Engineering, Eindhoven University of Technology (2009)

    Google Scholar 

  19. Geilen, M.: Synchronous data flow scenarios. Transactions on Embedded Computing Systems, Special issue on Model-driven Embedded-system Design, 10(2), (2010)

    Google Scholar 

  20. Geilen, M., Basten, T.: Requirements on the execution of Kahn process networks. In: P. Degano (ed.) Proc. of the 12th European Symposium on Programming, ESOP 2003, vol. LNCS 2618. Warsaw, Poland (2003)

    Google Scholar 

  21. Geilen, M., Basten, T.: Reactive process networks. In: EMSOFT ’04: Proceedings of the 4th ACM international conference on Embedded software, pp. 137–146. ACM, New York, NY, USA (2004). DOI http: //doi.acm.org/10.1145/1017753.1017778

    Google Scholar 

  22. Geilen, M., Stuijk, S.: Worst-case performance analysis of synchronous dataflow scenarios. In: International Conference on Hardware-Software Codesign and System Synthesis, CODES+ISSS 10, Proc., Scottsdale, Az, USA, 24–29 October, 2010, pp. 125–134 (2010)

    Google Scholar 

  23. Girault, A., Lee, B., Lee, E.: Hierarchical finite state machines with multiple concurrency models. IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems 18(6), 742–760 (1999)

    Article  Google Scholar 

  24. Goel, M.: Process networks in Ptolemy II. Technical Memorandum UCB/ERL No. M98/69, University of California, EECS Dept., Berkeley, CA (1998)

    Google Scholar 

  25. Ha, S., Oh, H.: Decidable dataflow models for signal processing: Synchronous dataflow and its extensions. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, second edn. Springer (2013)

    Google Scholar 

  26. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous programming language LUSTRE. Proceedings of the IEEE 79, 1305–1319 (1991)

    Article  Google Scholar 

  27. Jiang, B., Deprettere, E., Kienhuis, B.: Hierarchical run time deadlock detection in process networks. In: Signal Processing Systems, 2008. SiPS 2008. IEEE Workshop on, pp. 239–244 (2008). DOI 10.1109/SIPS.2008. 4671769

    Google Scholar 

  28. Jonsson, B.: A fully abstract trace model for dataflow networks. In: POPL ’89: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 155–165. ACM, New York, NY, USA (1989)

    Google Scholar 

  29. Kahn, G.: The semantics of a simple language for parallel programming. In: J. Rosenfeld (ed.) Information Processing 74: Proceedings of the IFIP Congress 74, pp. 471–475. North-Holland, Amsterdam, Netherlands, Stockholm, Sweden (1974)

    Google Scholar 

  30. Kahn, G., MacQueen, D.: Coroutines and networks of parallel programming. In: B. Gilchrist (ed.) Information Processing 77: Proceedings of the IFIP Congress 77, pp. 993–998. North-Holland, Toronto, Canada (1977)

    Google Scholar 

  31. de Kock, E., et al.: YAPI: Application modeling for signal processing systems. In: Proc. of the 37th. Design Automation Conference, pp. 402–405. IEEE, Los Angeles, CA (2000)

    Google Scholar 

  32. Lee, B.: Specification and design of reactive systems. Ph.D. thesis, Electronics Research Laboratory, University of California, EECS Dept., Berkeley, CA (2000). Memorandum UCB/ERL M00/29

    Google Scholar 

  33. Lee, E.: Overview of the Ptolemy project. Technical Memorandum UCB/ERL No. M01/11, University of California, EECS Dept., Berkeley, CA (2001)

    Google Scholar 

  34. Lee, E., Messerschmitt, D.: Synchronous data flow. IEEE Proceedings 75(9), 1235–1245 (1987)

    Article  Google Scholar 

  35. Lee, E., Sangiovanni-Vincentelli, A.: A framework for comparing models of computation. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on 17(12), 1217–1229 (Dec 1998). DOI 10. 1109/43.736561

    Google Scholar 

  36. Lee, E.A., Matsikoudis, E.: The semantics of dataflow with firing. In: Y. Bertot, G. Huet, J.J. Lvy, G. Plotkin (eds.) From Semantics to Computer Science: Essays in Honour of Gilles Kahn, chap. 4. Cambridge University Press (2007). URL http://chess.eecs.berkeley.edu/pubs/428.html

  37. Liu, X., Lee, E.A.: CPO semantics of timed interactive actor networks. Theor. Comput. Sci. 409(1), 110–125 (2008). DOI http://dx.doi.org/10. 1016/j.tcs.2008.08.044

    Google Scholar 

  38. Lynch, N., Stark, E.: A proof of the Kahn principle for Input/Output automata. Information and Computation 82(1), 81–92 (1989). URL citeseer.nj.nec.com/lynch89proof.html

  39. Martin, A.: The probe: An addition to communication primitives. Information Processing Letters 20(3), 125–130 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  40. Neuendorffer, S., Lee, E.A.: Hierarchical reconfiguration of dataflow models. In: Proc. Second ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2004) (2004)

    Google Scholar 

  41. Olson, A., Evans, B.: Deadlock detection for distributed process networks. In: Acoustics, Speech, and Signal Processing, 2005. Proceedings. (ICASSP ’05). IEEE International Conference on, vol. 5, pp. v/73–v/76 Vol. 5 (2005). DOI 10.1109/ICASSP.2005.1416243

    Google Scholar 

  42. Park, D.: On the semantics of fair parallelism. In: Abstract Software Specifications, Volume 86 of Lecture Notes in Computer Science. Springer Verlag, Berlin (1979)

    Google Scholar 

  43. Parks, T.: Bounded Scheduling of Process Networks. Ph.D. thesis, University of California, EECS Dept., Berkeley, CA (1995)

    Google Scholar 

  44. Plotkin, G.: A structural approach to operational semantics. Tech. Rep. DAIMI FN-19, Århus University, Computer Science Department, Århus, Denmark (1981)

    Google Scholar 

  45. Poplavko, P., Basten, T., van Meerbergen, J.: Execution-time prediction for dynamic streaming applications with task-level parallelism. In: DSD ’07: Proceedings of the 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools, pp. 228–235. IEEE Computer Society, Washington, DC, USA (2007). DOI http://dx.doi.org/10.1109/ DSD.2007.52

    Google Scholar 

  46. Russell, J.: Full abstraction for nondeterministic dataflow networks. In: Symposium on Foundations of Computer Science, pp. 170–175. Research Triangle Park, NC (1989). DOI http://doi.ieeecomputersociety.org/10. 1109/SFCS.1989.63474

    Google Scholar 

  47. Sriram, S., Bhattacharyya, S.S.: Embedded Multiprocessors: Scheduling and Synchronization. Marcel Dekker, Inc., New York, NY, USA (2000)

    Google Scholar 

  48. Stark, E.: Concurrent transition system semantics of process networks. In: Proc. of the 1987 SIGACT-SIGPLAN Symposium on Principles of Programming Languages, Munich, Germany, January 1987, pp. 199–210. ACM Press (1987)

    Google Scholar 

  49. Stevens, R., Wan, M., Laramie, P., Parks, T., Lee, E.: Implementation of process networks in Java. Technical Memorandum UCB/ERL No. M97/84, University of California, EECS Dept., Berkeley, CA (1997)

    Google Scholar 

  50. Strehl, K., Thiele, L., Gries, M., Ziegenbein, D., Ernst, R., Teich, J.: FunState - an internal design representation for codesign. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 9(4), 524–544 (2001). URL citeseer.nj.nec.com/strehl01funstate.html

    Google Scholar 

  51. Theelen, B.D., Geilen, M., Basten, T., Voeten, J., Gheorghita, S.V., Stuijk, S.: A scenario-aware data flow model for combined long-run average and worst-case performance analysis. In: MEMOCODE, pp. 185–194 (2006)

    Google Scholar 

  52. Thies, W., Karczmarek, M., Amarasinghe, S.: StreamIt: A language for streaming applications. In: R.N. Horspool (ed.) Proc. 11th International Conference Compiler Construction CC 2002, vol. LNCS 2306, pp. 179–196. Grenoble, France (2002)

    Google Scholar 

  53. Thies, W., Karczmarek, M., Sermulins, J., Rabbah, R., Amarasinghe, S.: Teleport messaging for distributed stream programs. In: PPoPP ’05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 224–235. ACM, New York, NY, USA (2005). DOI http://doi.acm.org/10.1145/1065944.1065975

    Google Scholar 

  54. Thomas T. Hildebrandt Prakash Panangaden, G.W.: A relational model of non-deterministic dataflow. Mathematical Structures in Computer Science pp. 613–649 (2004)

    Google Scholar 

  55. Vayssière, J., Webb, D., Wendelborn, A.: Distributed process networks. Tech. Rep. TR 99-03, University of Adelaide, Department of Computer Science, South Australia 5005, Australia (1999)

    Google Scholar 

  56. Yates, R.K.: Networks of real-time processes. In: E. Best (ed.) CONCUR’93: Proc. of the 4th International Conference on Concurrency Theory, pp. 384–397. Springer Verlag, Berlin, Heidelberg (1993)

    Google Scholar 

Download references

Acknowledgements

This work is supported in part by the EC through FP7 IST project 216224, MNEMEE and by the Netherlands Ministry of Economic Affairs under the Senter TS program in the Octopus project.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marc Geilen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Geilen, M., Basten, T. (2013). Kahn Process Networks and a Reactive Extension. In: Bhattacharyya, S., Deprettere, E., Leupers, R., Takala, J. (eds) Handbook of Signal Processing Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-6859-2_32

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-6859-2_32

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-6858-5

  • Online ISBN: 978-1-4614-6859-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics