Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1850771.1850785acmotherconferencesArticle/Chapter ViewAbstractPublication PagesjtresConference Proceedingsconference-collections
research-article

Ada-Java middleware for legacy software modernization

Published: 19 August 2010 Publication History

Abstract

The portability and scalability benefits of Java [1, 2] combined with improved economies of scale resulting from its popularity are motivating many organizations to switch to Java. As organizations switch to Java for new development, many face difficult challenges with respect to maintenance and evolution of their existing legacy systems. In certain critical embedded and real-time domains, important legacy systems are implemented in the Ada language. This paper describes a middleware approach to enable efficient and robust integration of Ada and Java software into mixed-language software systems. Though the technology is designed to generalize to all Ada-Java mixed-language applications, this paper focuses attention on the special challenges unique to stack management of temporary objects, as characterized by the Ravenscar profile of Ada 95 and the JSR-302 subset of traditional Java. The middleware design, known as Ada-Java Method Invocation (AJMI), simplifies inter-language calls, extends object-oriented abstractions across language boundaries, and enables reliable sharing of stack-allocated objects which are integral to the use of Ada and Java in safety-critical systems.

References

[1]
K. Arnold, J. Gosling, D. Holmes. The Java#8482; Programming Language, 4th edition. 928 pages. Prentice Hall PTR. Aug., 2005.
[2]
K. Nilsen. Guidelines for Scalable Java Development of Real-Time Systems, 363 pages. March 28, 2006. Available at http://research.aonix.com/jsc/rtjava.guidelines.3-28-06.pdf.
[3]
Ada 2005 Reference Manual ISO/IEC 8652:2007(E) Ed. 3 with Technical Corrigendum 1 and Amendment 1. Available at http://www.adaic.org/standards/05rm/RM-Final.pdf.
[4]
A. Eustice, B. Lynch. Commercial Applications in Ada. Available at http://www.iste.uni-stuttgart.de/ps/AdaBasis/pal_1195/ada/ajpo/usage/html/commapps.htm.
[5]
Intellectual Ammunition Department of Ada Home: The Web Site for Ada. Available at http://www.adahome.com/Ammo.
[6]
D. Reifer, J. Craver, M. Ellis, D. Strickland. Is Ada Dead or Alive Within the Weapons System World?. Crosstalk: The Journal of Defense Software Engineering. Dec. 2000. Available at http://www.stsc.hill.af.mil/crosstalk/2000/12/reifer.html.
[7]
P. Rovner, On Adding Garbage Collection and Runtime Types to a Strongly-Typed Statically-Checked, Concurrent Language. Xerox Palo Alto Research Center Technical Report CSL-84-7. 1984.
[8]
J. G. Skazinski, "Porting Ada: a report from the field". IEEE Computer, (Oct. 1994) vol. 27, no. 10, pp. 58--64.
[9]
Ada 95 Reference Manual ANSI/ISO/IED-8652:1995. January 1995. 543 pages.
[10]
Y. Chen, R. Dios, A. Mili, L. Wu, K. Wang. "An Empirical Study of Programming Language Trends", IEEE Software, (May/June 2005) vol. 22, no. 3, pp. 72--79.
[11]
TIOBE Programming Community Index, Available at http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.
[12]
R. Gordon. Essential JNI: Java Native Interface, Prentice Hall PTR (March 1998), 498 pages.
[13]
"GNAT-AJIS User's Guide, GNAT Ada-Java Interfacing Suite". Ada Core.
[14]
JSR-302: Safety Critical Java Technology, See http://www.jcp.org/en/jsr/summary?id=302.
[15]
W. Grosso. Java RMI. O'Reilly Media, 1st Edition (Oct. 15, 2001), 572 pages.

Cited By

View all
  • (2011)Exploiting static application knowledge in a Java compiler for embedded systemsProceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems10.1145/2043910.2043927(96-105)Online publication date: 26-Sep-2011

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
JTRES '10: Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
August 2010
183 pages
ISBN:9781450301220
DOI:10.1145/1850771
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 August 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Ada
  2. Java
  3. high-integrity systems
  4. mission-critical
  5. mixed-language development
  6. object oriented development
  7. real-time
  8. safety-critical
  9. software modernization

Qualifiers

  • Research-article

Conference

JTRES '10

Acceptance Rates

Overall Acceptance Rate 50 of 70 submissions, 71%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2011)Exploiting static application knowledge in a Java compiler for embedded systemsProceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems10.1145/2043910.2043927(96-105)Online publication date: 26-Sep-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media