Skip to main content
Log in

Design for Timing Predictability

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • 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.

  • 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 

  • Baruah, S. 2003. Dynamic-and static-priority scheduling of recurring real-time tasks. Real-Time Systems 24(1): 93–128.

    Google Scholar 

  • 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 

  • Berry, G., and Gonthier, G. 1992. The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming 19(2): 87–152.

    Google Scholar 

  • 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 

  • 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 

  • Buttazzo, G., 1997. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Boston: Kluwer Academic Publishers.

    Google Scholar 

  • 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.

  • 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.

  • 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 

  • Halang, W. A. 2004. Simplicity considered fundamental to design for predictability. Dagstuhl Workshop Design for Predictability, http://www.dagstuhl.de/03471/Talks/.

  • 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 

  • Hennessy, J., and Patterson, D. 2003. Computer Architecture: A quantitative approach. Morgan Kauffmann.

  • 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.

  • 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 

  • Kopetz, H. 1997. Real-Time Systems Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers.

  • 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.

  • Larsen, K., Petterson, P., and Yi, W. 1997. UPAAL in a nutshell. Journal on Software Tools for Technology Transfer 1: 134–152.

    Google Scholar 

  • Lee, E. 2001. Overview of the Ptolemy Project. Technical Report UCB/ERL M01/11, University of California Berkeley.

    Google Scholar 

  • 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 

  • 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.

  • Lundquist, T., and Stenström, P. 1999. Timing anomalies in dynamically scheduled microprocessors. In 20th IEEE Real-Time Systems Symposium.

  • 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 

  • 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.

  • 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.

  • 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.

  • 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, Taiwan

  • Richter, K., Jersak, M., and Ernst, R. 2002. A formal approach to MpSoC performance verification. IEEE Computer.

  • Schneider, J. 2003. Combined schedulability and WCET analysis for real-time operating systems. Ph.D. thesis, Saarland University.

  • Sriram, S., and Bhattacharyya, S. S. 2000. Embedded Multiprocessors: Scheduling and Synchronization. Marcel Dekker Inc.

  • Steinke, S., Wehmeyer, L., Lee, B., and Marwedel, P. 2002 Assigning program and data objects to scratchpad for energy reduction. In DATE Conference 2002.

  • 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 

  • 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.

  • 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 

  • 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 

  • 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 

  • Ungerer, T., Robic, B., and Silc, J. 2003. A survey of processors with explicit multithreading. ACM Computer Survey 35(1): 29–63.

    Google Scholar 

  • VCC, The Cadence Virtual Component Co-design (VCC). http://www.cadence.com/products/vcc.html.

  • Wehmeyer, L., and Marwedel, P. 2004. Influence on onchip scratchpad memories on WCET prediction. In Euromicro Workshop WCET 2004. Catania, Sicily.

  • Wilhelm, R., Engblom, J., Thesing, S., and Whalley, D. 2004. The Determination of Worst-Case Execution Times—Introduction and Survey of Available Tools (submitted).

  • 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.

  • 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.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Thiele, L., Wilhelm, R. Design for Timing Predictability. Real-Time Systems 28, 157–177 (2004). https://doi.org/10.1023/B:TIME.0000045316.66276.6e

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:TIME.0000045316.66276.6e

Keywords

Navigation