Abstract
In Ada 95, the ceiling priority of a protected object is a static value that can only be assigned once, when the protected object is declared. This restriction coexists with the ability to dynamically change the priorities of tasks, which indeed is a flexible mechanism for programming adaptable real-time systems. Ceiling priorities being static, it is not possible to adequately implement the dynamic nature of multi-moded systems or systems scheduled with dynamic priorities. It is possible to work around this problem (e.g, by using the so-called ceiling of ceilings) but there is an added cost in terms of blocking times.
The next revision of the Ada 95 Standard, known as Ada 0Y, is considering the inclusion of dynamic ceiling priorities in the language. This paper presents the arguments for dynamic ceilings and discusses the approach proposed by the International Real-Time Ada Workshop consensus group. An experimental implementation is also discussed in order to evaluate the impact of this feature on the GNAT Ada compiler and run-time system which, in a nutshell, has turned out to be very low.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
U.S. Department of Defense: Reference manual for the Ada programming language. ANSI/MIL-STD 1815 A, U.S. Department of Defense (1983)
Tucker Taft, S., Duff, R.A., Brukardt, R.L., Plödereder, E. (eds.): Consolidated Ada Reference Manual. Language and Standard Libraries. LNCS, vol. 2219. Springer, Heidelberg (2001)
Goodenough, J., Sha, L.: The Priority Ceiling Protocol: a method for minimising the blocking of high priority Ada tasks. In: Proceedings of the 2nd International Workshop on Real-Time Ada Issues, Devon (1988)
Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols:An approach to real-time synchronisation. IEEE Transactions on Computers 39, 1175–1185 (1990)
Ada Core Technologies: GNAT Ada Compiler (2003), http://www.gnat.com/
Chen, M.I., Lin, K.J.: Dynamic Priority Ceilings: A Concurrency Control Protocol for Real- Time Systems. Real-Time Systems 2, 325–346 (1990)
Liu, C., Layland, J.: Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM 20, 46–61 (1973)
Real, J., Wellings, A.: The ceiling protocol in multi-moded real-time systems. In: González Harbour, M., la de Puente, J.A. (eds.) Ada-Europe 1999. LNCS, vol. 1622, pp. 275–286. Springer, Heidelberg (1999)
Miranda, J.: A Detailed Description of the GNUAda Run-Time (2002), http://gnat.webhop.info and http://gnat.webhop.info
Ada Issue number AI-00327: Dynamic Ceiling Priorities (2003), http://www.ada-auth.org/ais.html
Real, J., Crespo, A., Burns, A., Wellings, A.: Protected Ceiling Changes. Ada Letters XXII, 66–71 (2002)
IEEE: Portable Operating System Interface: Amendment 1: Realtime Extensions [C Language]. IEEE 1003.1b, IEEE (1993)
Miranda, J., Shonberg, E., Masmano, M., Real, J., Crespo, A.: Dynamic Ceiling Priorities in GNAT – Implementation Report. Ada Letters XXIII, 20–23 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Real, J., Burns, A., Miranda, J., Schonberg, E., Crespo, A. (2004). Dynamic Ceiling Priorities: A Proposal for Ada0Y. In: Llamosí, A., Strohmeier, A. (eds) Reliable Software Technologies - Ada-Europe 2004. Ada-Europe 2004. Lecture Notes in Computer Science, vol 3063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24841-5_21
Download citation
DOI: https://doi.org/10.1007/978-3-540-24841-5_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22011-4
Online ISBN: 978-3-540-24841-5
eBook Packages: Springer Book Archive