Skip to main navigation Skip to search Skip to main content

Designing highly flexible virtual machines: The JnJVM experience

  • Gaël Thomas
  • , Nicolas Geoffray
  • , Charles Clément
  • , Bertil Folliot
  • LIP6, UPMC Sorbonne Universités - Paris 6

Research output: Contribution to journalArticlepeer-review

7 Citations (Scopus)

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 (Hi) modifying applications behavior.

Original languageEnglish
Pages (from-to)1643-1675
Number of pages33
JournalSoftware - Practice and Experience
Volume38
Issue number15
DOIs
Publication statusPublished - 1 Dec 2008
Externally publishedYes

Keywords

  • Aspect weaving
  • Dynamic adaptation
  • Java virtual machine

Fingerprint

Dive into the research topics of 'Designing highly flexible virtual machines: The JnJVM experience'. Together they form a unique fingerprint.

Cite this