Patterns and Tools for Achieving Predictability and Performance with Real-Time Java

  • Authors:
  • Krishna Raman;Yue Zhang;Mark Panahi;Juan A. Colmenares;Raymond Klefstad

  • Affiliations:
  • University of California at Irvine;University of California at Irvine;University of California at Irvine;University of California at Irvine;University of California at Irvine

  • Venue:
  • RTCSA '05 Proceedings of the 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Real-time Specification for Java (RTSJ) offers the predictable memory management needed for real-time applications, while maintaining Java驴s advantages of portability and ease of use. RTSJ驴s scoped memory allows object lifetimes to be controlled in groups, rather than individually as in C++. While easier than individual object lifetime management, scoped memory adds programming complexity from strict rules governing memory access across scopes. Moreover, memory leaks can potentially create jitter and reduce performance. To manage the complexities of RTSJ驴s scoped memory, we developed patterns and tools for RTZen, a Real-time CORBA Object Request Broker (ORB). We describe four new patterns that enable communication and coordination across scope boundaries, an otherwise difficult task in RTSJ. We then present IsoLeak, a runtime debugging tool that visualizes the scoped hierarchies of complex applications and locates memory leaks. Our empirical results show that RTZen is highly predictable and has acceptable performance. RTZen therefore demonstrates that the use of patterns and tools like IsoLeak can help applications meet the stringent QoS requirements of DRE applications, while supporting safer, easier, cheaper, and faster development in Real-time Java.