Section: New Results
Virtual machine
Participants : Fabienne Boyer, Noël De Palma, Olivier Gruber, Jean-Bernard Stefani, Benoit Claudel, Ludovic Demontes, Stéphane Fontaine, Jérémy Philippe.
As part of a more global goal of constructing a reflective virtual machine for component systems, we have studied issues of memory safety and isolation between concurrent components. This work is reported in the PhD thesis of Benoît Claudel [13] . Our approach comprises:
-
An asynchronous concurrent component model, where components logically share no information but are allowed to exchange arbitrary object graphs though messages.
-
A modified Java-virtual machine that implements a proxy mechanism for transferrable objects and the necessary checks to keep track of object ownership during execution (a mutable object is owned by at most one component during execution).
This combination of features is original compared to the current state of the art exemplified e.g. by the Singularity operating system [70] , where messages exchanged between isolation units (called processes in Singularity) are restricted to have a tree structure. A simpler and potentially more efficient virtual machine design for the same asynchronous model, which relies on simple read barriers and a combination of alias and control flow analysis, has also been devised and is currently being implemented.