Reflexes: Abstractions for integrating highly responsive tasks into Java applications

  • Authors:
  • Jesper Honig Spring;Filip Pizlo;Jean Privat;Rachid Guerraoui;Jan Vitek

  • Affiliations:
  • École Polytechnique Fédérale de Lausanne, Lausanne;Purdue University, West Lafayette, IN;Purdue University, West Lafayette, IN;École Polytechnique Fédérale de Lausanne, Lausanne;Purdue University, West Lafayette, IN

  • Venue:
  • ACM Transactions on Embedded Computing Systems (TECS)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Achieving submillisecond response times in a managed language environment such as Java or C# requires overcoming significant challenges. In this article, we propose Reflexes, a programming model and runtime system infrastructure that lets developers seamlessly mix highly responsive tasks and timing-oblivious Java applications. Thus enabling gradual addition of real-time features, to a non-real-time application without having to resort to recoding the real-time parts in a different language such as C or Ada. Experiments with the Reflex prototype implementation show that it is possible to run a real-time task with a period of 45 μs with an accuracy of 99.996% (only 0.001% worse than the corresponding C implementation) in the presence of garbage collection and heavy load ordinary Java threads.