Building a Flexible Java Runtime upon a Flexible Compiler

G. Thomas, F. Ogel, A. Galland, B. Folliot, and I. Piumarta


Interoperability, flexibility, virtual machines


While Java has become a de facto standard for mobile code and distributed programming, it is still a rigid and closed execution environment. Not only does this lack of flexibility severely limit the deployment of innovations, but it imposes artificial constraints to application developers. Therefore, many extensions to the JVM have been proposed, each of them dealing with specific limitations, such as emerging devices (mobile phones, smart cards) or constraints (real time, fault tolerance). This leads to a proliferation of ad hoc solutions requiring the design of new virtual machines. Furthermore, those solutions are still rigid, closed, and poorly interoperable. In response to this problem, the authors propose a flexible Java execution environment, called the JnJVM, that can be dynamically adapted to applications’ needs as well as to available resources.

Important Links:

Go Back