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.
Similar content being viewed by others
References
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.
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.
Bhattacharyya, S.S., Deprettere, E., Leupers, R., & Takala, J. (Eds.) (2010). Handbook of signal processing systems. Berlin: Springer.
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.
Bilsen, G., Engels, M., Lauwereins, R., & Peperstraete, J.A. (1996). Cyclo-static dataflow. IEEE Transactions on Signal Processing, 44(2), 397–408.
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.
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).
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.
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.
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.
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).
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.
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.
Guernic, P.L., pierre Talpin, J., & christophe Le Lann, J. (2002). Polychrony for system design. Journal for Circuits, Systems and Computers, 12, 261–304.
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.
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.
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.
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.
Kneuper, R. (1997). Limits of formal methods. Formal Aspects of Computing, 9(4), 379–394.
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.
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.
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.
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).
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.
Potop-Butucaru, D., Edwards, S.A., & Berry, G. (2007). Compiling Esterel, 1st edn: Springer Publishing Company, Incorporated.
Rainsberger, J.B. (2004). JUnit Recipes: Practical Methods for Programmer Testing: Manning Publications.
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.
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.
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.
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.
Selić, B., & Gérard, S. (2014). Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE. Boston: Morgan Kaufmann.
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.
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.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-015-1073-6