Towards predictable real-time Java object request brokers

Distributed real-time and embedded (DRE) applications often possess stringent quality of service (QoS) requirements. Designing middleware for DRE applications poses several challenges to object request broker (ORB) developers. This paper provides the following contributions to the study of middleware for DRE applications. First, we outline the challenges present in one of the principal ORB components - the portable object adapter (POA) focusing on predictable and scalable demultiplexing. Second, we describe how these challenges are addressed in ZEN, which is an implementation of Real-time CORBA that runs atop jRate, an ahead-of-time compiler that implements most of the Real-Time Specification for Java (RTSJ). Third, we qualitatively and quantitatively compare ZEN's demultiplexing strategies with those of other popular Java ORBs, including JacORB, Sun JDK ORB, and ORBacus. Our results show that ZEN and jRate incorporate the strategies necessary to enable predictability using standards-based middleware and also provide a baseline for what can be achieved by combining Real-time CORBA and RTSJ.

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

[2]  Luiz Fernando Capretz,et al.  OBJECT-ORIENTED CONCEPTS , 1996 .

[3]  Douglas C. Schmidt,et al.  Design and Performance of a Modular Portable Object Adapter for Distributed, Real-Time, and Embedded CORBA Applications , 2002, OTM.

[4]  D. C. Sharp,et al.  Reducing avionics software cost through component based product line development , 1998, 17th DASC. AIAA/IEEE/SAE. Digital Avionics Systems Conference. Proceedings (Cat. No.98CH36267).

[5]  Aniruddha S. Gokhale,et al.  Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks , 1998, IEEE Trans. Computers.

[6]  Gerald Brose JacORB: Implementation and Design of a Java-ORB , 1997, DAIS.

[7]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[8]  Douglas C. Schmidt,et al.  GPERF: A Perfect Hash Function Generator , 1990, C++ Conference.

[9]  D. Schmidt,et al.  Virtual Component A Design Pattern for Memory-Constrained Embedded Applications , 2002 .

[10]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

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

[12]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[13]  Aniruddha S. Gokhale,et al.  Using principle patterns to optimize real-time ORBs , 2000, IEEE Concurr..

[14]  Steve Vinoski,et al.  Advanced CORBA® Programming with C++ , 1999 .

[15]  Edward Pla Weapon System Software Technology Support (WSSTS). Delivery Order 0008: Real-Time Java for Embedded Systems (RTJES) , 2004 .

[16]  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.

[17]  Aniruddha S. Gokhale,et al.  Principles for optimizing CORBA Internet Inter-ORB Protocol performance , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[18]  Douglas C. Schmidt,et al.  An overview of the CORBA portable object adapter , 1998, STAN.

[19]  Douglas C. Schmidt,et al.  Measuring the performance of communication middleware on high-speed networks , 1996, SIGCOMM 1996.

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