Advertisement

Worst-case execution-time analysis for embedded real-time systems

  • Jakob Engblom
  • Andreas Ermedahl
  • Mikael Sjödin
  • Jan Gustafsson
  • Hans Hansson
Special section: An experience in the establishment of collaboration between academia and industry

Abstract

In this article we give an overview of the worst-case execution time (WCET) analysis research performed by the WCET group of the ASTEC Competence Centre at Uppsala University. Knowing the WCET of a program is necessary when designing and verifying real-time systems. The WCET depends both on the program flow, such as loop iterations and function calls, and on hardware factors, such as caches and pipelines. WCET estimates should be both safe (no underestimation allowed) and tight (as little overestimation as possible). We have defined a modular architecture for a WCET tool, used both to identify the components of the overall WCET analysis problem, and as a starting point for the development of a WCET tool prototype. Within this framework we have proposed solutions to several key problems in WCET analysis, including representation and analysis of the control flow of programs, modeling of the behavior and timing of pipelines and other low-level timing aspects, integration of control flow information and low-level timing to obtain a safe and tight WCET estimate, and validation of our tools and methods. We have focussed on the needs of embedded real-time systems in designing our tools and directing our research. Our long-term goal is to provide WCET analysis as a part of the standard tool chain for embedded development (together with compilers, debuggers, and simulators). This is facilitated by our cooperation with the embedded systems programming-tools vendor IAR Systems.

Keywords

