Abstract
One of the most important object-oriented features of the new revision of the Ada Programming Language is the introduction of Abstract Interfaces to provide a form of multiple inheritance. Ada 2005 Abstract Interface Types are based on Java interfaces, and as such support inheritance of operation specifications, rather than the general complexity of inheritance of implementations as in full multiple inheritance. Real-time uses of Ada demand efficient and bounded worst-case execution time for interface calls. In addition, modern systems require mixed-language programming. This paper summarizes part of the work done by the GNAT Development Team to provide an efficient implementation of this language feature and simplifies interfacing with C++.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ada Rapporteur Group (ARG). Abstract interfaces to provide multiple inheritance. Ada Issue 251, http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00251.TXT
Ada Rapporteur Group (ARG). Null procedures. Ada (348), http://www.adaauth.org/cgi-bin/cvsweb.cgi/AIs/AI-00348.TXT
Alpern, B., Cocchi, A., Fink, S., Grove, D., Lieber, D.: Efficient Implementation of Java Interfaces: Invokeinterface Considered Harmless. In: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2001). ACM Press, New York (2001), http://www.research.ibm.com/jalapeno/publication.html
CodeSourcery, Compaq, EDG, HP, IBM, Intel, Red Hat, and SGI. Itanium C++ ABI. Technical Report Revision 1.75 (2004), http://www.codesourcery.com.prev/cxx-abi
Driesen, K.: Software and Hardware Techniques for Efficient Polymorphic Calls. University of California, Santa Barbara (PhD Dissertation), TRCS99-24 (June 1999)
Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000)
Intermetrics Inc and the MITRE Corporation. Annotated Ada Reference Manual with Technical Corrigendum 1. Language Standard and Libraries. ISO/IEC 8652:1995(E) (2000), http://www.ada-auth.org/arm-files/AARM.PDF
ECMA International. C# Language Specification— Standard ECMA-334 (2nd edn.). Standardizing Information and Communication Systems (December 2002)
Sun MicroSystems. Java 2 Platform, Standard Edition, J2SE 5.0 (2004), Available at http://java.sun.com/j2se/
Miranda, J., Schonberg, E.: GNAT: On the Road to Ada 2005. In: ACM SigAda 2004 (November 2004)
Palacz, K., Vitek, J.: Java Subtype Tests in Real-Time. In: Proceedings of the European Conference on Object-Oriented Programming (2003), http://citeseer.ist.psu.edu/660723.html
Vitek, J., Horspoo, R.N., Krall, A.: Efficient Type Inclusion Tests. In: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 1997). ACM Press, New York (1997), http://citeseer.ist.psu.edu/vitek97efficient.html
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
Miranda, J., Schonberg, E., Dismukes, G. (2005). The Implementation of Ada 2005 Interface Types in the GNAT Compiler. 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_17
Download citation
DOI: https://doi.org/10.1007/11499909_17
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)