A C++ Native Interface for Interpreted JVMs

This paper describes JuNI++, a C++ native interface for interpreted Java Virtual Machines. While JuNI++ was initially designed in order to integrate the RTSJ implementation jRate with Juice, a virtual machine for small footprint environments, its engineering and performance advantages outlived the initial goal. The main contribution of this paper is to show how a C++ based native interface can fully and efficiently support the Java mapping in interpreted environments without requiring any cooperation from the C++ compiler.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Frank Mueller,et al.  Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems , 2003 .

[3]  Douglas C. Schmidt,et al.  The Design and Performance of the jRate Real-Time Java Implementation , 2002, OTM.

[4]  Ron Cytron,et al.  Efficient memory-reference checks for real-time java , 2003, LCTES '03.

[5]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

[6]  Zahir Tari,et al.  On the Move to Meaningful Internet Systems 2002: CoopIS, DOA, and ODBASE , 2002, Lecture Notes in Computer Science.

[7]  Greg Lindstrom,et al.  Programming with Python , 2005, IT Professional.

[8]  Douglas C. Schmidt,et al.  Evaluating real-time Java features and performance for real-time embedded systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[9]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[10]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[11]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[12]  Corrado Santoro,et al.  A Java kernel for embedded systems in distributed process control , 2000, IEEE Concurr..

[13]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[14]  A. Di Stefano,et al.  Java devices for distributed process control , 2000, ISIE'2000. Proceedings of the 2000 IEEE International Symposium on Industrial Electronics (Cat. No.00TH8543).