Model-driven virtual prototyping for real-time simulation of distributed embedded systems

In this paper, we present an approach to generate a virtual execution platform in SystemC to advance the development of software-intensive real-time embedded systems including early validation and verification. These virtual execution platforms allow the execution of embedded software with strict consideration of the underlying hardware platform configuration in order to reduce subsequent development costs and to allow a short time-to-market by tailoring and exploring distributed embedded hardware and software architectures. Starting from abstract UML-based descriptions of the software and hardware architecture as well as integrated abstractions of legacy code, model transformation techniques are used during the model-driven generation process. The combination of source code level timing and power annotations obtained from binary legacy code analysis with a layered approach for TLM-based simulation of non-functional properties in a common virtual prototyping methodology allows a fast and accurate simulation of the embedded system model. We further show the synchronization and co-simulation of the embedded hardware/software with vehicle dynamics including human-in-the-loop. To substantiate our allegation we present experimental results expressing the high performance and accuracy of the elaborated virtual prototyping framework as well as its applicability within different application areas and use cases.

[1]  Naehyuck Chang,et al.  System-level power estimation using an on-chip bus performance monitoring unit , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[2]  Wolfgang Rosenstiel,et al.  Integrated requirement evaluation of non-functional system-on-chip properties , 2008, 2008 Forum on Specification, Verification and Design Languages.

[3]  Yunjian Jiang,et al.  State-based power analysis for systems-on-chip , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[4]  Wolfgang Rosenstiel,et al.  Dominator homomorphism based code matching for source-level simulation of embedded software , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[5]  René van Leuken,et al.  Extracting behavior and dynamically generated hierarchy from SystemC models , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[6]  Massimo Poncino,et al.  Native ISS-SystemC integration for the co-simulation of multi-processor SoC , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[7]  Frank Slomka,et al.  Hierarchical event streams and event dependency graphs: a new computational model for embedded real-time systems , 2006, 18th Euromicro Conference on Real-Time Systems (ECRTS'06).

[8]  Eugenio Villar,et al.  RTOS modeling in SystemC for real-time embedded SW simulation: A POSIX model , 2005, Des. Autom. Embed. Syst..

[9]  Wolfgang Rosenstiel,et al.  Hybrid source-level simulation of data caches using abstract cache models , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[10]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[11]  Nikil D. Dutt,et al.  Methodology for multi-granularity embedded processor power model generation for an ESL design flow , 2008, CODES+ISSS '08.

[12]  Feng Zhao,et al.  Energy-optimal software partitioning in heterogeneous multiprocessor embedded systems , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[13]  Christian Haubelt,et al.  A generalized static data flow clustering algorithm for mpsoc scheduling of multimedia applications , 2008, EMSOFT '08.

[14]  Wolfgang Rosenstiel,et al.  White box performance analysis considering static non-preemptive software scheduling , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[15]  Wolfgang Rosenstiel,et al.  High-performance timing simulation of embedded software , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[16]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[17]  Mahmut T. Kandemir,et al.  The design and use of simplePower: a cycle-accurate energy estimation tool , 2000, Proceedings 37th Design Automation Conference.

[18]  Oliver Bringmann,et al.  ESL power analysis of embedded processors for temperature and reliability estimations , 2009, CODES+ISSS '09.

[19]  Andreas Gerstlauer,et al.  RTOS modeling for system level design , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[20]  Wolfgang Rosenstiel,et al.  Fast and accurate source-level simulation of software timing considering complex code optimizations , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[21]  Wolfgang Rosenstiel,et al.  Probabilistic performance risk analysis at system-level , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[22]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).