Towards automated implementation of adaptive systems from abstract SystemC specifications

From SystemC adaptive processes to embedded software and to synthesizable hardware descriptions

Abstract

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

References

  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

  2. 2.

    Black DC, Donovan J (2004) SystemC: from the ground up. Springer, Berlin

    Book  Google Scholar 

  3. 3.

    Catapult-C web site (2012) http://www.mentor.com/esl/catapult/overview. 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

  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 http://bree.teisa.unican.es/gim/pub_files/file_347.pdf

  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 http://www.open-std.org/jtc1/sc22/wg21/docs/projects#18015

  13. 13.

    Jang ES, Ohm J, Mattavelli M (2008) Whitepaper on reconfigurable video coding (RVC). Available in http://www.chiariglione.org/mpeg/technologies/mpb-rvc/index.htm

  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

    Article  Google 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

  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 https://ece.uwaterloo.ca/hdpatel/uwhtml/systemc-h/

    MATH  Google 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 http://www.ocera.org/archive/deliverables/ms1-month6/WP1/D1.1.html

  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 http://web.it.kth.se/~ingo/Papers/ENTCS2008.pdf

    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

  26. 26.

    Shalit A (1996) The Dylan reference manual. The definitive guide to the new object-oriented dynamic language. Addison-Wesley, Reading

    MATH  Google 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

  30. 30.

    Synthesis working group members of open SystemC initiative. SystemC synthesizable subset (2009)

  31. 31.

    Trapp M (2005) Modeling the adaptation behavior of adaptive embedded systems. PhD thesis, Fraunhofer IESE

  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 www.teisa.unican.es/SWGen. 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 

Download references

Acknowledgements

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.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Fernando Herrera.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Herrera, F., Ugarte, I. & Villar, E. Towards automated implementation of adaptive systems from abstract SystemC specifications. Des Autom Embed Syst 16, 129–160 (2012). https://doi.org/10.1007/s10617-012-9099-5

Download citation

Keywords

  • SystemC
  • Dynamic reconfigurable hardware
  • Adaptive systems