Abstract
This paper presents several alternative Ada 95 solutions to the classical “Dining Philosophers” problem. These examples illustrate a number of new Ada 95 tasking features including protected types, entry barriers dependent on an entry family index, the requeue statement, and asynchronous transfer of control. The paper compares the approaches with respect to style, portability, and performance.
Preview
Unable to display preview. Download preview PDF.
References
Ben-Ari M. (1982). Principles of Concurrent Programming. Prentice / Hall
Burns A. and Davies G. (1993). Concurrent Programming. Addison Wesley International Computer Science Series
Dijkstra E.W. (1971). “Hierarchical ordering of sequential processes”, Acta Informatica, 1, 115–138
Feldman, M. (1992). “Portable Dining Philosophers: a Movable Feast of Concurrency and Software Engineering,” in Proc. 23rd ACM SIGCSE Technical Symposium on Computer Science Education, Kansas City, MO, March 1992.
Feldman, M and Källberg, B (1995), “Portable Dining Philosophers Example”, in Ada 95 Quality and Style: Guidelines for Professional Programmers, Version 01.00.10, Software Productivity Consortium, October 1995, pp. 241–256.
Habermann N. and Perry D. (1983). Ada for Experienced Programmers, Addison-Wesley
Hoare C.A.R. and Perrot R.H., eds. (1972). Operating Systems Techniques, Academic Press
Intermetrics, Inc. (1995). Ada 95 Rationale
Intermetrics, Inc. (1995). Ada 95 Reference Manual
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brosgol, B.M. (1996). The dining philosophers in Ada 95. 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/BFb0013493
Download citation
DOI: https://doi.org/10.1007/BFb0013493
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