Skip to main content

Ada95: An effective concurrent programming language

  • Invited Papers
  • Conference paper
  • First Online:

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

Abstract

The concurrency facilities within Ada 95 are more comprehensive than in any other language. Through a discussion of three case studies, this paper shows how the language abstractions supported by Ada can be combined to build effective higher-level abstractions. The three examples concern a concurrency problem, a fault tolerance requirement and a scheduling (real-time) issue. Together they illustrate that many of the criticisms that were rightly focused on Ada 83 have been addressed by the language revision.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Bloom, T. (1979). Evaluating synchronisation mechanisms, Proceedings of the Seventh ACM Symposium on Operating System Principles, Pacific Grove, pp. 24–32.

    Google Scholar 

  • Brinch-Hansen, P. (1972). Structured multiprogramming, CACM 15(7):574–578.

    Google Scholar 

  • Brinch-Hansen, P. (1973). Operating System Principles, Prentice-Hall, New Jersey.

    Google Scholar 

  • Burns, A. and Wellings, A. J. (1995). Concurrency in Ada, Cambridge University Press.

    Google Scholar 

  • Burns, A., Lister, A. and Wellings, A. (1987). A Review of Ada Tasking, Lecture Notes in Computer Science, Volume 262, Springer-Verlag.

    Google Scholar 

  • Davis, R., Tindell, K. and Burns, A. (1993). Scheduling slack time in fixed priority pre-emptive systems, Proceedings Real-Time Systems Symposium, pp. 222–231.

    Google Scholar 

  • Hoare, C. (1972). Towards a theory of parallel programming, Operating Systems Techniques, Academic Press, pp. 61–71.

    Google Scholar 

  • Hoare, C. (1974). Monitors — an operating system structuring concept, CACM 17(10):549–557.

    Google Scholar 

  • Lehoczky, J. and Ramos-Thuel, S. (1992). An optimal algorithm for scheduling soft-aperiodic tasks fixed-priority preemptive systems, Proceedings Real-Time Systems Symposium, pp. 110–123.

    Google Scholar 

  • Liu, J., Lin, K., Shih, W., Yu, A., Chung, J. and Zhao, W. (1991). Algorithms for scheduling imprecise computations, IEEE Computer pp. 58–68.

    Google Scholar 

  • Lomet, D. (1977). Process structuring, synchronisation and recovery using atomic actions, Proceedings ACM Conference Language Design for Reliable Software SIGPLAN, pp. 128–137.

    Google Scholar 

  • Randell, B., Lee, P. and Treleaven, P. (1978). Reliability issues in computing system design, ACM Computing Surveys 10(2):123–165.

    Google Scholar 

  • Wellings, A. and Burns, A. (1996). Implementing atomic actions in Ada 95, Technical Report YCS.263, Department of Computer Science, University of York.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alfred Strohmeier

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Burns, A., Wellings, A.J. (1996). Ada95: An effective concurrent programming language. In: Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe '96. Ada-Europe 1996. Lecture Notes in Computer Science, vol 1088. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013478

Download citation

  • DOI: https://doi.org/10.1007/BFb0013478

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61317-6

  • Online ISBN: 978-3-540-68457-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics