Skip to main content
Log in

Computing Maximum Task Execution Times — A Graph-Based Approach

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

Abstract

The knowledge of program execution times is crucial for the development and the verification of real-time software. Therefore, there is a need for methods and tools to predict the timing behavior of pieces of program code and entire programs.

This paper presents a novel method for the analysis of program execution times. The computation of MAximum eXecution Times (MAXTs) is mapped onto a graph-theoretical problem that is a generalization of the computation of a maximum cost circulation in a directed graph. Programs are represented by T-graphs, timing graphs, which are similar to flow graphs. These graphs reflect the structure and the timing behavior of the code. Relative capacity constraints, a generalization of capacity constraints that bound the flow in the edges, express user-supplied information about infeasible paths. To compute MAXTs, T-graphs are searched for those execution paths which correspond to a maximum cost circulation. The search problem is transformed into an integer linear programming problem. The solution of the linear programming problem yields the MAXT.

The special merits of the presented method are threefold: It uses a concise notation to characterize the static structure of a program and its possible execution paths. Furthermore, the notation allows for a description of the feasible paths through the program code that characterizes the behavior of the code sufficiently to compute the exact maximum execution time of the program – not just a bound thereof. Finally, linear program solving does not only yield maximum execution times, but also produces detailed information about the execution time and the number of executions of every single program construct in the worst case. This knowledge is valuable for a more comprehensive analysis of the timing of a program.

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

  • Amerasinghe, P. A Universal Hardware Simulator. Undergraduate Honors Thesis, Dept. of Computer Sciences, University of Texas, Austin, TX, USA, Dec. 1985.

    Google Scholar 

  • Chen, M. A Timing Analysis Language – (TAL). Programmer's Manual, Dept. of Computer Sciences, University of Texas, Austin, TX, USA, 1987.

    Google Scholar 

  • Hillier, F.S. and Lieberman, G.J. Operations Research. Internationale Standardlehrbücher der Wirtschafts-und Sozialwissenschaften. R. Oldenbourg; Wien, München, 1988.

    Google Scholar 

  • Jungnickel, D. Graphen, Netzwerke und Algorithmen. BI-Wissenschaftsverlag, Mannheim, Wien, Zürich, 2nd edition, 1990.

    Google Scholar 

  • Kligerman, E. and Stoyenko, A. Real-time Euclid: A language for reliable real-time systems. IEEE Transactions on Software Engineering, SE-12(9):941–949, Sep. 1986.

    Google Scholar 

  • Li, Y.S. and Malik, S. Performance analysis of embedded software using implicit path enumeration. In Proc. of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Real-Time Systems, pages 95–105, La Jolla, CA, USA, June 1995.

  • Li, Y.S., Malik, S. and Wolfe, A. Efficient microarchitecture modeling and path analysis for real-time software. In Proc. 16th Real-Time Systems Symposium, pages 198–307, Pisa, Italy, Dec. 1995.

  • Mok, A.K., Amerasinghe, P., Chen, M. and Tantisirivat, K. Evaluating tight execution time bounds of programs by annotations. In Proc. 6th IEEE Workshop on Real-Time Operating Systems and Software, pages 74–80, Pittsburgh, PA, USA, May 1989.

  • Park, C.Y. Predicting program execution times by analyzing static and dynamic program paths. Real-Time Systems, 5(1):31–62, 1993.

    Google Scholar 

  • Park, C.Y. and Shaw, A.C. Experiments with a program timing tool based on source-level timing schema. IEEE Computer, 24(5):48–57, May 1991.

    Google Scholar 

  • Pospischil, G., Puschner, P., Vrchoticky, A. and Zainlinger, R. Developing real-time tasks with predictable timing. IEEE Software, 9(5):35–44, Sep. 1992.

    Google Scholar 

  • Puschner, P. Zeitanalyse von Echtzeitprogrammen. PhD thesis, Technisch-Naturwissenschaftliche Fakultät, Technische Universität Wien, Wien, österreich, Dez. 1993.

    Google Scholar 

  • Puschner, P. and Koza, Ch. Calculating the maximum execution time of real-time programs. Real-Time Systems, 1(2):159–176, Sep. 1989.

    Google Scholar 

  • Puschner, P. and Schedl, A. A tool for the computation of worst case task execution times. In Proc. Euromicro Workshop on Real-Time Systems, pages 224–229, Oulu, Finland, June 1993.

  • Rehm, P.H. A C language cross development environment for real-time programming. Master's thesis, University of California at Irvine, Irvine, CA, USA, Jul. 1987.

    Google Scholar 

  • Schedl, A. Zeitanalyse von Echtzeitprogrammen mittels linearer Optimierung. Master's thesis, Institut für Technische Informatik, Technische Universität Wien, Vienna, Austria, Sept. 1993.

    Google Scholar 

  • Shaw, A.C. Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering, SE-15(7):875–889, July 1989.

    Google Scholar 

  • Stoyenko, A. A Real-Time Language With A Schedulability Analyzer. Dissertation, Computer Systems Research Institute, University of Toronto, Canada, Dec. 1987.

    Google Scholar 

  • Stoyenko, A., Hamacher, V. and Holt, R. Analyzing hard-real-time programs for guaranteed schedulability. IEEE Transactions on Software Engineering, SE-17(8):737–750, Aug. 1991.

    Google Scholar 

  • Wei, Y. Real-Time Programming with Fault Tolerance. PhD thesis, Dept. of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, USA, June 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Puschner, P.P., Schedl, A.V. Computing Maximum Task Execution Times — A Graph-Based Approach. Real-Time Systems 13, 67–91 (1997). https://doi.org/10.1023/A:1007905003094

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007905003094

Navigation