Real-Time Systems

, Volume 28, Issue 2–3, pp 157–177 | Cite as

Design for Timing Predictability

  • Lothar Thiele
  • Reinhard Wilhelm


A large part of safety-critical embedded systems has to satisfy hard real-time constraints. These need sound methods and tools to derive run-time guarantees that are not only reliable but also precise. The achievable precision highly depends on characteristics of the target architecture, the implementation methods and system layers of the software. Trends in hardware and software design run contrary to predictability. This article describes threats to timing predictability of systems, and proposes design principles that support timing predictability. The ultimate goal is to design performant systems with sharp upper and lower bounds on execution times.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Atanassov, P., and Puschner, P. 2001. Impact of DRAM refresh on the execution time of real-time tasks. In Workshop on Application of Reliable Computing and Communication.Google Scholar
  2. Bacon, D. E., Cheng, P., and Rajan, V. T. 2003. A real-time garbage collector with low overhead and consistent utilization. SIGPLAN Not. 38(1): 285–298.Google Scholar
  3. Baruah, S. 2003. Dynamic-and static-priority scheduling of recurring real-time tasks. Real-Time Systems 24(1): 93–128.Google Scholar
  4. Benveniste, A., and Berry, G. 1991. The synchronous approach to reactive and real-time systems. Proceedings of the IEEE 79(9): 1270–1282.Google Scholar
  5. Berry, G., and Gonthier, G. 1992. The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming 19(2): 87–152.Google Scholar
  6. Bremond, P., and Lee, I. 1997. A process algebra of communicating shared resources with dense time and priorities. Theoretical Computer Science 189: 179–219.Google Scholar
  7. Bucci, G., and Vicario, E. 1995. Compositional verification of time-critical systems using communicating time Petri nets. IEEE Transactions on Software Engineering 21(12): 969–992.Google Scholar
  8. Buttazzo, G., 1997. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Boston: Kluwer Academic Publishers.Google Scholar
  9. Chakraborty, S., Künzli, S., and Thiele, L. 2003. A general framework for analysing system properties in platform-based embedded system designs. In Proceedings of the 6th Design, Automation and Test in Europe (DATE). Munich, Germany.Google Scholar
  10. Ferdinand, C., Heckmann, R., Langenbach, M., Martin, F., Schmidt, M., Theiling, H., Thesing, S., and Wilhelm, R. 2001. Reliable and precise WCET determination for a real-life processor. In T. Henzinger and C. Kirsch (eds). Embedded Software. Lecture Notes in Computer Science, Vol. 2211. Springer, pp. 469–485.Google Scholar
  11. Girault, A., and Ménier, C. 2002. Automatic production of globally asynchronous locally synchronous systems. In A. Sangiovanni-Vincentelli and J. Sifakis (eds), 2nd International Workshop on Embedded Software, EMSOFT'02. LNCS, Vol. 2491. Grenoble, France: Springer-Verlag, pp. 266–281.Google Scholar
  12. Halang, W. A. 2004. Simplicity considered fundamental to design for predictability. Dagstuhl Workshop Design for Predictability, Scholar
  13. Heckmann, R., Langenbach, M., Thesing, S., and Wilhelm, R. 2003. The influence of processor architecture on the design and the results of WCET Tools. IEEE Proceedings on Real-Time Systems 91(7): 1038–1054.Google Scholar
  14. Hennessy, J., and Patterson, D. 2003. Computer Architecture: A quantitative approach. Morgan Kauffmann.Google Scholar
  15. Henzinger, T., Horowitz, B., and Kirsch, C. 2001. Embedded control systems development with Giotto. In Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems LCTES.Google Scholar
  16. Henzinger, T., Nicollin, X., Sifakis, J., and Yovine, S. 1994. Symbolic model checking for real-time systems. Information and Computation 111: 193–244.Google Scholar
  17. Kopetz, H. 1997. Real-Time Systems Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers.Google Scholar
  18. Lahiri, K., Raghunathan, A., and Dey, S. 2001. Evaluation of the traffic performance characteristics of system-on-chip architectures. In Proceedings of the International Conference VLSI Design. pp. 29–35.Google Scholar
  19. Larsen, K., Petterson, P., and Yi, W. 1997. UPAAL in a nutshell. Journal on Software Tools for Technology Transfer 1: 134–152.Google Scholar
  20. Lee, E. 2001. Overview of the Ptolemy Project. Technical Report UCB/ERL M01/11, University of California Berkeley.Google Scholar
  21. Lee, E., and Messerschmitt, D. 1987. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers C-36(1): 24–35.Google Scholar
  22. Lee, I., Bremond, P., and Gerber, R. 1994. A process algebraic approach to the specification and analysis of resource-bound real-time systems. In Proceedings of the IEEE.Google Scholar
  23. Lundquist, T., and Stenström, P. 1999. Timing anomalies in dynamically scheduled microprocessors. In 20th IEEE Real-Time Systems Symposium.Google Scholar
  24. Lundqvist, T. 2002. A WCET analysis method for pipelined microprocessors with cache memories. Ph.D. thesis, Chalmers University of Technology, Göteborg, Sweden.Google Scholar
  25. Maler, O., Pnueli, A., and Sifakis, J. 1995. On the synthesis of discrete controllers for timed systems. In E. Mayr and C. Puech (eds), STACS95, Vol. 900 of Springer LNCS. Springer Verlag, pp. 292–242.Google Scholar
  26. Pop, P., Eles, P., and Zeng, P. 2003. Schedulability analysis and optimization for the synthesis of multi-cluster distributed embedded systems. In Proceedings of the Design Automation and Test in Europe Conference. pp. 184–189.Google Scholar
  27. Puschner, P., and Burns, A. 2002. Writing temporally predictable code. In Proceedings of the 7th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. San Diego, CA, U.S.A., pp. 85–91.Google Scholar
  28. Rakib, A., Parshin, O., Thesing, S., and Wilhelm, R. 2004. Component-wise instruction-cache-behavior prediction. In Proceedings of 2nd International Symposium on Automated Technology for Verification and Analysis, TaiwanGoogle Scholar
  29. Richter, K., Jersak, M., and Ernst, R. 2002. A formal approach to MpSoC performance verification. IEEE Computer.Google Scholar
  30. Schneider, J. 2003. Combined schedulability and WCET analysis for real-time operating systems. Ph.D. thesis, Saarland University.Google Scholar
  31. Sriram, S., and Bhattacharyya, S. S. 2000. Embedded Multiprocessors: Scheduling and Synchronization. Marcel Dekker Inc.Google Scholar
  32. Steinke, S., Wehmeyer, L., Lee, B., and Marwedel, P. 2002 Assigning program and data objects to scratchpad for energy reduction. In DATE Conference 2002.Google Scholar
  33. Strehl, K., Thiele, L., Gries, M., Ziegenbein, D., Ernst, R., and Teich, J. 2001. Funstate—An internal design representation for codesign. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 9(4): 524–544.Google Scholar
  34. Thesing, S., Souyris, J., Heckmann, R., Randimbivololona, F., Langenbach, M., Wilhelm, R., and Ferdinand, C. 2003. An abstract interpretation-based timing validation of hard real-time avionics software systems. In Proceedings of the Performance and Dependability Symposium, San Francisco, CA.Google Scholar
  35. Thiele, L., Chakraborty, S., Gries, M., Maxiaguine, A., and Greutert, J. 2001. Embedded software in network processors—models and algorithms. In Proceedings of the 1st Workshop on Embedded Software (EMSOFT). LNCS 221. Lake Tahoe, CA, U.S.A., Springer Verlag, pp. 416–434.Google Scholar
  36. Thiele, L., Chakraborty, S., and Naedele, M. 2000. Real-time calculus for scheduling hard real-time systems. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS). Vol. 4. pp. 101–104.Google Scholar
  37. Tindell, K., and Clark, J. 1994. Holistic schedulability analysis for distributed hard real-time systems. Microprocessing and Microprogramming—Euromicro Journal (Special Issue on Parallel Embedded Real-Time Systems) 40: 117–134.Google Scholar
  38. Ungerer, T., Robic, B., and Silc, J. 2003. A survey of processors with explicit multithreading. ACM Computer Survey 35(1): 29–63.Google Scholar
  39. VCC, The Cadence Virtual Component Co-design (VCC). Scholar
  40. Wehmeyer, L., and Marwedel, P. 2004. Influence on onchip scratchpad memories on WCET prediction. In Euromicro Workshop WCET 2004. Catania, Sicily.Google Scholar
  41. Wilhelm, R., Engblom, J., Thesing, S., and Whalley, D. 2004. The Determination of Worst-Case Execution Times—Introduction and Survey of Available Tools (submitted).Google Scholar
  42. Wilhelm, R., Engblom, J., Thesing, S., and Whalley, D. B. 2003. Industrial requirements for WCET tools answers to the ARTIST questionnaire. In WCET 2003. pp. 25–29.Google Scholar
  43. Ziegenbein, D., Richter, K., Ernst, R., Thiele, L., and Teich, J. 2002. SPI—a system model for heterogeneously specified embedded systems In IEEE Transactions on Very Large Scale Integration (VLSI) Systems.Google Scholar

Copyright information

© Kluwer Academic Publishers 2004

Authors and Affiliations

  • Lothar Thiele
    • 1
  • Reinhard Wilhelm
    • 2
  1. 1.Department of Information Technology and Electrical EngineeringETH ZürichSwitzerland
  2. 2.InformatikUniversität des SaarlandesSaarbrückenGermany

Personalised recommendations