Abstract
A concurrent program generally comprises a collection of threads that interact cooperatively, either directly or through shared data objects. In the latter case the sharing needs to be implemented by some mechanism that ensures mutually exclusive access, or possibly “concurrent read / exclusive write”. Ada and the Real-Time Specification for Java have taken different approaches to mutual exclusion. This paper analyzes and compares them with respect to programming style (clarity, encapsulation, avoidance of errors such as deadlock), priority inversion management, expressibility/generality, and efficiency. It also looks at interactions with exceptions and asynchronous transfer of control.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Tucker Taft, S., Duff, R.A., Brukardt, R.L., Plödereder, E. (eds.): Consolidated Ada Reference Manual. Language and Standard Libraries. LNCS, vol. 2219. Springer, Heidelberg (2001)
Java Community Process; JSR-001: Real-Time Specification for Java (March 2004), http://www.jcp.org/en/jsr/detail?id=1
Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Hardin, D., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)
Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. Addison Wesley, Reading (2000)
Brosgol, B.: A Comparison of the Concurrency and Real-Time Features of Ada 95 and Java. In: Ada UK Conference, Bristol, UK (1998)
Oaks, S., Wong, H.: Java Threads, 3rd edn. O’Reilly, Sebastopol (2004)
Wellings, A.: Concurrent and Real-Time Programming in Java. John Wiley & Sons, Chichester (2004)
Java Community Process; JSR-133: Java Memory Model and Thread Specification (March 2004), http://www.jcp.org/aboutJava/communityprocess/review/jsr133/
Hansen, P.B.: Java’s Insecure Parallelism. ACM SIGPLAN Notices 34(4) (April 1999)
Java Community Process; JSR-166: Java Concurrency Utilities (December 2003), http://www.jcp.org/aboutJava/communityprocess/review/jsr166/
Sha, L., Rajkumar, R., Lehoczky, J.: Priority Inheritance Protocols: An Approach to Real-Time Synchronization. IEEE Transaction on Computers 39, 1175–1185 (1990)
Wellings, A., Burns, A.: Informal communication (December 2004)
Brosgol, B., Wellings, A.: A Comparison of the Asynchronous Transfer of Control Facilities in Ada and the Real-Time Specification for Java. In: Proc. Ada Europe 2003, Toulouse, France (June 2003)
Intermetrics, Inc.; Ada 95 Rationale (January 1995)
ISO/IEC JTC1 / SC22 / WG9; AI-327, Dynamic Ceiling Priorities (November 2004), http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00327.TXT?rev=1.13
Burns, A.: The Ravenscar Profile. Ada Letters XIX(4), 49–52 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brosgol, B.M. (2005). A Comparison of the Mutual Exclusion Features in Ada and the Real-Time Specification for JavaTM . In: Vardanega, T., Wellings, A. (eds) Reliable Software Technology – Ada-Europe 2005. Ada-Europe 2005. Lecture Notes in Computer Science, vol 3555. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11499909_11
Download citation
DOI: https://doi.org/10.1007/11499909_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26286-2
Online ISBN: 978-3-540-31666-4
eBook Packages: Computer ScienceComputer Science (R0)