[go: up one dir, main page]

skip to main content
research-article

Modeling and Simulation of Dynamic Applications Using Scenario-Aware Dataflow

Published: 21 August 2019 Publication History

Abstract

The tradeoff between analyzability and expressiveness is a key factor when choosing a suitable dataflow model of computation (MoC) for designing, modeling, and simulating applications considering a formal base. A large number of techniques and analysis tools exist for static dataflow models, such as synchronous dataflow. However, they cannot express the dynamic behavior required for more dynamic applications in signal streaming or to model runtime reconfigurable systems. On the other hand, dynamic dataflow models like Kahn process networks sacrifice analyzability for expressiveness. Scenario-aware dataflow (SADF) is an excellent tradeoff providing sufficient expressiveness for dynamic systems, while still giving access to powerful analysis methods. In spite of an increasing interest in SADF methods, there is a lack of formally-defined functional models for describing and simulating SADF systems. This article overcomes the current situation by introducing a functional model for the SADF MoC, as well as a set of abstract operations for simulating it. We present the first modeling and simulation tool for SADF so far, implemented as an open source library in the functional framework ForSyDe. We demonstrate the capabilities of the functional model through a comprehensive tutorial-style example of a RISC processor described as an SADF application, and a traditional streaming application where we model an MPEG-4 simple profile decoder. We also present a couple of alternative approaches for functionally modeling SADF on different languages and paradigms. One of such approaches is used in a performance comparison with our functional model using the MPEG-4 simple profile decoder as a test case. As a result, our proposed model presented a good tradeoff between execution time and implementation succinctness. Finally, we discuss the potential of our formal model as a frontend for formal system design flows regarding dynamic applications.

References

[1]
Markus Aronsson and Mary Sheeran. 2017. Hardware software co-design in Haskell. SIGPLAN Not. 52, 10 (Sept. 2017), 162--173.
[2]
Christiaan Baaij, Matthijs Kooijman, Jan Kuper, Arjan Boeijink, and Marco Gerards. 2010. CλaSH: Structural descriptions of synchronous hardware using Haskell. In 2010 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools. IEEE.
[3]
Albert Benveniste, Timothy Bourke, Benoit Caillaud, Bruno Pagano, and Marc Pouzet. 2017. A type-based analysis of causality loops in hybrid systems modelers. Nonlinear Analysis: Hybrid Systems 26 (2017), 168--189.
[4]
Richard S. Bird. 1987. An Introduction to the Theory of Lists. Springer.
[5]
Ricardo Bonna. 2018. ForSyDe-SADF examples. Retrieved from https://github.com/forsyde/forsyde-shallow-examples/tree/master/src/ForSyDe/Shallow/Example/SADF.
[6]
J. T. Buck and E. A. Lee. 1993. Scheduling dynamic dataflow graphs with bounded memory using the token flow model. In IEEE International Conference on Acoustics Speech and Signal Processing. IEEE.
[7]
Morteza Damavandpeyma, Sander Stuijk, Marc Geilen, Twan Basten, and Henk Corporaal. 2012. Parametric throughput analysis of scenario-aware dataflow graphs. In 2012 IEEE 30th International Conference on Computer Design (ICCD). IEEE.
[8]
Marc Geilen, Joachim Falk, Christian Haubelt, Twan Basten, Bart Theelen, and Sander Stuijk. 2014. Performance analysis of weakly-consistent scenario-aware dataflow graphs. In 48th Asilomar Conference on Signals, Systems and Computers. IEEE.
[9]
Marc Geilen, Joachim Falk, Christian Haubelt, Twan Basten, Bart Theelen, and Sander Stuijk. 2017. Performance analysis of weakly-consistent scenario-aware dataflow graphs. J. Signal Process. Syst. 87, 1 (01 April 2017), 157--175.
[10]
Marc Geilen and Sander Stuijk. 2010. Worst-case performance analysis of synchronous dataflow scenarios. In Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis—CODES/ISSS'10. ACM Press.
[11]
Andy Gill. 2009. Type-safe observable sharing in Haskell. In Proceedings of the 2nd ACM SIGPLAN Symposium on Haskell. ACM, 117--128.
[12]
The ForSyDe Group. 2018. ForSyDe Shallow. Retrieved from https://github.com/forsyde/forsyde-shallow.
[13]
G. Kahn. 1974. The semantics of a simple language for parallel programming. In Information Processing’74: Proceedings of the IFIP Congress, J. L. Rosenfeld (Ed.). North-Holland, New York, NY, 471--475.
[14]
E. A. Lee and A. Sangiovanni-Vincentelli. 1998. A framework for comparing models of computation. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 17, 12 (Dec. 1998), 1217--1229.
[15]
Edward Ashford Lee and David G. Messerschmitt. 1987. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. Comput. 100, 1 (Jan. 1987), 24--35.
[16]
Simon L. Peyton Jones. 1987. The Implementation of Functional Programming Languages. Prentice-Hall, Inc., Upper Saddle River, NJ.
[17]
Claudius Ptolemaeus (Ed.). 2014. System Design, Modeling, and Simulation Using Ptolemy II. Ptolemy.org.
[18]
Ingo Sander, Axel Jantsch, and Seyed-Hosein Attarzadeh-Niaki. 2017. ForSyDe: System design using a functional language and models of computation. In Handbook of Hardware/Software Codesign, Soonhoi Ha and Jürgen Teich (Eds.). Springer Netherlands, Dordrecht, 99--140.
[19]
Joseph Sifakis. 2015. System design automation: Challenges and limitations. Proc. IEEE 103, 11 (Nov. 2015), 2093--2103.
[20]
M. Skelin, M. Geilen, F. Catthoor, and S. Hendseth. 2017. Parameterized dataflow scenarios. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 36, 4 (April 2017), 669--682.
[21]
S. Stuijk, M. Geilen, and T. Basten. 2006. SDF<sup>3</sup>: SDF for free. In 6th International Conference on Application of Concurrency to System Design (ACSD’06). 276--278.
[22]
S. Stuijk, M. Geilen, B. Theelen, and T. Basten. 2011. Scenario-aware dataflow: Modeling, analysis and implementation of dynamic applications. In International Conference on Embedded Computer Systems (SAMOS’11). 404--411.
[23]
B. D. Theelen, M. C. W. Geilen, T. Basten, J. P. M. Voeten, S. V. Gheorghita, and S. Stuijk. 2006. A scenario-aware data flow model for combined long-run average and worst-case performance analysis. In Proceedings of the 4th ACM and IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE’06). 185--194.
[24]
B. D. Theelen. 2007. A performance analysis tool for scenario-aware streaming applications. In 4th International Conference on the Quantitative Evaluation of Systems (QEST’07). 269--270.
[25]
S. Tripakis. 2016. Compositionality in the science of system design. Proc. IEEE 104, 5 (May 2016), 960--972.
[26]
B. N. Uchevler and K. Svarstad. 2013. Assertion based verification using PSL-like properties in Haskell. In 2013 IEEE 16th International Symposium on Design and Diagnostics of Electronic Circuits 8 Systems (DDECS). IEEE.
[27]
Bahram N. Uchevler and Kjetil Svarstad. 2018. Modelling and assertion-based verification of run-time reconfigurable designs using functional programming abstractions. Int. J. Reconfigurable Comput. 2018 (July 2018), 1--25.
[28]
R. V. Kampenhout, S. Stuijk, and K. Goossens. 2015. A scenario-aware dataflow programming model. In 2015 Euromicro Conference on Digital System Design. 25--32.
[29]
R. van Kampenhout, S. Stuijk, and K. Goossens. 2017. Programming and analysing scenario-aware dataflow on a multi-processor platform. In Design, Automation Test in Europe Conference Exhibition (DATE’17). 876--881.

Cited By

View all
  • (2024)Efficient Pipelining of Synchronous Dataflow Graphs Via Graph ConversionIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.335519043:6(1704-1714)Online publication date: 18-Jan-2024
  • (2023)An Analysis on Formal Models of Computation for the Avionics Systems Domain2023 IEEE/AIAA 42nd Digital Avionics Systems Conference (DASC)10.1109/DASC58513.2023.10311119(1-9)Online publication date: 1-Oct-2023
  • (2022)Scenario Based Run-Time Switching for Adaptive CNN-Based Applications at the EdgeACM Transactions on Embedded Computing Systems10.1145/348871821:2(1-33)Online publication date: 8-Feb-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 24, Issue 5
September 2019
282 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/3339837
  • Editor:
  • Naehyuck Chang
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 21 August 2019
Accepted: 01 June 2019
Revised: 01 June 2019
Received: 01 December 2018
Published in TODAES Volume 24, Issue 5

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Scenario-aware dataflow (SADF)
  2. modeling
  3. simulation

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • Swedish-Brazilian Research and Innovation Centre (CISB
  • Saab AB through the Call of Projects CISB Saab

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Efficient Pipelining of Synchronous Dataflow Graphs Via Graph ConversionIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.335519043:6(1704-1714)Online publication date: 18-Jan-2024
  • (2023)An Analysis on Formal Models of Computation for the Avionics Systems Domain2023 IEEE/AIAA 42nd Digital Avionics Systems Conference (DASC)10.1109/DASC58513.2023.10311119(1-9)Online publication date: 1-Oct-2023
  • (2022)Scenario Based Run-Time Switching for Adaptive CNN-Based Applications at the EdgeACM Transactions on Embedded Computing Systems10.1145/348871821:2(1-33)Online publication date: 8-Feb-2022
  • (2022)A High-Level Synthesis Approach Applicable to Autonomous Embedded Systems2022 IEEE XXIX International Conference on Electronics, Electrical Engineering and Computing (INTERCON)10.1109/INTERCON55795.2022.9870103(1-4)Online publication date: 11-Aug-2022
  • (2021)Fundamental Concepts to Build a Runtime Reconfigurable Virtual Platform Model2021 10th Mediterranean Conference on Embedded Computing (MECO)10.1109/MECO52532.2021.9459723(1-4)Online publication date: 7-Jun-2021
  • (2021)Classification and Mapping of Model Elements for Designing Runtime Reconfigurable SystemsIEEE Access10.1109/ACCESS.2021.31298999(156337-156360)Online publication date: 2021
  • (2020)Analysis and Identification of Possible Automation Approaches for Embedded Systems Design FlowsInformation10.3390/info1102012011:2(120)Online publication date: 22-Feb-2020

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media