Skip to main content

Detection and avoidance of elaboration-time problems for multi-unit real-time Ada applications

  • Conference paper
  • First Online:
Ada: Moving Towards 2000 (Ada-Europe 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 603))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ada Programming Language Reference Manual (LRM), ANSI/MIL-STD 1815 A, U.S. Government, Ada Joint Program Office, 1983.

    Google Scholar 

  2. Ada 9X Project Report, Requirements Issue 4017, Ada 9X Revision Issues Release 1, April 1990, Ada 9X Project Office.

    Google Scholar 

  3. Approved Ada Language Commentaries, ACM Ada Letters, Volume IX, no. 3, Spring 1989.

    Google Scholar 

  4. J.G.P. Barnes, Programming in Ada, 3rd Ed., Addison-Wesley, 1989.

    Google Scholar 

  5. P. Belmont, “On the access-before-elaboration problem in Ada,” Proceedings of the 1982 AdaTEC Conference on Ada, ACM, New York, 112–119.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. D.L. Bryan and G.O. Mendal, Exploring Ada, Volume 1, Prentice-Hall, 1990.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. N.H. Cohen, Ada as a second language, McGraw-Hill, 1986.

    Google Scholar 

  10. D. Cornhill, “Session summary: tasking,” Proc. 1st Int. Workshop on Real-Time Ada Issues, Ada Letters VII, no. 6, pp. 29–32, 1987.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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).

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. P.E. McMahon, “Lessons learned on the fringe of Ada,” Interservices Training Systems Conference, Fort Worth, Texas, November 1989.

    Google Scholar 

  19. L. Sha and J.B. Goodenough, “Real-time scheduling theory and Ada,” IEEE Computer, vol. 23, no. 4, pp. 53–62, 1990.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. D.A. Watt, B.A. Wichmann and W.Findlay, Ada language and methodology, Prentice-Hall, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. van Katwijk

Rights and permissions

Reprints 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

Publish with us

Policies and ethics