Skip to main content
Log in

Instrumentation-Driven Validation of Dataflow Applications

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

Dataflow modeling offers a myriad of tools for designing and optimizing signal processing systems. A designer is able to take advantage of dataflow properties to effectively tune the system in connection with functionality and different performance metrics. However, a disparity in the specification of dataflow properties and the final implementation can lead to incorrect behavior that is difficult to detect. This motivates the problem of ensuring consistency between dataflow properties that are declared or otherwise assumed as part of dataflow-based application models, and the dataflow behavior that is exhibited by implementations that are derived from the models. In this paper, we address this problem by introducing a novel dataflow validation framework (DVF) that is able to identify disparities between an application’s formal dataflow representation and its implementation. DVF works by instrumenting the implementation of an application and monitoring the instrumentation data as the application executes. This monitoring process is streamlined so that DVF achieves validation without major overhead. We demonstrate the utility of our DVF through design and implementation case studies involving an automatic speech recognition application, a JPEG encoder, and an acoustic tracking application.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10

Similar content being viewed by others

References

  1. Bezati, E., Mattavelli, M., & Janneck, J. (2013). High-level synthesis of dataflow programs for signal processing systems. In 2013 8th International Symposium on Image and Signal Processing and Analysis (ISPA) (pp. 750–754). doi:10.1109/ISPA.2013.6703837.

  2. Bhattacharyya, S.S., Brebner, G., Eker, J., Janneck, J.W., Mattavelli, M., von Platen, C., & Raulet, M. (2008). OpenDF—a dataflow toolset for reconfigurable hardware and multicore systems. In Proceedings of the Swedish Workshop on Multi-Core Computing (pp. 43–49). Ronneby, Sweden.

  3. Bhattacharyya, S.S., Deprettere, E., Leupers, R., & Takala, J. (Eds.) (2010). Handbook of signal processing systems. Berlin: Springer.

  4. Bhattacharyya, S.S., Eker, J., Janneck, J.W., Lucarz, C., Mattavelli, M., & Raulet, M. (2011). Overview of the MPEG reconfigurable video coding framework. Journal of Signal Processing Systems, 63(2), 251–263.

    Article  Google Scholar 

  5. Bilsen, G., Engels, M., Lauwereins, R., & Peperstraete, J.A. (1996). Cyclo-static dataflow. IEEE Transactions on Signal Processing, 44(2), 397–408.

    Article  Google Scholar 

  6. Buck, J.T., & Lee, E.A. (1993). Scheduling dynamic dataflow graphs using the token flow model. In Proceedings of the international conference on acoustics, speech, and signal processing.

  7. Casale-Brunet, S., Alberti, C., Mattavelli, M., & Janneck, J. (2013). Turnus: a unified dataflow design space exploration framework for heterogeneous parallel systems. In 2013 conference on design and architectures for signal and image processing (DASIP) (pp. 47–54).

  8. Chukhman, I., & Bhattacharyya, S.S. (2014). Instrumentation-driven framework for validation of dataflow applications. In 2014 IEEE workshop on signal processing systems (SiPS) (pp. 1–6). doi:10.1109/SiPS.2014.6986053.

  9. Chukhman, I., Lin, S., Plishker, W., Shen, C., & Bhattacharyya, S.S. (2013). Instrumentation-driven model detection and actor partitioning for dataflow graphs. International Journal of Embedded and Real-Time Communication Systems, 4, 1–21.

    Article  Google Scholar 

  10. Cleaveland, R., Smolka, S.A., & Sims, S.T. (2008). An instrumentation-based approach to controller model validation. In Lecture Notes in Computer Science, vol. 4922 LNCS (pp. 84–97). San Diego.

  11. Damarla, T., Mehmood, A., & Sabatier, J. (2011). Detection of people and animals using non-imaging sensors. In Proceedings of the International Conference on Information Fusion (pp. 1–8).

  12. Eker, J., & Janneck, J.W. (2003). CAL language report, language version 1.0—document edition 1. Tech. Rep. UCB/ERL M03/48. Electronics Research Laboratory. University of California at Berkeley.

  13. Gu, R., Janneck, J.W., Raulet, M., & Bhattacharyya, S.S. (2011). Exploiting statically schedulable regions in dataflow programs. Journal of Signal Processing Systems, 63(1), 129–142.

    Article  Google Scholar 

  14. Guernic, P.L., pierre Talpin, J., & christophe Le Lann, J. (2002). Polychrony for system design. Journal for Circuits, Systems and Computers, 12, 261–304.

    Article  Google Scholar 

  15. Henzinger, T., Liu, X., Qadeer, S., & Rajamani, S. (1999). Formal specification and verification of a dataflow processor array. In 1999 IEEE/ACM International Conference on Computer-Aided Design, 1999. Digest of Technical Papers (pp. 494–499). doi:10.1109/ICCAD.1999.810700.

  16. Hierons, R.M., Bogdanov, K., Bowen, J.P., Cleaveland, R., Derrick, J., Dick, J., Gheorghe, M., Harman, M., Kapoor, K., Krause, P., Lüttgen, G., Simons, A.J.H., Vilkomir, S., Woodward, M.R., & Zedan, H. (2009). Using formal specifications to support testing. ACM Computing Surveys, 41(2), 9:1–9:76. doi:10.1145/1459352.1459354.

    Article  Google Scholar 

  17. Janneck, J., Miller, I., & Parlour, D. (2008). Profiling dataflow programs. In 2008 IEEE international conference on multimedia and expo (pp. 1065–1068). doi:10.1109/ICME.2008.4607622.

  18. Jerbi, K., Wipliez, M., Raulet, M., Deforges, O., Babel, M., & Abid, M. (2010). Fast hardware implementation of an Hadamard transform using RVC-CAL dataflow programming. In Proceedings of the 2010 5th International Conference on Embedded and Multimedia Computing (EMC 2010). Piscataway.

  19. Kneuper, R. (1997). Limits of formal methods. Formal Aspects of Computing, 9(4), 379–394.

    Article  Google Scholar 

  20. Ko, M., Shen, C., & Bhattacharyya, S.S. (2008). Memory-constrained block processing for DSP software optimization. Journal of Signal Processing Systems, 50(2), 163–177.

    Article  Google Scholar 

  21. Lee, G.G., Chen, C.F., & Lin, H.Y. (2013). Algorithmic complexity analysis on data transfer rate and data storage for multidimensional signal processing. In: 2013 IEEE Workshop on Signal Processing Systems (SiPS) (pp. 171–176). doi:10.1109/SiPS.2013.6674500.

  22. Ma, Y., Yu, H., Gautier, T., Le Guernic, P., Talpin, J.P., Besnard, L., & Heitz, M. (2013). Toward polychronous analysis and validation for timed software architectures in aadl. In Design, Automation Test in Europe Conference Exhibition (DATE), 2013 (pp. 1173–1178). doi:10.7873/DATE.2013.244.

  23. Phadke, S., Limaye, R., Verma, S., & Subramanian, K. (2004). On design and implementation of an embedded automatic speech recognition system. In Proceedings of the international conference on VLSI Design (pp. 27–132).

  24. Plishker, W., Sane, N., Kiemb, M., Anand, K., & Bhattacharyya, S.S. (2008). Functional DIF for rapid prototyping. In Proceedings of the International Symposium on Rapid System Prototyping (pp. 17–23). Monterey.

  25. Potop-Butucaru, D., Edwards, S.A., & Berry, G. (2007). Compiling Esterel, 1st edn: Springer Publishing Company, Incorporated.

  26. Rainsberger, J.B. (2004). JUnit Recipes: Practical Methods for Programmer Testing: Manning Publications.

  27. Ravasi, M., & Mattavelli, M. (2005). High-abstraction level complexity analysis and memory architecture simulations of multimedia algorithms. IEEE Transactions on Circuits and Systems for Video Technology, 15(5), 673–684. doi:10.1109/TCSVT.2005.846414.

    Article  Google Scholar 

  28. Ray, A., Morschhaeuser, I., Ackermann, C., Cleaveland, R., Shelton, C., & Martin, C. (2009). Validating automotive control software using instrumentation-based verification. In Proceedings of 24th IEEE/ACM conference on automated software engineering (pp. 15–25). doi:10.1109/ASE.2009.98.

  29. Ritz, S., Pankert, M., & Meyr, H. (1993). Optimum vectorization of scalable synchronous dataflow graphs. In Proceedings of the international conference on application specific array processors.

  30. Sarkar, V., & Hennessy, J. (1986). Partitioning parallel programs for macro-dataflow. In Proceedings of the 1986 ACM conference on LISP and functional programming, LFP ’86 (pp. 202–211). ACM, New York. doi:10.1145/319838.319863.

  31. Selić, B., & Gérard, S. (2014). Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE. Boston: Morgan Kaufmann.

    Google Scholar 

  32. Shen, C., Wang, L., Cho, I., Kim, S., Won, S., Plishker, W., & Bhattacharyya, S.S. (2011). The DSPCAD lightweight dataflow environment: Introduction to LIDE version 0.1. Tech. Rep. UMIACS-TR-2011-17, Institute for Advanced Computer Studies. University of Maryland at College Park.

  33. Yviquel, H., Lorence, A., Jerbi, K., Cocherel, G., Sanchez, A., & Raulet, M. (2013). Orcc: Multimedia development made easy. In Proceedings of the 21st ACM international conference on multimedia, MM ’13 (pp. 863–866). ACM. doi:10.1145/2502081.2502231.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ilya Chukhman.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chukhman, I., Jiao, Y., Salem, H.B. et al. Instrumentation-Driven Validation of Dataflow Applications. J Sign Process Syst 84, 383–397 (2016). https://doi.org/10.1007/s11265-015-1073-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-015-1073-6

Keywords

Navigation