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.
References
Bloom, T. (1979). Evaluating synchronisation mechanisms, Proceedings of the Seventh ACM Symposium on Operating System Principles, Pacific Grove, pp. 24–32.
Brinch-Hansen, P. (1972). Structured multiprogramming, CACM 15(7):574–578.
Brinch-Hansen, P. (1973). Operating System Principles, Prentice-Hall, New Jersey.
Burns, A. and Wellings, A. J. (1995). Concurrency in Ada, Cambridge University Press.
Burns, A., Lister, A. and Wellings, A. (1987). A Review of Ada Tasking, Lecture Notes in Computer Science, Volume 262, Springer-Verlag.
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.
Hoare, C. (1972). Towards a theory of parallel programming, Operating Systems Techniques, Academic Press, pp. 61–71.
Hoare, C. (1974). Monitors — an operating system structuring concept, CACM 17(10):549–557.
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.
Liu, J., Lin, K., Shih, W., Yu, A., Chung, J. and Zhao, W. (1991). Algorithms for scheduling imprecise computations, IEEE Computer pp. 58–68.
Lomet, D. (1977). Process structuring, synchronisation and recovery using atomic actions, Proceedings ACM Conference Language Design for Reliable Software SIGPLAN, pp. 128–137.
Randell, B., Lee, P. and Treleaven, P. (1978). Reliability issues in computing system design, ACM Computing Surveys 10(2):123–165.
Wellings, A. and Burns, A. (1996). Implementing atomic actions in Ada 95, Technical Report YCS.263, Department of Computer Science, University of York.
Author information
Authors and Affiliations
Editor information
Rights 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