Design Automation for Embedded Systems

, Volume 16, Issue 3, pp 129–160 | Cite as

Towards automated implementation of adaptive systems from abstract SystemC specifications

From SystemC adaptive processes to embedded software and to synthesizable hardware descriptions
  • Fernando HerreraEmail author
  • Iñigo Ugarte
  • Eugenio Villar


Adaptivity is a key feature in embedded systems which requires explicit support in Electronic System-Level (ESL) design methodologies. Similarly, a higher level of abstraction during system specification is crucial for enabling ESL design activities such as Design Space Exploration. This has motivated the development of methodologies, such as A-HetSC, for enabling SystemC abstract specification of the adaptive parts of a system. However, in order to enable practical ESL design flows, it is essential to enable suitable implementation paths from the abstract adaptive specification. Otherwise, the cost of manual refinement of the abstract adaptive specification or simply the inability to systematically achieve an implementation will compromise the advantages obtained by the abstract model. This paper presents a system-level implementation methodology for tackling the implementation of the adaptive parts of an abstract SystemC specification. These adaptive parts are described as abstract adaptive processes, the basic constructs for specifying adaptivity in the A-HetSC methodology. The methodology proposes two main implementation paths. One path automatically targets an embedded SW implementation, for an immediate, flexible and cheap implementation of the adaptive processes. For the HW implementation path, a systematic SystemC-based refinement for targeting a refined model is proposed. Such a refined model is already supported by high-level synthesis tools, which automate the rest of the HW implementation path. It enables a cost efficient implementation of adaptive functionality in contexts where a software implementation does not fulfil time performance demands. The refinement of an adaptive inverse transform module, as part of an adaptive video decoder (AVD), is used as a demonstrative example.


SystemC Dynamic reconfigurable hardware Adaptive systems 



