1 / 10

La machine virtuelle virtuelle utopie et/ou réalité ?

La machine virtuelle virtuelle utopie 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@lip6.fr Lionel.Seinturier@lip6.fr www-sor.inria.fr/~vvm.

quilla
Download Presentation

La machine virtuelle virtuelle utopie et/ou réalité ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. La 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@lip6.fr Lionel.Seinturier@lip6.fr www-sor.inria.fr/~vvm

  2. Besoins 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

  3. moteur d'exécution chargeur d'objets MyAppli main() {} MV classique Machines 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 => nouveau langage + nouvelle MV) • pas adaptable (évolution du langage) • pas intéropérable

  4. Objectifs • 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é

  5. monAppli type: maVMlet main() { ... } maVMlet myPush { ... } getList { ... } def-ins myPush def-prim getList interpréteur optimiseur code natif générateur de code ressource minimale mémoire, E/S, CPU Machine 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

  6. MVV & 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 [conception] 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

  7. aspect aspect tresseur d'aspects méta modèle méta modèle Application augmentée par les aspects points de jonction points de jonction application compilation/ interprétation MVV & AOP Principe de la programmation par aspects

  8. Niveau langage Niveau environnement d'exécution accès réflexif au code d'une application méta-modèle reconfiguration dynamique d'applications tresseur MVV & AOP • Gains escomptés • performances (recompilation dynamique) • facilité d'écriture du tresseur (MVlet)

  9. MVV & 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

  10. Ré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

More Related