Designing highly flexible virtual machines: the JnJVM experience

  • Authors:
  • Gaël Thomas;Nicolas Geoffray;Charles Clément;Bertil Folliot

  • Affiliations:
  • LIP6-CNRS, INRIA REGAL, University of Paris 6, 104 Avenue du Président Kennedy, F-75016 Paris, France;LIP6-CNRS, INRIA REGAL, University of Paris 6, 104 Avenue du Président Kennedy, F-75016 Paris, France;LIP6-CNRS, INRIA REGAL, University of Paris 6, 104 Avenue du Président Kennedy, F-75016 Paris, France;LIP6-CNRS, INRIA REGAL, University of Paris 6, 104 Avenue du Président Kennedy, F-75016 Paris, France

  • Venue:
  • Software—Practice & Experience
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic flexibility is a major challenge in modern system design to react to context or applicative requirements evolutions. Adapting behaviors may impose substantial code modification across the whole system, in the field, without service interruption and without state loss. This paper presents the JnJVM, a full Java virtual machine (JVM) that satisfies these needs by using dynamic aspect weaving techniques and a component architecture. It supports adding or replacing its own code, while it is running, with no overhead on unmodified code execution. Our measurements reveal similar performance when compared with the monolithic JVM Kaffe. Three illustrative examples show different extension scenarios: (i) modifying the JVMs behavior; (ii) adding capabilities to the JVM; and (iii) modifying applications behavior. Copyright © 2008 John Wiley & Sons, Ltd.