Abstract
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.
Similar content being viewed by others
References
B. Kienhuis, E. Deprettere, K. Vissers, and P. van der Wolf, “An Approach for Quantitative Analysis of Application-Specific Dataflow Architectures,” in Proceedings of 11th Int. Conference of Applications-Specific Systems, Architectures and Processors (ASAP'97). Zurich, Switzerland, 1997, pp. 338-349.
A. Kienhuis, “Design Space Exploration of Stream-Based Dataflow Architectures: Method and Tools,” Ph.D. Thesis, Delft University of Technology, 1999.
G. Kahn, “The Semantics of a Simple Language For Parallel Programming,” in Proc. of the IFIP Congress 74, North-Holland Publishing Co., 1974.
G. Kahn and D.B. MacQueen, “Coroutines and Networks of Parallel Processes,” in Proc. of the IFIP Congress 77, North-Holland Publishing Company Co., 1977, pp. 993-998.
J. Backus, “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs,” Communications of the ACM, vol. 21, no. 8, 1978, pp. 613-641.
J. Annevelink, “HiFi, A Design Method for Implementing Signal Processing Algorithms on VLSI Processor Arrays,” Ph.D. Thesis, Delft University of Technology, 1988.
G. Bilsen, M. Engels, R. Lauwereins, and J. Peperstraete, “Cyclo-Static Data Flow,” in IEEE International Conference ASSP, 1995, pp. 3255-3258.
B. Kienhuis, E. Rijpkema, and E.F. Deprettere, “Compaan: Deriving Process Networks from Matlab for Embedded Signal Processing Architectures,” in 8th International Workshop on Hardware/Software Codesign(CODES'2000), San Diego, USA, 2000.
U. Banerjee, Dependence Analysis for Supercomputing, Kluwer Academic Publishers, 1988.
P. Held, “Functional Design of Dataflow Networks,” Ph.D. Thesis, Delft University of Technology, 1996.
T. Stefanov, B. Kienhuis, and E. Deprettere, “Algorithmic Transformation Techniques for Efficient Exploration of Alternative Application Instances,” in Proceedings of 10th International Symposium on Hardware/Software Codesign, Colorado, USA, 2002.
A.H. Veen, “Dataflow Machine Architecture,” ACM Computing Surveys, vol. 18, no. 4, 1986, pp. 366-396.
E.A. Lee and D.G. Messerschmitt, “Synchronous Data flow,” Proc. IEEE, vol. 75, no. 9, 1987, pp. 1235-1245.
R. Jagannathan, “Dataflow Models,” in Parallel and Distributed Computing Handbook, E. Zomaya (Ed.), McGraw-Hill, 1995.
J. Buck, “Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model,” Ph.D. Thesis, Dept. of EECS, University of California at Berkeley. Tech. Report UCB/ERL 93/69, 1993.
E.A. Lee and T.M. Parks, “Dataflow Process Networks,” Proceedings of the IEEE, vol. 83, no. 5, 1995, pp. 773-799.
C. Hoare, “Communicating Sequential Processes,” Communications of the ACM, vol. 21, no. 8, 1978, pp. 666-677.
C. Hoare, Communicating Sequential Processes, Prentice-Hall, 1985.
T. Parks, “Bounded Scheduling of Process Networks,” Ph.D. Thesis, University of California at Berkeley, 1995.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Kienhuis, B., Deprettere, E.F. Modeling Stream-Based Applications Using the SBF Model of Computation. The Journal of VLSI Signal Processing-Systems for Signal, Image, and Video Technology 34, 291–300 (2003). https://doi.org/10.1023/A:1023256604475
Published:
Issue Date:
DOI: https://doi.org/10.1023/A:1023256604475