Erik Altman photoDavid Grove photo

Metronome - overview

The mission of the Metronome project is to bring the productivity, reliability, security, and portability advantages of modern object-oriented languages like Java to the design and implementation of complex real-time systems.

The keystone of this work is our Metronome real-time garbage collection technology, which provides sub-millisecond worst-case latency and deterministic scheduling with guaranteed worst-case utilization. Metronome therefore allows the vast majority of real-time systems to be programmed in standard, garbage-collected Java.

Metronome garbage collection is now available as IBM's WebSphere Real-time Java Virtual Machine. The real-time JVM also includes a complete implementation of the Real-time Specification for Java (RTSJ) as well as IBM's Ahead-of-Time (AOT) compilation and linking technology. Our work on real-time Java is being done in close cooperation with the IBM Java Technology Center amd with the IBM Linux Technology Center (LTC), which is developing industry-strength real-time Linux.

Metronome demonstration of real-time audio synthesis comparing sound quality running on a standard Java Virtual Machine versus IBM's Metronome-enabled WebSphere Real-Time product.

Other research included:
  • Improvements to the core Metronome Garbage Collection technology such as lock-free algorithms, real-time generational collection, and algorithm synthesis.

  • TuningFork, a system for visualization and analysis of real-time systems.

  • New programming models for real-time systems that provide microsecond-level latency and time-portability: Expedited Real-time Threads (XRTs) and Exotasks.

  • The construction of major real-time applications on top of our Metronome, XRT, and Exotask technologies: the Harmonicon (a MIDI synthesizer) and the JAviator (an autonomous helicopter).