Avoiding timing problems in real-time software

To safely establish the correct timing of a real-time processing node, adequate architectural structures have to be used. This refers to the hardware architecture of the processing node as well as the software architecture of its operating system and application software. This paper presents architectures that allow for a well structured and simple timing analysis. First, it presents solutions for cleanly splitting the overall timing analysis into schedulability analysis and task worst-case execution time analysis. Second, it presents a programming strategy that yields software that is highly temporally predictable and easy to analyze for its worst-case execution time.

[1]  Alan Burns,et al.  Writing temporally predictable code , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[2]  Jay K. Strosnider,et al.  SMART (strategic memory allocation for real-time) cache design using the MIPS R3000 , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[3]  Peter P. Puschner Algorithms for dependable hard real-time systems , 2003, Proceedings of the Eighth International Workshop on Object-Oriented Real-Time Dependable Systems, 2003. (WORDS 2003)..

[4]  Zary Segall,et al.  MACS: a predictable architecture for real time systems , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[5]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[6]  D. B. Kirk,et al.  SMART (strategic memory allocation for real-time) cache design , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[7]  Sang Lyul Min,et al.  A dual-mode instruction prefetch scheme for improved worst case and average case program execution times , 1993, 1993 Proceedings Real-Time Systems Symposium.

[8]  Jörn Schneider Why You Can't Analyze RTOSs without Considering Applications and Vice Versa , 2002 .

[9]  Peter P. Puschner Transforming Execution-Time Boundable Code into Temporally Predictable Code , 2002, DIPES.

[10]  Frank Mueller,et al.  Compiler support for software-based cache partitioning , 1995, Workshop on Languages, Compilers, & Tools for Real-Time Systems.

[11]  Jochen Liedtke,et al.  OS-controlled cache predictability for real-time systems , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[12]  Ken Kennedy,et al.  Conversion of control dependence to data dependence , 1983, POPL '83.

[13]  Jane W.-S. Liu Real-Time Systems , 2000, Encyclopedia of Algorithms.