Ada-Europe 1996: Reliable Software Technologies — Ada-Europe '96 pp 58-77 | Cite as
Ada95: An effective concurrent programming language
Invited Papers
First Online:
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.
Keywords
Atomic Action Concurrent Programming Application Task Optional Part Protected Object
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
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.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
Copyright information
© Springer-Verlag Berlin Heidelberg 1996