Abstract
This paper describes three significant problems that may occur due to the elaboration order of the compilation units of a large Ada program. One concern is the possibility of access-before-elaboration errors. A second issue is priority inversion amongst library tasks—a possibly serious problem for real-time systems, for example, in the implementation of the Priority Ceiling Protocol. A third problem is elaboration-time deadlock—the situation where elaboration cannot be completed because a non-task entity calls a task entry before the activation of the task. In this paper we outline a set of coding practices which, if rigorously followed, eliminate most elaboration-time problems. Also, we briefly describe a scheme to determine a proper elaboration order on the basis of source code analysis and show how such a scheme can be used, if our coding practices are followed, to detect potential elaboration-time deadlock situations.
Preview
Unable to display preview. Download preview PDF.
References
Ada Programming Language Reference Manual (LRM), ANSI/MIL-STD 1815 A, U.S. Government, Ada Joint Program Office, 1983.
Ada 9X Project Report, Requirements Issue 4017, Ada 9X Revision Issues Release 1, April 1990, Ada 9X Project Office.
Approved Ada Language Commentaries, ACM Ada Letters, Volume IX, no. 3, Spring 1989.
J.G.P. Barnes, Programming in Ada, 3rd Ed., Addison-Wesley, 1989.
P. Belmont, “On the access-before-elaboration problem in Ada,” Proceedings of the 1982 AdaTEC Conference on Ada, ACM, New York, 112–119.
M. W. Borger, M. H. Klein, R. A. Veltre, “Real-time software engineering in Ada: Observations and guidelines,” Software Engineering Institute, Carnegie-Mellon University, Tech. Rep. No. CMU/SEI-89-TR-22, 1989.
D.L. Bryan and G.O. Mendal, Exploring Ada, Volume 1, Prentice-Hall, 1990.
A. Burns and A.J. Wellings, “Real-time Ada issues,” Proc. 1st Int. Workshop on Real-Time Ada Issues, Ada Letters VII, no. 6, pp. 43–46, 1987.
N.H. Cohen, Ada as a second language, McGraw-Hill, 1986.
D. Cornhill, “Session summary: tasking,” Proc. 1st Int. Workshop on Real-Time Ada Issues, Ada Letters VII, no. 6, pp. 29–32, 1987.
T. Elrad, “Comprehensive scheduling controls for Ada tasking,” Proc. 2nd Int. Workshop on Real-Time Ada Issues, Ada Letters VIII, no. 7, pp. 12–19, 1988.
J.B. Goodenough and L.Sha, “The priority ceiling protocol: A method for minimizing the blocking of high priority Ada tasks,” Proc. 2nd Int. Workshop on Real-Time Ada Issues, Ada Letters VIII, no. 7, pp. 20–31, 1988.
L.C. Lander, S. Mitra, and T.F. Piatkowski, “Priority inversion in Ada programs during elaboration,” Proc. 7th Washington Ada Symp., June 1990, pp. 133–41.
L.C. Lander, S. Mitra, and T.F. Piatkowski, “Deterministic priority inversion in Ada selective waits,” ACM Ada Letters, vol. 10, no. 7, pp. 55–62, 1990.
L.C. Lander, S. Mitra, N. Singhvi, and T.F. Piatkowski, “The elaboration order problem of Ada,” Dept. of Computer Science, SUNY Binghamton, Tech. Rep. No. CS-TR-90-57, 1990 (to appear in Software-Practice and Experience).
L.C. Lander, S. Mitra, “Detection and avoidance of elaboration-time problems for multi-unit real-time Ada application,” Dept. of Computer Science, SUNY Binghamton, Tech. Rep. No. CS-TR-90-58, 1990.
D. Locke, L. Sha, R. Rajkumar, J. Lehoczky and G. Burns, “Priority inversion and its control: an experimental investigation,” Proc. 2nd Int. Workshop on Real-Time Ada Issues, Ada Letters VIII, no. 7, pp. 39–42, 1988.
P.E. McMahon, “Lessons learned on the fringe of Ada,” Interservices Training Systems Conference, Fort Worth, Texas, November 1989.
L. Sha and J.B. Goodenough, “Real-time scheduling theory and Ada,” IEEE Computer, vol. 23, no. 4, pp. 53–62, 1990.
L. Sha, R. Rajkumar, J.P. Lehoczky, “Priority inheritance protocols: An approach to real-time synchronization,” Computer Science Dept., Carnegie-Mellon University, Tech. Rep. CMU-CS-87-181, 1987.
D.A. Watt, B.A. Wichmann and W.Findlay, Ada language and methodology, Prentice-Hall, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lander, L.C., Mitra, S. (1992). Detection and avoidance of elaboration-time problems for multi-unit real-time Ada applications. In: van Katwijk, J. (eds) Ada: Moving Towards 2000. Ada-Europe 1992. Lecture Notes in Computer Science, vol 603. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55585-4_15
Download citation
DOI: https://doi.org/10.1007/3-540-55585-4_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55585-8
Online ISBN: 978-3-540-47240-7
eBook Packages: Springer Book Archive