Mots clés : génie logiciel, langage
dédié, réseaux actifs .
Participant : Gilles
Muller.
Les protocoles internet actuels ont une limitation
fondamentale : ils forcent l'uniformité des fonctionnalités à
travers tout le réseau et pour toutes les applications. Une
nouvelle approche, appelée réseaux actifs, consiste
à programmer dynamiquement les routeurs pour définir des
comportements spécifiques à une application ou à un paquet.
Dans ce cadre, nous avons conÇu PLAN-P [9], un langage permettant une
programmation sûre et efficace des réseaux actifs. Comme pour
le langage GAL [10], PLAN-P a été conÇu suivant notre
schéma général de conception et d'implémentation de
générateurs d'applications basé sur la notion de langage
dédié (voir module 6.2).
Comme le réseau est une ressource partagée, la
programmation des routeurs doit s'accompagner d'un contrÔle
strict des programmes qui sont téléchargés. Pour ce faire,
nous proposons une approche visant à envoyer le code source
des programmes PLAN-P sur le réseau pour permettre des
vérifications adaptées en fonction de chaque routeur. Afin de
résoudre le problème d'efficacité que pose une telle
approche, nous utilisons un compilateur PLAN-P Just In
Time (JIT) qui est automatiquement généré à partir d'un
interprète, au moyen de Tempo [17]. Par ailleurs, il est à noter que la
performance d'un programme PLAN-P compilé par ce JIT est
supérieure à celle d'un programme Java équivalent compilé
statiquement par Harissa.
PLAN-P a été utilisé pour implémenter plusieurs
applications dont la distribution multi-point adaptative de
flux audio et la construction de serveurs HTTP extensibles.
PLAN-P et son système d'exécution pour Solaris sont
disponibles via le Web à l'adresse
http://www.irisa.fr/compose/plan-p.
PLAN-P est actuellement évalué par plusieurs laboratoires
de recherche dans le monde. En particulier, le groupe
Synthetix de l'Oregon Graduate Institute est en train
d'effectuer un portage de notre prototype sur Linux.