Title: La machine virtuelle virtuelle utopie et/ou r
1La machine virtuelle virtuelleutopie et/ou
réalité ?
Bertil Folliot Ian Piumarta Lionel
Seinturier Carine Baillarguet LIP6 /CNRS -
thème SRC, Université Paris 6 INRIA Rocquencourt
- projet SOR Bertil.Folliot_at_lip6.fr Lionel.Sein
turier_at_lip6.fr www-sor.inria.fr/vvm
2Besoins des applications modernes
- Environnement d'exécution actif
- Adaptabilité/spécialisation OS langage
- Flexibilité/extensibilité pour ajouter/modifier
des fonctionnalités, en fonction de
l'application, de son utilisation ou des
évolutions matérielles
3Machines virtuelles
- Machines virtuelles classiques (ex Java VM)
- En utilisation croissante pour résoudre les
problèmes systèmes - Applications portables, compactes, sures, (un
peu) spécialisables - Chargement de bytecode, interprétation, JIT
- MAIS
- peu flexible (nouveau domaine gt nouveau langage
nouvelle MV) - pas adaptable (évolution du langage)
- pas intéropérable
4Objectifs
- Construire une plate-forme d'exécution
(minimale) dans laquelle chaque expert
informatique d'un domaine construit son
environnement d'exécution (OS, API, langage) - sur lequel les programmeurs développent les
solutions - Adaptation et flexibilité et interopérabilité
5Machine Virtuelle Virtuelle
- MVV une plate-forme d'exécution (MV) dans
laquelle on construit son environnement
d'exécution (appelé MVlet) langage, API,
modules systèmes,
MV d'environnement système
MV d'environnement applicatif
6MVV AOP
- Programmation par aspects (AOP)
- améliorer et augmenter la modularité des
applications - gérer le code enchevêtré
- Un aspect
- une unité de décomposition transverse concepti
on aux fonctionalités de l'application - une structure logicielle implantation
- Transversalité des aspects
- inhérente dans les applications complexes
- traduit un besoin d'intégration de l'application
dans son environnement - ne peut pas forcément être traitée par les
approches habituelles
7MVV AOP
Principe de la programmation par aspects
8MVV AOP
- Gains escomptés
- performances (recompilation dynamique)
- facilité d'écriture du tresseur (MVlet)
9MVV Distribution des connaissances
- Notion d'information active
- La MVV sert de base pour concevoir un
environnement d'exécution actif pour la
mobilité et le partage d'information - Ajout dynamique de nouvelles connaissances
(sous forme de règles, programmes, ...) pour
traiter l'information
10Réalisation
- RVM et µ-MV
- Machines virtuelles à la Scheme
- Disponible (900Ko) sous licence GPL
- Générateur dynamique de code de MV
- Chargement dynamique de bibliothèque système
- Applications
- Réseaux actifs PLANlet et ANTSlet
- Satellite PLERS reconfiguration logiciel pour
le satellite COROT