Abstract
Asynchronous Transfer of Control (“ATC”) is a transfer of control within a thread,1 triggered not by the thread itself but rather from some external source such as another thread or an interrupt handler. ATC is useful for several purposes; e.g. expressing common idioms such as timeouts and thread termination, and reducing the latency for responses to events. However, ATC presents significant issues semantically, methodologically, and implementationally. This paper describes the approaches to ATC taken by Ada [[2]] and the Real-Time Specification for Java [[3],[4]], and compares them with respect to safety, programming style / expressive power, and implementability / latency / efficiency.
We use the term “thread” generically to refer to a concurrent activity within a program. When discussing a particular language’s mechanism we use that language’s terminology (e.g., “task” in Ada).
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
B.M. Brosgol and A. Wellings; A Comparison of the Asynchronous Transfer of Control Features in Ada and the Real-Time Specification for Java™; Univ. of York Technical Report YCS-350; February 2003.
S.T. Taft, R.A. Duff, R.L. Brukardt, and E. Ploedereder; Consolidated Ada Reference Manual, Language and Standard Libraries, International Standard ISO/IEC 8652/1995(E) with Technical Corrigendum 1; Springer LNCS 2219; 2000
G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, D. Hardin, and M. Turnbull; The Real-Time Specification for Java, Addison-Wesley, 2000
The Real-Time for Java Expert Group; The Real-Time Specification for Java, V1.0; Sun Microsystems JSR-001; http://www.rtj.org; November 2001.
ISO/IEC 9945-1: 1996 (ANSI/IEEE Standard 1003.1, 1996 Edition); POSIX Part 1: System Application Program Interface (API) [C Language]
E.W. Giering and T.P. Baker; “The GNU Runtime Library (GNARL): Design and Implementation”, WAdaS’ 94 Proceedings, ACM SIGAda; 1994.
E.W. Giering and T.P. Baker; “Ada 9X Asynchronous Transfer of Control: Applications and Implementation”, Proceedings of the SIGPLAN Workshop on Language, Compiler, and Tool Support for Real-Time Systems, ACM SIGPLAN; 1994.
J. Miranda; A Detailed Description of the GNU Ada Run Time (Version 1.0); http://www.iuma.ulpgc.es/users/jmiranda/gnat-rts/main.htm; 2002.
J. Gosling, B. Joy, G. Steele, G. Bracha; The Java Language Specification (2nd ed.); Addison Wesley, 2000
B. Brosgol, R.J. Hassan II, and S. Robbins; “Asynchronous Transfer of Control in the Real-Time Specification for Java”, Proc. ISORC 2002 — The 5th IEEE International Symposium on Object-oriented Real-time distributed Computing, April 29–May 1, 2002, Washington, DC, USA
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brosgol, B.M., Wellings, A. (2003). A Comparison of the Asynchronous Transfer of Control Features in Ada and the Real-Time Specification for Java™. In: Rosen, JP., Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe 2003. Ada-Europe 2003. Lecture Notes in Computer Science, vol 2655. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44947-7_8
Download citation
DOI: https://doi.org/10.1007/3-540-44947-7_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40376-0
Online ISBN: 978-3-540-44947-8
eBook Packages: Springer Book Archive