Employing Two 'Sandwich Delay' Mechanisms to Enhance Predictability of Embedded Systems Which Use Time-Triggered Co-Operative Architectures

In many real-time resource-constrained embedded systems, highly-predictable system behavior is a key design requirement. The “time-triggered co-operative” (TTC) scheduling algorithm provides a good match for a wide range of low-cost embedded applications. As a consequence of the resource, timing, and power constraints, the implementation of such algorithm is often far from trivial. Thus, basic implementation of TTC algorithm can result in excessive levels of task jitter which may jeopardize the predictability of many time-critical applications using this algorithm. This paper discusses the main sources of jitter in earlier TTC implementations and develops two alternative implementations – based on the employment of “sandwich delay” (SD) mechanisms – to reduce task jitter in TTC system significantly. In addition to jitter levels at task release times, we also assess the CPU, memory and power requirements involved in practical implementations of the proposed schedulers. The paper concludes that the TTC scheduler implementation using “multiple timer interrupt” (MTI) technique achieves better performance in terms of timing behavior and resource utilization as opposed to the other implementation which is based on a simple SD mechanism. Use of MTI technique is also found to provide a simple solution to “task overrun” problem which may degrade the performance of many TTC systems.

[1]  A. J. Jerri Correction to "The Shannon sampling theorem—Its various extensions and applications: A tutorial review" , 1979 .

[2]  Jing Zhang,et al.  An extensible software framework for reliable distributed embedded system modeling , 2010, 2010 2nd International Asia Conference on Informatics in Control, Automation and Robotics (CAR 2010).

[3]  Iain John Bate,et al.  Scheduling and timing analysis for safety critical real-time systems , 1998 .

[4]  A. J. Jerri The Shannon sampling theorem—Its various extensions and applications: A tutorial review , 1977, Proceedings of the IEEE.

[5]  S. T. Allworth,et al.  Introduction to Real-time Software Design , 1987 .

[6]  Wolfgang Schröder-Preikschat,et al.  The RTSC: Leveraging the Migration from Event-Triggered to Time-Triggered Systems , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[7]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[8]  Ricardo Bautista-Quintero,et al.  Meeting Real-Time Constraints Using "Sandwich Delays" , 2009, Trans. Pattern Lang. Program..

[9]  L. David LISI A Solution to the Time Jitter Removal in Deadline Based Scheduling of Real-time Applications , .

[10]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[11]  Bo Zhang Specifying and Verifying Timing Properties of a Time-triggered Protocol for In-vehicle Communication , 2008, 2008 Ninth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing.

[12]  Michael J. Pont,et al.  The maintenance and evolution of resource-constrained embedded systems created using design patterns , 2007, J. Syst. Softw..

[13]  Michael J. Pont,et al.  Fault-Tolerant Time-Triggered Communication Using CAN , 2007, IEEE Transactions on Industrial Informatics.

[14]  Teera Phatrapornnant,et al.  Reducing jitter in embedded systems employing a time-triggered software architecture and dynamic voltage scaling , 2006, IEEE Transactions on Computers.

[15]  Stephen R. Gulliver,et al.  The Perceptual Influence of Multimedia Delay and Jitter , 2007, 2007 IEEE International Conference on Multimedia and Expo.

[16]  Nimal Nissanke Realtime systems , 1997, Prentice Hall series in computer science.

[17]  C. Douglas Locke,et al.  Software architecture for hard real-time applications: Cyclic executives vs. fixed priority executives , 1992, Real-Time Systems.

[18]  Theodore P. Baker,et al.  The cyclic executive model and Ada , 2006, Real-Time Systems.

[19]  Michael J. Pont,et al.  Designing embedded systems using patterns: A case study , 2004, J. Syst. Softw..

[20]  Michael J. Pont Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers , 2001 .

[21]  Alan Burns,et al.  Concurrent and Real-Time Programming in Ada 2005: Preface , 2007 .

[22]  Michael J. Pont,et al.  Reducing the impact of task overruns in resource-constrained embedded systems in which a time-triggered software architecture is employed , 2008 .

[23]  Andy J. Wellings Concurrent and real-time programming in Java , 2004 .

[24]  Roman Obermaisser,et al.  Event-Triggered and Time-Triggered Control Paradigms , 2004, Real-Time Systems Series.

[25]  Martin Törngren,et al.  Fundamentals of Implementing Real-Time Control Applications in Distributed Computer Systems , 1998, Real-Time Systems.

[26]  Alan C. Shaw,et al.  Real-time systems and software , 2001 .

[27]  Wolfgang A. Halang,et al.  Comparative evaluation of high-level real-time programming languages , 2005, Real-Time Systems.

[28]  Gerhard Fohler,et al.  Jitter compensation for real-time control systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[29]  R. E. Kontak Applicability of Ada tasking for avionics executives , 1988, Proceedings of the IEEE 1988 National Aerospace and Electronics Conference.

[30]  Robert Bosch,et al.  Comparison of Event-Triggered and Time-Triggered Concepts with Regard to Distributed Control Systems , 2004 .

[31]  Neil R. Storey,et al.  Safety-critical computer systems , 1996 .

[32]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .