This Article 
 Bibliographic References 
 Add to: 
The Design and Performance of Real-Time Java Middleware
November 2003 (vol. 14 no. 11)
pp. 1155-1167

Abstract—More than 90 percent of all microprocessors are now used for real-time and embedded applications. The behavior of these applications is often constrained by the physical world. It is therefore important to devise higher-level languages and middleware that meet conventional functional requirements, as well as dependably and productively enforce real-time constraints. This paper provides two contributions to the study of languages and middleware for real-time and embedded applications. We first describe the architecture of jRate, which is an open-source ahead-of-time-compiled implementation of the RTSJ middleware. We then show performance results obtained using RTJPerf, which is an open-source benchmarking suite that systematically compares the performance of RTSJ middleware implementations. This paper shows that, while research remains to be done to make RTSJ a bullet-proof technology, the initial results are promising. The performance and predictability of jRate provides a baseline for what can be achieved by using ahead-of-time compilation. Likewise, RTJPerf enables researchers and practitioners to evaluate the pros and cons of RTSJ middleware systematically as implementations mature.

[1] J. Sztipanovits and G. Karsai, "Model-Integrated Computing," Computer, Apr. 1997, pp. 110-112.
[2] K. Arnold, J. Gosling, and D. Holmes, The Java Programming Language. Boston: Addison-Wesley, 2000.
[3] R. Jones and R. Lins, Garbage Collection Algorithms for Automatic Dynamic Memory Management. New York: Wiley&Sons, 1996.
[4] G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, D. Hardin, and M. Turnbull, The Real-Time Specification for Java. Addison-Wesley, 2000.
[5] TimeSys, Real-Time Specification for Java Reference Implementation,www.timesys.comrtj, 2001.
[6] A. Corsaro and D.C. Schmidt, Evaluating Real-Time Java Features and Performance for Real-time Embedded Systems Proc. Eighth IEEE Real-Time Technology and Applications Symp., Sept. 2002.
[7] The Design and Performance of the jRate Real-Time Java Implementation On the Move to Meaningful Internet Systems 2002: CoopIS, DOA, and ODBASE, R. Meersman and Z. Tari, eds., pp. 900-921, Springer Verlag, 2002.
[8] GNU is Not Unix, GCJ: The GNU Complier for Java,http://gcc.gnu.orgjava, 2002.
[9] K. Czarnecki and U. Eisenecker, Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000.
[10] A. Corsaro and R.K. Cytron, Efficient Memory-Reference Checks for Real-Time Java Proc. ACM SIGPLAN Conf. Language, Compiler, and Tool for Embedded Systems, pp. 51-58, 2003.
[11] TimeSys, TimeSys Linux/RT 3.0,, 2001.
[12] J. Gosling, B. Joy, and G. Steele, The Java Programming Language Specification. Addison-Wesley, 1996.
[13] IBM, Jikes 1.17,, 2001.
[14] D.C. Schmidt, M. Deshpande, and C. O'Ryan, Operating System Performance in Support of Real-Time Middleware Proc. Seventh Workshop Object-Oriented Real-Time Dependable Systems, Jan. 2002.
[15] D. Lea, Concurrent Programming in Java: Design Principles and Patterns, second ed. Addison-Wesley, 2000.
[16] J.D. Salehi, J.F. Kurose, and D. Towsley, The Effectiveness of Affinity-Based Scheduling in Multiprocessor Networking Proc. IEEE INFOCOM, Mar. 1996.
[17] M. Rinard et al., FLEX Compiler Infrastructure /, 2002.
[18] J. Lawson, Real-Time Java for Embedded Systems (RTJES) slides/javalaw son.pdf, 2001.
[19] D.C. Sharp, Reducing Avionics Software Cost through Component Based Product Line Development Proc. 10th Ann. Software Technology Conf., Apr. 1998.

Index Terms:
Real-time middleware, real-time Java, QoS-enabled middleware platforms, object-oriented languages, real-time resource management, performance evaluation.
Angelo Corsaro, Douglas C. Schmidt, "The Design and Performance of Real-Time Java Middleware," IEEE Transactions on Parallel and Distributed Systems, vol. 14, no. 11, pp. 1155-1167, Nov. 2003, doi:10.1109/TPDS.2003.1247675
Usage of this product signifies your acceptance of the Terms of Use.