Abstract
In this chapter, different application modeling approaches based on the integration of finite state machines with dataflow models are reviewed. Many well-known Models of Computation (MoC) that are used in design methodologies to generate optimized hardware/software implementations from a model-based specification turn out to be special cases thereof. A particular focus is put on the analyzability of these models with respect to schedulability and the generation of efficient schedule implementations. Here, newest results on clustering methods for model refinement and schedule optimization by means of quasi-static scheduling are presented.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The ‘*’-operator is used to denote Kleene closure of a value set. It generates the set of all possible finite sequences of values from a value set, that is \({X}^* = \cup {n \in {\mathbb {N}_0}}:X^n\). As is customary, \(\mathbb {N}_0 = \{0,1,2,3,\ldots \}\) denotes the set of non-negative integers.
- 2.
In some dataflow models that abstract from token values, the delay function may only return a non-negative integer that denotes the number of initial tokens on the channel. In such a context, the number of initial tokens may also be called the delay of a channel.
- 3.
As is customary, \(\mathbb {N} = \{1,2,3,\ldots \}\) denotes the set of positive integers.
- 4.
Note that in contrast to previous editions of this handbook, the separation of functionality into actions and guards has been explicitly introduced in the definition.
- 5.
We use the ‘.’-operator, e.g., a.I, for member access of tuples whose members have been explicitly named in their definition, e.g., member I of actor a ∈ A from Definition 5. Moreover, this member access operator has a trivial extension to sets of tuples, e.g., \(A.I = \bigcup { }_{a \in A} a.I\), which is also used throughout this document.
- 6.
Notice that the enabling rate \(\operatorname {\mathbf {req}}\) as well as the input consumption rate and the output production rate functions \(\operatorname {\mathbf {cons}}\) and \(\operatorname {\mathbf {prod}}\) are no longer explicitly given but can be derived from the transition guard and the action, respectively.
- 7.
The definition of a cluster FSM (Definition 9) has been extended compared to previous editions to allow for the representation of more general schedules within the cluster FSM.
- 8.
The initial state q 0 might be an exception to this observation as the cluster might have an initial state where tokens can be produced without consuming additional inputs. In contrast to previous editions of this handbook and to ease the visualization, these cluster states are represented by the number of firings of each actor in the cluster instead of the number of tokens consumed and produced on each of cluster input and output ports. Both representations are equivalent and can be transformed into each other.
- 9.
In the following, we will drop the ‘\(g_{\gamma _{}}.\)’-prefix from various notations when the cluster is clear from context, e.g., I instead of \(g_{\gamma _{}}.I\).
- 10.
In reality, the cluster will not undo any actor firing and this should be thought of as delayed production of tokens by a dynamically scheduled cluster in contrast to a composite actor implementing a QSS. A QSS is required to always produce the maximal number of output tokens from a minimal number of input tokens and, hence, will never delay the production of tokens on its output ports.
References
Bacivarov, I., Haid, W., Huang, K., Thiele, L.: Methods and tools for mapping process networks onto multi-processor systems-on-chip. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, third edn. Springer (2018)
Baird, M. (ed.): IEEE Standard 1666–2005 SystemC Language Reference Manual. IEEE Standards Association, New Jersey, USA (2005)
Balarin, F., Giusto, P., Jurecska, A., Passerone, C., Sentovich, E., Tabbara, B., Chiodo, M., Hsieh, H., Lavagno, L., Sangiovanni-Vincentelli, A., Suzuki, K.: Hardware-Software Co-Design of Embedded Systems: The POLIS Approach. Kluwer Academic Publishers (1997)
Bambha, N., Kianzad, V., Khandelia, M., Bhattacharyya, S.S.: Intermediate representations for design automation of multiprocessor dsp systems. Design Automation for Embedded Systems 7(4), 307–323 (2002). https://doi.org/10.1023/A:1020307222052
Bhattacharya, B., Bhattacharyya, S.: Parameterized dataflow modeling for DSP systems. Signal Processing, IEEE Transactions on 49(10), 2408–2421 (2001)
Bhattacharyya, S.S., Buck, J.T., Ha, S., Lee, E.A.: Generating Compact Code from Dataflow Specifications of Multirate Signal Processing Algorithms. IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications 42(3), 138–150 (1995)
Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J.: Cyclo-Static Dataflow. IEEE Transaction on Signal Processing 44(2), 397–408 (1996)
Buck, J.T.: Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model. Tech. rep., Dept. of EECS, UC Berkeley, Berkeley, CA 94720, U.S.A. (1993). Technical Report UCB/ERL 93/69, Ph.D dissertation
Damavandpeyma, M., Stuijk, S., Basten, T., Geilen, M., Corporaal, H.: Modeling static-order schedules in synchronous dataflow graphs. In: Proceedings of the Conference on Design, Automation and Test in Europe, pp. 775–780. EDA Consortium (2012)
de Groote, R.: Throughput analysis of dataflow graphs. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, third edn. Springer (2018)
Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity - the ptolemy approach. Proceedings of the IEEE 91(1), 127–144 (2003)
Falk, J.: A Clustering-Based MPSoC Design Flow for Data Flow-Oriented Applications. Dr. Hut, Sternstr. 18, München, Germany (2015). Dissertation, Computer Science Department, Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
Falk, J., Haubelt, C., Teich, J.: Efficient Representation and Simulation of Model-Based Designs in SystemC. In: Proc. Forum on Specification & Design Languages, FDL’06, pp. 129–134 (2006)
Falk, J., Keinert, J., Haubelt, C., Teich, J., Bhattacharyya, S.S.: A Generalized Static Data Flow Clustering Algorithm for MPSoC Scheduling of Multimedia Applications. In: Proc. 8th ACM international conference on Embedded software, EMSOFT’08, pp. 189–198. ACM, New York, NY, USA (2008). http://doi.acm.org/10.1145/1450058.1450084
Falk, J., Schwarzer, T., Glaß, M., Teich, J., Haubelt, C.: Quasi-Static Scheduling of Data Flow Graphs in the Presence of Limited Channel Capacities. In: Proc. of the 13th IEEE Symposium on Embedded Systems for Real-time Multimedia, ESTIMEDIA’15, p. 10 (2015)
Falk, J., Zebelein, C., Haubelt, C., Teich, J.: A Rule-Based Static Dataflow Clustering Algorithm for Efficient Embedded Software Synthesis. In: Proc. Design, Automation and Test in Europe, DATE’11, pp. 521–526. IEEE (2011)
Falk, J., Zebelein, C., Haubelt, C., Teich, J.: A Rule-Based Quasi-Static Scheduling Approach for Static Islands in Dynamic Dataflow Graphs. ACM Trans. Embedded Comput. Syst. 12(3), 74:1–74:31 (2013)
Falk, J., Zebelein, C., Keinert, J., Haubelt, C., Teich, J., Bhattacharyya, S.S.: Analysis of SystemC Actor Networks for Efficient Synthesis. ACM Trans. Embedded Comput. Syst. 10(2), 18:1–18:34 (2011). http://doi.acm.org/10.1145/1880050.1880054
Geilen, M., Basten, T.: Kahn process networks and a reactive extension. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, third edn. Springer (2018)
Geilen, M., Stuijk, S.: Worst-case performance analysis of synchronous dataflow scenarios. In: Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pp. 125–134. ACM (2010)
Girault, A., Lee, B., Lee, E.: Hierarchical finite state machines with multiple concurrency models. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on 18(6), 742–760 (1999)
Ha, S., Oh, H.: Decidable signal processing dataflow graphs. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, third edn. Springer (2018)
Hsu, C.J., Bhattacharyya, S.S.: Cycle-Breaking Techniques for Scheduling Synchronous Dataflow Graphs. Tech. Rep. UMIACS-TR-2007-12, Institute for Advanced Computer Studies, University of Maryland at College Park (2007). URL http://hdl.handle.net/1903/4328
Kahn, G.: The Semantics of a Simple Language for Parallel Programming. In: IFIP Congress, pp. 471–475 (1974)
Kosinski, P.R.: A Straightforward Denotational Semantics for Non-determinate Data Flow Programs. In: Proc. 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL’78, pp. 214–221. ACM, New York, NY, USA (1978). https://doi.org/10.1145/512760.512783
Lee, E.A., Messerschmitt, D.G.: Synchronous Data Flow. Proc. of the IEEE 75(9), 1235–1245 (1987)
Mattavelli, M., Janneck, J.W., Raulet, M.: MPEG reconfigurable video coding. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, third edn. Springer (2018)
Parks, T.M.: Bounded Scheduling of Process Networks. Tech. rep., Dept. of EECS, UC Berkeley, Berkeley, CA 94720, U.S.A. (1995). URL http://www.eecs.berkeley.edu/Pubs/TechRpts/1995/2926.html. Technical Report UCB/ERL M95/105, Ph.D dissertation
Pino, J.L., Bhattacharyya, S.S., Lee, E.: A Hierarchical Multiprocessor Scheduling System for DSP Applications. In: Proc. Asilomar Conference on Signals, Systems, and Computers, vol. 1, pp. 122–126 (1995). http://dx.doi.org/10.1109/ACSSC.1995.540525
Plishker, W., Sane, N., Kiemb, M., Bhattacharyya, S.S.: Heterogeneous design in functional DIF. In: Proceedings of the 8th international workshop on Embedded Computer Systems: Architectures, Modeling, and Simulation, SAMOS ’08, pp. 157–166. Springer-Verlag, Berlin, Heidelberg (2008)
Sangiovanni-Vincentelli, A.L., Sgroi, M., Lavagno, L.: Formal models for communication-based design. In: Proceedings of the 11th International Conference on Concurrency Theory, CONCUR ’00, pp. 29–47. Springer-Verlag, London, UK (2000)
Stuijk, S., Geilen, M., Basten, T.: Throughput-buffering trade-off exploration for cyclo-static and synchronous dataflow graphs. IEEE Transactions on Computers 57(10), 1331–1345 (2008). https://doi.org/10.1109/TC.2008.58
Theelen, B.D., Deprettere, E.F., Bhattacharyya, S.S.: Dynamic dataflow graphs. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, third edn. Springer (2018)
Theelen, B.D., Geilen, M.C.W., Basten, T., Voeten, J.P.M., Gheorghita, S.V., Stuijk, S.: A scenario-aware data flow model for combined long-run average and worst-case performance analysis. In: Proceedings of International Conference on Formal Methods and Models for Co-Design, pp. 185–194 (2006). https://doi.org/10.1109/MEMCOD.2006.1695924
Tripakis, S., Bui, D.N., Geilen, M., Rodiers, B., Lee, E.A.: Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs. ACM Trans. Embedded Comput. Syst. 12(3), 83:1–83:26 (2013). http://dx.doi.org/10.1145/2442116.2442133
Tripakis, S., Bui, D.N., Rodiers, B., Lee, E.A.: Compositionality in Synchronous Data Flow: Modular Code Generation from Hierarchical SDF Graphs. In: J. Sztipanovits, R. Rajkumar (eds.) ACM/IEEE 1st International Conference on Cyber-Physical Systems, ICCPS’10, p. 199. ACM (2010). https://doi.org/10.1145/1795194.1795223
Zebelein, C., Haubelt, C., Falk, J., Schwarzer, T., Teich, J.: Representing mapping and scheduling decisions within dataflow graphs. In: Proceedings of the 2013 Forum on specification and Design Languages (FDL), pp. 1–8 (2013)
Zebelein, C., Haubelt, C., Falk, J., Teich, J.: Model-based representation of schedules for dataflow graphs. In: 16. Workshop Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen (MBMV 2013), pp. 105–116 (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer International Publishing AG, part of Springer Nature
About this chapter
Cite this chapter
Falk, J., Neubauer, K., Haubelt, C., Zebelein, C., Teich, J. (2019). Integrated Modeling Using Finite State Machines and Dataflow Graphs. In: Bhattacharyya, S., Deprettere, E., Leupers, R., Takala, J. (eds) Handbook of Signal Processing Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-91734-4_23
Download citation
DOI: https://doi.org/10.1007/978-3-319-91734-4_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-91733-7
Online ISBN: 978-3-319-91734-4
eBook Packages: EngineeringEngineering (R0)