Design Automation for Embedded Systems

, Volume 16, Issue 4, pp 319–338 | Cite as

Visitor-based application analysis methodology for early design space exploration

  • Muhammad RashidEmail author
  • Bernard Pottier


Applications and architectures for embedded systems are becoming more and more complex. It is difficult to analyze complex embedded applications at early stages of the design flow without generic automated tools and methodologies. Consequently, application analysis under the real input conditions is becoming more and more important. Existing application analysis methodologies mainly focus on a single design objective. A general purpose application analysis methodology is required to satisfy multiple objectives of early design space exploration. This article proposes a general purpose application analysis methodology based on a visitor design pattern. High level source specifications are transformed into a trace tree representation by dynamic analysis. Trace tree representation is analyzed by using a visitor design pattern to get run-time characteristics of the application. Among other outcomes, application characterization and average inherited parallelism are key concerns in this article. Experimental results with MPEG-2 video decoder shows viability of the proposed methodology.


Dynamic analysis Application characterization Inherited parallelism 


  1. 1.
    Howard J et al. (2011) A 48-core IA-32 processor in 45 nm CMOS using on-die message-passing and DVFS for performance and power scaling. IEEE J Solid-State Circuits 46(1):173–183 CrossRefGoogle Scholar
  2. 2.
    Bhattacharyya SS et al. (2011) Overview of the MPEG reconfigurable video coding framework. J Signal Process Syst 63(2):251–263 CrossRefGoogle Scholar
  3. 3.
    Marwedel P et al. (2011) Mapping of applications to MPSoCs. In: Proceedings of the seventh IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, Taipei, Taiwan, October 2011, pp 109–118 CrossRefGoogle Scholar
  4. 4.
    Abdi S, Hwang Y, Yu L, Schirner G, Gajski D (2011) Automatic TLM generation for early validation of multicore systems. IEEE Des Test Comput 28(3):10–19 CrossRefGoogle Scholar
  5. 5.
    Silvano C et al. (2011) Parallel programming and run-time resource management framework for many-core platforms. In: 6th international workshop on communication-centric systems-on-chip, August 2011 pp 1–7 Google Scholar
  6. 6.
    Rul S, Vandierendonck H, De Bosschere K (2010) A profile-based tool for finding pipeline parallelism in sequential programs. Parallel Comput 36(9):531–551 CrossRefzbMATHGoogle Scholar
  7. 7.
    Tournavitis G, Franke B (2010) Semi-automatic extraction and exploitation of hierarchical pipeline parallelism using profiling information. In: Proceedings of the 19th international conference on parallel architectures and compilation techniques, New York, NY, USA, September 2010, pp 377–388 CrossRefGoogle Scholar
  8. 8.
    Cockx J, Denolf K, Vanhoof B, Stahl R (2007) SPRINT: a tool to generate concurrent transaction-level models from sequential code. EURASIP J Adv Signal Process 2007, 75373. 15 pages CrossRefGoogle Scholar
  9. 9.
    Mitchell L et al. (2012) Parallel classification and feature selection in microarray data using SPRINT. In: Concurrency and computation: practice and experience, September 2012 Google Scholar
  10. 10.
    Thies W, Chandrasekhar V, Amarasinghe S (2007) A practical approach to exploiting coarse-grained pipeline parallelism in C programs. In: Proceedings of the 40th annual IEEE/ACM international symposium on micro architecture (Micro-40), Chicago, Illinois, USA, December 2007, pp 356–369 CrossRefGoogle Scholar
  11. 11.
    Thies W, Amarasinghe S (2010) An empirical characterization of stream programs and its implications for language and compiler design. In: International conference on parallel architectures and compilation techniques, Austria, September 2010, pp 11–15 Google Scholar
  12. 12.
    Amor NB, Le Moullec Y, Diguet JP, Philippe JL, Abid M (2005) Design of a multimedia processor based on metrics computation. Adv Eng Softw 36(7):448–458 CrossRefGoogle Scholar
  13. 13.
    Le Moullec Y, Diguet J-P, Amor NB, Gourdeaux T, Philippe J-L (2006) Algorithmic-level specification and characterization of embedded multimedia applications with design trotter. J VLSI Signal Process Syst 42(2):185–208 CrossRefzbMATHGoogle Scholar
  14. 14.
    Prihozhy A, Mattavelli M, Mlynek D (2005) Evaluation of the parallelization potential for efficient multimedia implementations: dynamic evaluation of algorithm critical path. IEEE Trans Circuits Syst Video Technol 93(8):593–608 CrossRefGoogle Scholar
  15. 15.
    Lucarz C, Roquier G, Mattavelli M (2010) High level design space exploration of RVC codec specifications for multi-core heterogeneous platforms. In: Design and architectures for signal and image processing, pp 191–198 Google Scholar
  16. 16.
    Tomek I (2002) The joy of Smalltalk. 700 pages (online). Available: Google Scholar
  17. 17.
    Cornelissen B, Zaidman A, van Deursen A, Moonen L, Koschke R (2009) A systematic survey of program comprehension through dynamic analysis. IEEE Trans Softw Eng 35(5):684–702 CrossRefGoogle Scholar
  18. 18.
    Sengupta A, Sedaghat R, Zeng Z (2011) Multi-objective efficient design space exploration and architectural synthesis of an application specific processor (ASP). Microprocess Microsyst 35(4):392–404 CrossRefGoogle Scholar
  19. 19.
    ISO/IEC 13818-2 (1994) Generic Coding of Moving Pictures and Associated Audio Information—Part 2: Video. Also ITU-T Recommendation H.262 Google Scholar
  20. 20.
    Castrillon J, Sheng W, Leupers R (2011) Trends in embedded software synthesis. In: International conference on embedded computer systems (SAMOS), July 2011, pp 347–354 Google Scholar
  21. 21.
    Koziolek H (2010) Performance evaluation of component-based software systems: a survey. In: Journal of performance evaluation, vol 67. Elsevier, New York Google Scholar
  22. 22.
    Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenstrom P (2008) The worst-case execution-time problem: overview of methods and survey of tools. ACM Trans Embed Comput Syst 7(3):36 CrossRefGoogle Scholar
  23. 23.
    Ravasi M, Mattavelli M (2005) High abstraction level complexity analysis and memory architecture simulations of multimedia algorithms. IEEE Trans Circuits Syst Video Technol 15(5):673–684 CrossRefGoogle Scholar
  24. 24.
    Uquillas Gomeza V, Ducasse S, D’Hondta T (2012) Ring: a unifying meta-model and infrastructure for Smalltalk source code analysis tools. Comput Lang Syst Struct 38(1):44–60 Google Scholar
  25. 25.
    Trace D. Sun Microsystems, web site:
  26. 26.
    Casmira JP, Kaeli JFDR (1995) Operating-system level tracing tools for the DEC AXP architecture. In: Proceedings of the 1997 workshop on computer architecture education, New York, NY, USA Google Scholar
  27. 27.
    Rul S, Vandierendonck H, De Bosschere K (2007) Function level parallelism driven by data dependencies. Comput Archit News 35(1):55–62 CrossRefGoogle Scholar
  28. 28.
    Rul S, Vandierendonck H, De Bosschere K (2008) Extracting coarse-grain parallelism in general-purpose programs. In: Proceedings of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming February 2008 Google Scholar
  29. 29.
    Gamma E, Helm R, Johnson R, Vlissides JM (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading Google Scholar
  30. 30.
    Ruby Programming Language.
  31. 31.
    Edelin G et al. (2007) A programming toolset enabling exploitation of reconfiguration for increased flexibility in future system-on-chips. In: Design automation and test in Europe, Nice, France, April 2007 Google Scholar
  32. 32.
    Pottier B, Boukhobza J, Goubier T (2007) Invited talk: an integrated platform for heterogeneous reconfigurable computing. In: International conference on engineering of reconfigurable systems and algorithms (ERSA’07), Navada, USA, June 2007 Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.University of Bretagne Occidentale, CNRS, UMR 3192, Lab-STICCBrestFrance
  2. 2.Umm Al-Qura UniversityMakkahSaudi Arabia

Personalised recommendations