Modeling Stream-Based Applications Using the SBF Model of Computation

Modeling applications and architectures at various levels of abstraction is becoming more and more an accepted approach in embedded system design. When looking at the modeling of applications in the domain of video, audio, and graphics applications, we notice that they exhibit a high degree of task parallelism and operate on streams of data. Models that we can use to specify such stream-based applications on a high level of abstraction are the dataflow models and process network models. Each of these models has its own merits. Therefore, an alternative approach is to introduce a model of computation that combines the semantics of both models of computation. In this article, we introduce such a model of computation, which we call the Stream-Based Functions (SBF) model of computation and show an example. Furthermore, we discuss the composition and decomposition of SBF objects and put the SBF model of computation in the context of relevant dataflow models and process network models.

[1]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

[2]  Rudy Lauwereins,et al.  Cyclo-static data flow , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[3]  Ed F. Deprettere,et al.  An Approach for Quantitative Analysis of Application-Specific Dataflow Architectures , 1997, ASAP.

[4]  Jurgen Annevelink HIFI: A design method for implementing signal processing algorithms on VLSI processor arrays , 1988 .

[5]  Arthur H. Veen,et al.  Dataflow machine architecture , 1986, CSUR.

[6]  Albert Y. Zomaya Parallel and Distributed Computing Handbook , 1995 .

[7]  Ed F. Deprettere,et al.  Compaan: deriving process networks from Matlab for embedded signal processing architectures , 2000, CODES '00.

[8]  Ed F. Deprettere,et al.  Algorithmic transformation techniques for efficient exploration of alternative application instances , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[9]  Edward A. Lee,et al.  Ptolemy II, Heterogeneous Concurrent Modeling and Design in JAVA , 2001 .

[10]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[11]  Edward A. Lee,et al.  Memory management for dataflow programming of multirate signal processing algorithms , 1994, IEEE Trans. Signal Process..

[12]  Utpal Banerjee,et al.  Dependence analysis for supercomputing , 1988, The Kluwer international series in engineering and computer science.

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

[14]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[15]  Joseph T Buck Scheduling Dynamic Dataflow Graphs with Bounded Memory , 1993 .

[16]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

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

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

[19]  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.