Advertisement

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

  • Leslie C. Lander
  • Sandeep Mitra
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 603)

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.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ada Programming Language Reference Manual (LRM), ANSI/MIL-STD 1815 A, U.S. Government, Ada Joint Program Office, 1983.Google Scholar
  2. 2.
    Ada 9X Project Report, Requirements Issue 4017, Ada 9X Revision Issues Release 1, April 1990, Ada 9X Project Office.Google Scholar
  3. 3.
    Approved Ada Language Commentaries, ACM Ada Letters, Volume IX, no. 3, Spring 1989.Google Scholar
  4. 4.
    J.G.P. Barnes, Programming in Ada, 3rd Ed., Addison-Wesley, 1989.Google Scholar
  5. 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. 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. 7.
    D.L. Bryan and G.O. Mendal, Exploring Ada, Volume 1, Prentice-Hall, 1990.Google Scholar
  8. 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. 9.
    N.H. Cohen, Ada as a second language, McGraw-Hill, 1986.Google Scholar
  10. 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. 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. 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. 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. 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. 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. 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. 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. 18.
    P.E. McMahon, “Lessons learned on the fringe of Ada,” Interservices Training Systems Conference, Fort Worth, Texas, November 1989.Google Scholar
  19. 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. 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. 21.
    D.A. Watt, B.A. Wichmann and W.Findlay, Ada language and methodology, Prentice-Hall, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Leslie C. Lander
    • 1
  • Sandeep Mitra
    • 1
  1. 1.Department of Computer Science, Thomas J. Watson School of Engineering and Applied ScienceState University of New YorkBinghamton

Personalised recommendations