A Flexible Scheduling Framework for Deeply Embedded Systems

Typical embedded systems must perform rather complex control and communication tasks with severely restricted computing resources. Due to these contraints most systems are single threaded and follow either a time-triggered or event-driven model of computation. Furthermore, most often soft or hard real-time constraints must be obeyed, too. Thus the choice of suitable scheduling policies is a crucial issue. In this paper we present a flexible scheduling framework for such systems that allows the static configuration of scheduling mechanisms and policies according to highly specific application demands. We discuss software engineering issues, provide important implementation details of our scheduling framework and analyse different scheduling schemes.

[1]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[2]  Gerald Baumgartner,et al.  Signatures: A language extension for improving type abstraction and subtype polymorphism in C++ , 1995, Softw. Pract. Exp..

[3]  Hermann Kopetz,et al.  The time-triggered architecture , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[4]  Jörg Würtz,et al.  Off-line scheduling of a real-time system , 1998, SAC '98.

[5]  Danilo Beuche,et al.  On the Development of Object-Oriented Operating Systems for Deeply Embedded Systems - The PURE Project , 1999, ECOOP Workshops.

[6]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[7]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[8]  P Black Andrew,et al.  Timber: A Programming Language for Real-Time Embedded Systems , 2002 .

[9]  Anton Cervin,et al.  Integrated Control and Real-Time Scheduling , 2003 .

[10]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[11]  Giorgio C. Buttazzo,et al.  Rate Monotonic vs. EDF: Judgment Day , 2003, Real-Time Systems.

[12]  Jörg Würtz,et al.  Scheduling of Time-Triggered Real-Time Systems , 2000, Constraints.

[13]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[14]  Takanori Yokoyama,et al.  An aspect-oriented development method for embedded control systems with time-triggered and event-triggered processing , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[15]  Per Lindgren,et al.  Timber as an RTOS for small embedded devices , 2005 .

[16]  Rimon Barr,et al.  Design and implementation of a single system image operating system for ad hoc networks , 2005, MobiSys '05.

[17]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[18]  John Baillieul,et al.  Handbook of Networked and Embedded Control Systems , 2005, Handbook of Networked and Embedded Control Systems.

[19]  J. Nolte,et al.  Event-Flow and Synchronization in Single Threaded Systems , 2006 .

[20]  Rolf Kraemer,et al.  Transforming Protocol Specifications for Wireless Sensor Networks into Efficient Embedded System Implementations , 2006, EWSN.

[21]  Fabian Scheler,et al.  Time-Triggered vs. Event-Triggered: A matter of configuration? , 2006 .

[22]  Bjarne Stroustrup,et al.  Specifying C++ concepts , 2006, POPL '06.

[23]  William S. Levine,et al.  Handbook Of Networked And Embedded Control Systems , 2007 .

[24]  Thomas A. Henzinger,et al.  The embedded machine: predictable, portable real-time code , 2002, PLDI '02.