Abstract RTOS modeling for embedded systems

Raising the abstraction level is widely seen as a solution to increase productivity, in order to handle the growing complexity of real-time embedded applications and the time-to-market pressures. In this context, the use of a real-time operating system (RTOS) becomes extremely important to the development of applications with real-time systems requirements. However, the use of a detailed RTOS at early design phases is a contra sense, and the existing system level description languages (SLDL) lack support for RTOS modeling at higher abstraction levels. In this paper, we introduce an abstract RTOS model, and a set of refinement steps that allows refining the abstract model to an implementation model at lower abstraction levels. This abstract RTOS model provides the main features available in a typical RTOS, permitting the designer to model parallel and concurrent behavior of real-time embedded applications at higher abstraction levels. We use SystemC language with some extensions to build the abstract RTOS model, allowing a quick evaluation of different scheduling algorithms and synchronization mechanisms at the early stage of system design. An experimental result with a telecom system that consists of fifty tasks with four priority levels shows the usefulness of this model.

[1]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[2]  M.A. Dziri,et al.  Combining architecture exploration and a path to implementation to build a complete SoC design flow from system specification to RTL , 2003, Proceedings of the ASP-DAC Asia and South Pacific Design Automation Conference, 2003..

[3]  Hugo De Man,et al.  Operating system based software generation for systems-on-chip , 2000, Proceedings 37th Design Automation Conference.

[4]  Jan Madsen,et al.  Abstract RTOS modeling for multiprocessor system-on-chip , 2003, Proceedings. 2003 International Symposium on System-on-Chip (IEEE Cat. No.03EX748).

[5]  Bruce Jacob,et al.  Hardware support for real-time operating systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[6]  Soonhoi Ha,et al.  Virtual synchronization technique with OS modeling for fast and time-accurate cosimulation , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[7]  Wayne H. Wolf,et al.  Computers as components - principles of embedded computing system design , 2005 .

[8]  Luciano Lavagno,et al.  Task generation and compile-time scheduling for mixed data-control embedded software , 2000, Proceedings 37th Design Automation Conference.

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

[10]  Sharad Malik,et al.  Synthesizing operating system based device drivers in embedded systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[11]  Axel Jantsch,et al.  Device Driver and DMA Controller Synthesis from HW /SW Communication Protocol Specifications , 2001, Des. Autom. Embed. Syst..

[12]  Daniel Gajski,et al.  Transaction level modeling: an overview , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

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

[14]  Ahmed Amine Jerraya,et al.  Automatic generation and targeting of application specific operating systems and embedded systems software , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[15]  Hiroyuki Tomiyama,et al.  Modeling Fixed-Priority Preemptive Multi-Task Systems in SpecC , 2001 .

[16]  Lennart Lindh,et al.  Real-time kernel in hardware RTU: a step towards deterministic and high-performance real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.