This work has been partially funded by the European project ANDRES IST-5-033511 and by the Spanish Government through the TEC2008-04107 project. The authors want also to thank OFFIS institute its support, specifically to P.A. Hartmann, from OFFIS, for his collaboration in previous work, and to professor V. Fernández (UC) for his support with CatapultC.


  1. 1.
    Amano N, Watanabe T (1998) LEAD++: an object-oriented reflective language for dynamically adaptable software model. Special Section of Papers Selected from ITC-CSCC ‘98 Google Scholar
  2. 2.
    Black DC, Donovan J (2004) SystemC: from the ground up. Springer, Berlin CrossRefGoogle Scholar
  3. 3.
    Catapult-C web site (2012) Available in Jan 2012
  4. 4.
    Chen W, Hiltunen MA, Schlichting RD (2001) Constructing adaptive software in distributed systems. In: 21st int conf on distributed computing system, Phoenix, AZ Google Scholar
  5. 5.
    Claus C, Stechele W, Herkersdorf A (2007) Autovision—a run-time reconfigurable MPSoC architecture for future driver assistance systems. Inf Technol J 49(3):181 Google Scholar
  6. 6.
    Helmerich A, Koch N, Mandel L, Braun P, Dombush P, Gruller A, Keil P, Leisibach R, Romberg J, Schätz B, Wild T, Wimmel G (2005) Study of worldwide trends and R&D programmes in embedded systems in view of maximising of a technology platform in the area. Final report of FAST GmbH and the Technical University of Munich for the European Commission Google Scholar
  7. 7.
    Herrera F, Villar E (2007) A framework for heterogeneous specification and design of electronic embedded systems in SystemC. ACM Trans Des Autom Electron Syst 12(22). doi: 10.1145/1255456.1255459
  8. 8.
    Herrera F, Fernandez V, Sanchez P, Villar E (2003) Embedded software generation from SystemC for platform based design. In: SystemC methodologies and applications. Kluwer Academic, Dordrecht Google Scholar
  9. 9.
    Herrera F, Villar E, Hartmann PA (2008) Specification of adaptive HW/SW systems in SystemC. In: Forum of design and specification languages FDL’2008, Sept 2008 Google Scholar
  10. 10.
    Herrera F, Real S, Villar E (2009) Modelling of SW. Final library elements. Deliverable D1.2b of the ANDRES project. 2009. Available in
  11. 11.
    Herrera F, Villar E, Hartmann PA (2011) SystemC refinement of abstract adaptive processes for implementation into dynamically reconfigurable hardware. In: Forum of design and specification languages 2011 (FDL 2011) Google Scholar
  12. 12.
    ISO/IEC Working Group WG21 of Subcommittee SC 22 (2006) Technical Report on C++ Performance. ISO/IEC TR 18015:2006(E). February 2006. Available in
  13. 13.
    Jang ES, Ohm J, Mattavelli M (2008) Whitepaper on reconfigurable video coding (RVC). Available in
  14. 14.
    Jantsch A (2010) Modelling embedded systems and SoCs: concurrency and time in models of computation. Morgan Kaufman, San Mateo Google Scholar
  15. 15.
    Keene S (1988) Object-oriented programming in common lisp: a programmer’s guide to CLOS. Addison-Wesley, Reading Google Scholar
  16. 16.
    Keinert J, Streubhr M, Schlichter T, Falk J, Gladigau J, Haubelt C, Teich J, Meredith M (2009) Systemcodesigner—an automatic esl synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans Des Autom Electron Syst 14(1):1–23 CrossRefGoogle Scholar
  17. 17.
    Liao C, Hsiung P (2005) A SystemC-based performance evaluation framework for dynamically reconfigurable soc. In: VLSI design/CAD symposium Google Scholar
  18. 18.
    OFFIS (2009) Fossy: Predictable SystemC/C++ synthesis. The fossy manual Google Scholar
  19. 19.
    Parks PC, Schaufelberger W, Schmid C, Unbehauen H (2006) Methods and applications in adaptive control. Springer, Berlin, pp 161–198. Chap applications of adaptive control systems Google Scholar
  20. 20.
    Patel H, Shukla S (2004) SystemC kernel extensions for heterogeneous system modeling. Springer, Berlin. Available in zbMATHGoogle Scholar
  21. 21.
    Pelkonen A, Masselos K, Cupak M (2003) System-level modeling of dynamically reconfigurable hardware with SystemC. In: 10th reconfigurable architectures workshop, RAW2003 Google Scholar
  22. 22.
    Ripoll I, Pisa P, Abeni L, Gai P, Lanuse A, Saez S, Privat B (2002) “RTOS Analysis”. Deliverable D1.1 of the open components for embedded real-time application (OCERA) project. November. Available in
  23. 23.
    Sander I, Jantsch A (2008) Modelling adaptive systems in ForSyDe. In: Electronic notes in theoretical computer science (ENTCS), vol 200(2), pp 39–54. Also available in Google Scholar
  24. 24.
    Schallenberg A, Nebel W, Herrholz A, Hartmann PA, Oppenheimer F (2009) OSSS+R: a framework for application level modelling and synthesis of reconfigurable systems. In: DATE, pp 970–975 Google Scholar
  25. 25.
    SCLRM05 (2005) IEEE 1666—standard language reference manual Google Scholar
  26. 26.
    Shalit A (1996) The Dylan reference manual. The definitive guide to the new object-oriented dynamic language. Addison-Wesley, Reading zbMATHGoogle Scholar
  27. 27.
    Staudt B, Cobleigh JM, Osterweil LJ, Wise A (2002) Using containment units for self adaption of software. In: Proc of the 10th ACM SIGSOFT symposium on foundations of software engineering Google Scholar
  28. 28.
    Streubuhr M, Riedel C, Haubelt C, Teich J (2007) System level modelling and performance simulation for dynamic reconfigurable computing systems in SystemC. In: Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen, Aachen, Germany Google Scholar
  29. 29.
    Synthesis WG O (2009) SystemC synthesizeable subset. 1.3 draft Google Scholar
  30. 30.
    Synthesis working group members of open SystemC initiative. SystemC synthesizable subset (2009) Google Scholar
  31. 31.
    Trapp M (2005) Modeling the adaptation behavior of adaptive embedded systems. PhD thesis, Fraunhofer IESE Google Scholar
  32. 32.
    Trapp M, Adler R, Förster M, Junger J (2007) Runtime adaptation in safety-critical automotive systems. In: SE’07: proceedings of the 25th conference on IASTED international multi-conference. ACTA Press, Anaheim, pp 308–315 Google Scholar
  33. 33.
    UC/GIM (2011) SWGen web site. In Available in Jan 2012
  34. 34.
    Zhu J, Sander I, Jantsch A (2010) HetMoC: heterogeneous modelling in SystemC. In: Proceedings of the forum of design and specification languages FDL’2010, Southampton, UK, Sept 2010 Google Scholar

Copyright information

© Springer Science+Business Media New York 2012

Authors and Affiliations

  • Fernando Herrera
    • 1
    Email author
  • Iñigo Ugarte
    • 1
  • Eugenio Villar
    • 1
  1. 1.E.T.S.I.I.T, TEISA Dpt.University of CantabriaSantanderSpain

Personalised recommendations