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.
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.
Baruah, S. 2003. Dynamic-and static-priority scheduling of recurring real-time tasks. Real-Time Systems 24(1): 93–128.
Benveniste, A., and Berry, G. 1991. The synchronous approach to reactive and real-time systems. Proceedings of the IEEE 79(9): 1270–1282.
Berry, G., and Gonthier, G. 1992. The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming 19(2): 87–152.
Bremond, P., and Lee, I. 1997. A process algebra of communicating shared resources with dense time and priorities. Theoretical Computer Science 189: 179–219.
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.
Buttazzo, G., 1997. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Boston: Kluwer Academic Publishers.
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.
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.
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.
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.
Lee, E. 2001. Overview of the Ptolemy Project. Technical Report UCB/ERL M01/11, University of California Berkeley.
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.
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.
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.
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.
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.
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.
Ungerer, T., Robic, B., and Silc, J. 2003. A survey of processors with explicit multithreading. ACM Computer Survey 35(1): 29–63.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/B:TIME.0000045316.66276.6e