Abstract
Off-line analysis techniques for hard real-time systems are all based on the assumption that we can estimate the worst-case execution time of the different tasks executing in the system. In the traditional cyclic-executive schedulers, execution time limits were enforced for each task by the scheduler. Unfortunately, in concurrent hard real-time systems such as those using the tasking model defined in Ada, no bound on the execution time of tasks is enforced, which may result in a system timing malfunction not detected by the analysis techniques. In this paper we explore the implementation of execution time clocks within the task scheduler, and we describe methods to detect execution time overruns in the application, and to limit their effects. We also discuss the use of execution time clocks to enhance the performance of sporadic server schedulers implemented at the application level.
This work has been funded in part by the Comisión Interministerial de Ciencia y Tecnología of the Spanish Government under grant number TAP97-892
Preview
Unable to display preview. Download preview PDF.
References
A. Burns and A. Wellings. “Real-Time systems and Programming Languages”. 2nd. edition. Addison-Wesley, 1997.
IEEE Standards Project P1003.1d, “Draft Standard for Information Technology-Portable Operating System Interface (POSIX)-Part 1: Additional Realtime Extensions”. Draft 10. The Institute of Electrical and Electronics Engineers, January 1997.
ISO/IEC Standard 9945-1:1996. “Information Technology-Portable Operating System Interface (POSIX)-Part 1: System Application Program Interface (API) [C Language]”. The Institute of Electrical and Electronics Engineers, 1996.
M. González Harbour, J.J. Gutiérrez García, and J.C Palencia Gutiérrez. “Implementing Application-Level Sporadic Server Schedulers in Ada 95”. Proceedings of the 1997 Ada-Europe International Conference on Reliable Software Technologies, in Lecture Notes in Computer Science, Vol. 1251, Springer, June 1997.
M.H. Klein, T. Ralya, B. Pollak, R. Obenza, and M. González Harbour. “A Practitioner's Handbook for Real-Time Analysis”. Kluwer Academic Pub., 1993.
J. Liu, K.J. Lin, W.K. Shih, A. Chuang-Shi Yu, J.Y. Chung, and W. Zhao. “Algorithms for Scheduling Imprecise Computations”. IEEE Computer, pp. 58–68, May 1991.
F. Mueller. “A Library Implementation of POSIX Threads under UNIX”. 1993 Winter USENIX, January, 1993, San Diego, CA, USA.
F. Mueller. “Generalizing Timing Predictions to Set-Associative Caches”. Proceedings of the 9th Euromicro Workshop on Real-Time Systems, pp. 64–71, Toledo, Spain, June 1997.
C.Y. Park. “Predicting program execution times by analyzing static and dynamic program paths”. Real-Time Systems Journal, Vol. 5, No. 1, pp. 31–62, 1993.
P. Puschner and A.V. Schedl. “Computing Maximum Task Execution Times: A graphbased approach”. Real-Time Systems Journal, Vol. 13, No. 1, pp. 7–91, July 1997.
N. Zhang, A. Burns, and M. Nicholson. “Pipelined Processors and Worst-Case Execution Times”. Real-Time Systems Journal, Vol. 5, No. 1, pp. 1–62, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Harbour, M.G., Rivas, M.A., García, J.J.G., Gutiérrez, J.C.P. (1998). Implementing and using execution time clocks in Ada hard real-time applications. In: Asplund, L. (eds) Reliable Software Technologies — Ada-Europe. Ada-Europe 1998. Lecture Notes in Computer Science, vol 1411. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054997
Download citation
DOI: https://doi.org/10.1007/BFb0054997
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64536-8
Online ISBN: 978-3-540-69802-9
eBook Packages: Springer Book Archive