Java takes flight: time-portable real-time programming with exotasks

  • Authors:
  • Joshua Auerbach;David F. Bacon;Daniel T. Iercan;Christoph M. Kirsch;V. T. Rajan;Harald Roeck;Rainer Trummer

  • Affiliations:
  • IBM Research, Hawthorne, NY;IBM Research, Hawthorne, NY;University of Timisoara, Timisoara, Romania;University of Salzburg, Salzburg, Austria;IBM Research, Hawthorne, NY;University of Salzburg, Salzburg, Austria;University of Salzburg, Salzburg, Austria

  • Venue:
  • Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Existing programming methodologies for real-time systems suffer from a low level of abstraction and non-determinism in both the timing and the functional domains. As a result, real-time systems are difficult to test and must be re-certified every time changes are made to either the software or hardware environment. Exotasks are a novel Java programming construct that achievedeterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. They are deterministic functional data-flow tasks written in Java, combined with an orthogonal scheduling policy based on the logical execution time (LET) model. We have built a quad-rotor model helicopter, the JAviator, which we use as a testbed for this work. We evaluate our implementation of exotasks in IBM's J9 real-time virtual machine using actual flights of the helicopter. Our experiments show that we are able to maintain deterministic behavior in the face of variations in both software load and hardware platform.