WCET analysis  Software architecture  Programming tools  Embedded systems  Hard real-time 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Audsley, N., Burns, A., Davis, K., Tindell, R., Wellings A.: Fixed priority pre-emptive scheduling: an historical perspective. Real-Time Syst 8(2/3):129–154, 1995 Google Scholar
  2. 2.
    Altenbernd, P.: On the false path problem in hard real-time programs. In: Proc. 8th Euromicro Workshop of Real-Time Systems, pp. 102–107, 1996 Google Scholar
  3. 3.
    ARM (Advanced Risc Machines) WWW Homepage.: URL: http://www.arm.com Google Scholar
  4. 4.
    Aho, A., Sethi, R., Ullman, J.: Compilers: principles, techniques and tools. Addison-Wesley, Reading, Mass., USA, 1986. Generally known as the “Dragon book” Google Scholar
  5. 5.
    Bate, I., Bernat, G., Murphy, G., Puschner, P.: Low-level analysis of a portable java byte code WCET analysis framework. In: Proc. 7th International Conference on Real-Time Computing Systems and Applications (RTCSA’00), pp. 39–48, 2000 Google Scholar
  6. 6.
    Bernat, G., Burns, A., Wellings, A.: Portable worst-case execution time analysis using java byte code. In: Proc. 12th Euromicro Conference of Real-Time Systems, (ECRTS’00), pp. 81–88, 2000 Google Scholar
  7. 7.
    Benitez, M.E., Davidson, J.W.: A portable global optimizer and linker. In: Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’98), pp. 329–338, June 1988 Google Scholar
  8. 8.
    Bozga, M., Daws, C., Maler, O., Olivero, A., Tripakis, S., Yovine, S.: KRONOS: a model-checking tool for real-time systems. In: Proc. of the 10th International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol. 1427. Berlin, Heidelberg, New York: Springer, 1998, pp. 546–550 Google Scholar
  9. 9.
    Busquets-Mataix, J.V., Serrano, J.J., Ors, P., Gil, R., Wellings, A.: Adding instruction cache effects to schedulability analysis of preemptive real-time systems. In: Proc. 2nd IEEE Real-Time Technology and Applications Symposium (RTAS’96), June, pp. 204–212. IEEE Computer Society, New York, 1996 Google Scholar
  10. 10.
    Börjesson, H.: Incorporating worst-case execution time in a commercial c-compiler. Master’s thesis, Department of Computer Systems, Uppsala University, December 1995. DoCS MSc Thesis 95/69 Google Scholar
  11. 11.
    Bermudo, N., Vera, X., González, A., Llosa, J.: An efficient solver for cache miss equations. In: IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS’00), 2000 Google Scholar
  12. 12.
    Chapman, R., Burns, A., Wellings, A.: Integrated program proof and worst-case timing analysis of SPARK Ada. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems (LCT-RTS’94), 1994 Google Scholar
  13. 13.
    Cousot, P.: Abstract interpretation. ACM Comput Surv 28(2):324–328, 1996 Google Scholar
  14. 14.
    Colin, A., Puaut, I.: Worst case execution time analysis for a processor with branch prediction. J Real-Time Syst May 2000 Google Scholar
  15. 15.
    Colin, A., Puaut, I.: A modular and retargetable framework for tree-based WCET analysis. In: Proc. 13th Euromicro Conference of Real-Time Systems, (ECRTS’01), June 2001 Google Scholar
  16. 16.
    Colin, A., Puaut, I.: Worst-case execution time analysis for the RTEMS real-time operating system. In: Proc. 13th Euromicro Conference of Real-Time Systems, (ECRTS’01), June 2001 Google Scholar
  17. 17.
    Casparsson, L., Rajnak, A., Tindell, K., Malmberg, P.: Volcano – a revolution in on-board communications. Volvo Technology Report, 1:9–19, 1998 Google Scholar
  18. 18.
    Dean, A., Shen, J.P.: System-level issues for software thread integration: guest triggering and host selection. In: Proc. 20th IEEE Real-Time Systems Symposium (RTSS’99), 1999 Google Scholar
  19. 19.
    Engblom, J., Altenbernd, P., Ermedahl, A.: Facilitating worst-case execution times analysis for optimized code. In: Proc. 10th Euromicro Workshop of Real-Time Systems, pp. 146–153, June 1998 Google Scholar
  20. 20.
    Engblom, J., Ermedahl, A.: Pipeline timing analysis using a trace-driven simulator. In: Proc. 6th International Conference on Real-Time Computing Systems and Applications (RTCSA’99). IEEE Computer Society Press, December 1999 Google Scholar
  21. 21.
    Engblom, J., Ermedahl, A.: Modeling complex flows for worst-case execution time analysis. In: Proc. 21st IEEE Real-Time Systems Symposium (RTSS’00), November 2000 Google Scholar
  22. 22.
    Engblom, J., Ermedahl, A.: Validating a worst-case execution time analysis method for an embedded processor. In: Work-in-Progress Session, 21st IEEE Real-Time Systems Symposium (RTSS’00), November 2000 Google Scholar
  23. 23.
    Ermedahl, A., Gustafsson, J.: Deriving annotations for tight calculation of execution time. In: Proc. 3rd International European Conference on Parallel Processing, (Euro-Par’97), Lecture Notes in Computer Science, vol. 1300. Berlin, Heidelberg, New York: Springer, 1998, pp. 1298–1307 Google Scholar
  24. 24.
    Engblom, J.: Worst-case execution time analysis for optimized code. Master’s thesis, Department of Computer Systems, Uppsala University, September 1997. DoCS MSc Thesis 97/94 Google Scholar
  25. 25.
    Engblom, J.: Static properties of embedded real-time programs, and their implications for worst-case execution time analysis. In: Proc. 5th IEEE Real-Time Technology and Applications Symposium (RTAS’99). IEEE Computer Society, New York, 1999 Google Scholar
  26. 26.
    Erpenbach, E., Stappert, F., Stroop, J.: Compilation and timing analysis of statecharts models for embedded systems. In: Proc. 2nd International Workshop on Compiler and Architecture Support for Embedded Systems, (CASES’99), October 1999 Google Scholar
  27. 27.
    Ernst, R., Ye, W.: Embedded program timing analysis based on path clustering and architecture classification. In: International Conference on Computer-Aided Design (ICCAD ’97), 1997 Google Scholar
  28. 28.
    Ferdinand, C., Martin, F., Wilhelm, R.: Applying compiler techniques to cache behavior prediction. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems (LCT-RTS’97), 1997 Google Scholar
  29. 29.
    Gustafsson, J., Ermedahl, A.: Automatic derivation of path and loop annotations in object-oriented real-time programs. J Parallel Distrib Comput Pract 1998 Google Scholar
  30. 30.
    Ghosh, S., Martonosi, M., Malik, S.: Cache miss equations: a compiler framework for analyzing and tuning memory behavior. In: ACM Transactions on Programming Languages and Systems, 1998 Google Scholar
  31. 31.
    Gustafsson, J.: Analyzing execution-time of object-oriented programs using abstract interpretation. PhD thesis, Department of Computer Systems, Information Technology, Uppsala University, May 2000 Google Scholar
  32. 32.
    Halfhill, T.R.: Embedded market breaks new ground. Microprocessor Report, January 17, 2000 Google Scholar
  33. 33.
    Healy, C., Arnold, R., Müller, F., Whalley, D., Harmon, M.: Bounding pipeline and instruction cache performance. IEEE Trans Comput 48(1), 1999 Google Scholar
  34. 34.
    Henzinger, T.A., Ho, P-H., Wong-Toi, H.: HYTECH: a model checker for hybrid systems. In: Proc. of the 9th International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol. 1254. Berlin, Heidelberg, New York: Springer, 1997, pp. 460–463 Google Scholar
  35. 35.
    Holzmann, G.J.: The model checker spin. IEEE Trans Software Eng 23(5):279–295, 1997 Google Scholar
  36. 36.
    Healy, C., Sjödin, M., Rustagi, V., Whalley, D., van Engelen, R.: Supporting timing analysis by automatic bounding of loop iterations. J Real-Time Syst May 2000 Google Scholar
  37. 37.
    Healy, C., Sjödin, M., Rustagi, V., Whalley, D.: Bounding loop iterations for timing analysis. In: Proc. 4th IEEE Real-Time Technology and Applications Symposium (RTAS’98), June 1998 Google Scholar
  38. 38.
    I-Logix WWW Homepage.: URL: http://www.ilogix.com/smover_c.htm Google Scholar
  39. 39.
    IAR Systems WWW Homepage.: URL: http://www.iar.com Google Scholar
  40. 40.
    IAR Systems.: Reference Applications of VisualSTATE. http://www.iar.dk/products/references.htm Google Scholar
  41. 41.
    IAR Systems.: V850 C/EC++ Compiler Programming Guide, 1st edn. January 1999 Google Scholar
  42. 42.
    ISL (Intelligent Systems Laboratory).: SICStus Prolog user’s manual. ISBN 91-630-3648-7, Swedish Institute of Computer Science, 1995 Google Scholar
  43. 43.
    Kim, S.-K., Min, S.L., Ha, R.: Efficient worst case timing analysis of data caching. In: Proc. 2nd IEEE Real-Time Technology and Applications Symposium (RTAS’96), pp. 230–240, 1996 Google Scholar
  44. 44.
    Lim, S.-S., Bae, Y.H., Jang, C.T., Rhee, B.-D., Min, S.L., Park, C.Y., Shin, H., Park, K., Ki, C.S.: An accurate worst-case timing analysis for RISC processors. IEEE Trans Software Eng 21(7):593–604, 1995 Google Scholar
  45. 45.
    Liu, Y.A., Gomez, G.: Automatic accurate time-bound analysis for high-level languages. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES’98), 1998 Google Scholar
  46. 46.
    Lim, S.-S., Han, J.H., Kim, J., Min, S.L.: A worst case timing analysis technique for multiple-issue machines. In: Proc. 19th IEEE Real-Time Systems Symposium (RTSS’98), December 1998 Google Scholar
  47. 47.
    Lee, C., Han, J., Seo, Y., Min, S., Ha, R., Hong, S., Park, C., Lee, M., Kim, C.: Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. In: Proc. 17th IEEE Real-Time Systems Symposium (RTSS’96), December 1996 Google Scholar
  48. 48.
    Lindgren, M.: Measurements and simulation based techniques for real-time systems analysis. Licentiate Thesis, Uppsala University of Technology, Uppsala, Sweden, 2000 Google Scholar
  49. 49.
    Lim, S-S., Kim, J., Min, S.L.: A worst case timing analysis technique for optimized programs. In: Proc. 5th International Conference on Real-Time Computing Systems and Applications (RTCSA’98), pp. 151–157, Oct 1998 Google Scholar
  50. 50.
    Liu, C., Layland, J.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM, 20(1):46–61, 1973 Google Scholar
  51. 51.
    Li, Y-T.S., Malik, S.: Performance analysis of embedded software using implicit path enumeration. In: Proc. of the 32nd Design Automation Conference, pp. 456–461, 1995 Google Scholar
  52. 52.
    Li, Y-T.S., Malik, S., Wolfe, A.: Cache modelling for real-time software: beyond direct mapped instruction caches. In: Proc. 17th IEEE Real-Time Systems Symposium (RTSS’96), pp. 254–263. IEEE Computer Society, December 1996 Google Scholar
  53. 53.
    Larsen, K.G., Pettersson, P., Yi, W.: Uppaal in a nutshell,. Int J Software Tools Technol Transfer 1(1–2):134–152, 1997 Google Scholar
  54. 54.
    Lundqvist, T., Stenström, P.: Integrating path and timing analysis using instruction-level simulation techniques. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES’98), June 1998 Google Scholar
  55. 55.
    Microprocessor Report.: Tera-Gen Reveals 8-bit Threaded Processor. Microprocessor Report, January 25, 1999 Google Scholar
  56. 56.
    Muchnick, S.S.: Advanced compiler design. San Francisco: Morgan Kaufmann, 1997 Google Scholar
  57. 57.
    Müller, F.: Timing predictions for multi-level caches. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems (LCT-RTS’97), pp. 29–36, Jun 1997 Google Scholar
  58. 58.
    NEC Corporation.: V850E/MS1 32/16-bit Single Chip Microcontroller: Architecture, 3rd edn. January 1999. Document no. U12197EJ3V0UM00 Google Scholar
  59. 59.
    Ottosson, G., Sjödin, M.: Worst-case execution time analysis for modern hardware architectures. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems (LCT-RTS’97), June 1997 Google Scholar
  60. 60.
    Park, C.Y.: Predicting program execution times by analyzing static and dynamic program paths. Real-Time Syst 5(1):31–62, 1993 Google Scholar
  61. 61.
    Petters, S., Färber, G.: Making worst-case execution time analysis for hard real-time tasks on state of the art processors feasible. In: Proc. 6th International Conference on Real-Time Computing Systems and Applications (RTCSA’99), December 1999 Google Scholar
  62. 62.
    Persson, P., Hedin, G.: Interactive execution time predictions using reference attributed grammars. In: Proc. of the 2nd Workshop on Attribute Grammars and their Applications (WAGA’99), Amsterdam, Netherlands, pp. 173–184, August 1998 Google Scholar
  63. 63.
    Puschner, P., Koza, C.: Calculating the maximum execution time of real-time programs. J Real-Time Syst, 1(1):159–176, 1989 Google Scholar
  64. 64.
    Park, C.Y., Shaw, A.C.: Experiments with a program timing tool based on a source-level timing schema. In: Proc. 11th IEEE Real-Time Systems Symposium (RTSS’90), pp. 72–81, December 1990 Google Scholar
  65. 65.
    Puschner, P., Schedl, A.: Computing maximum task execution times with linear programming techniques. Technical report, Technische Universität, Institut für Technische Informatik, Wien, April 1995 Google Scholar
  66. 66.
    Raymond, E.: The Jargon File, version 4.2.0. URL: http://www.tuxedo.org/~esr/jargon/html/index.html, February 2000 Google Scholar
  67. 67.
    Runeson, J.: Code compression through procedural abstraction before register allocation. Master’s thesis, Department of Information Technology, Uppsala University, March 2000 Google Scholar
  68. 68.
    Stappert, F., Altenbernd, P.: Complete worst-case execution time analysis of straight-line hard real-time programs. J Syst Archit 46(4):339–355, 2000 Google Scholar
  69. 69.
    Scenix Semiconductor Inc.: Scenix SX Family User’s Manual, 3rd edn. 2000 Google Scholar
  70. 70.
    Schneider, J.: Cache and pipeline sensitive fixed priority scheduling for preemptive real-time systems. In: Proc. 21st IEEE Real-Time Systems Symposium (RTSS’00), pp. 195–204, Nov 2000 Google Scholar
  71. 71.
    Schneider, J., Ferdinand C.: Pipeline behaviour prediction for superscalar processors by abstract interpretation. In: Proc. ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES’99), May 1999 Google Scholar
  72. 72.
    Seppänen, V., Kähkönen, A-M., Oivo, M., Perunka, H., Isomursu, P., Pulli, P.: Strategic needs and future trends of embedded software. Technical Report Technology Review 48/96, TEKES Technology Development Center, Oulu, Finland, October 1996 Google Scholar
  73. 73.
    Telelogic WWW Homepage.: URL: http://www.telelogic.com/tau4 Google Scholar
  74. 74.
    David Tennenhouse (Intel Director of Research).: Keynote Speech at the 20th IEEE Real-Time Systems Symposium (RTSS’99), Phoenix, Ariz., December 1999 Google Scholar
  75. 75.
    White, R., Müller, F., Healy, C., Whalley, D., Harmon, M.: Timing Analysis for Data Caches and Set-Associative Caches. In: Proc. 3rd IEEE Real-Time Technology and Applications Symposium (RTAS’97), pp. 192–202, June 1997Google Scholar

Copyright information

© Springer-Verlag 2002

Authors and Affiliations

  • Jakob Engblom
    • 1
    • 2
  • Andreas Ermedahl
    • 1
  • Mikael Sjödin
    • 3
  • Jan Gustafsson
    • 4
  • Hans Hansson
    • 4
    • 1
  1. 1.Department of Information TechnologyUppsala UniversityUppsalaSweden
  2. 2.IAR SystemsUppsalaSweden
  3. 3.Melody Interactive SolutionsUppsalaSweden
  4. 4.Mälardalen Real-Time Research CentreMälardalen UniversityVästeråsSweden

Personalised recommendations