Simulation avec ReactiveML et Lucky
Plusieurs expériences de simulation de réseaux ont été réalisées en utilisant REACTIVEML et son lien avec le langage LUCKY.
Le premier simulateur (ELIP) a été fait en collaboration avec
Farid Benbadis de l'équipe réseau du LIP6. C'est un simulateur
de protocole de routage dans les réseaux mobiles ad-hoc avec
positionnement géographique. L'implantation du simulateur est
décrite dans [17]. Ce simulateur a permis de
mettre en avant l'utilité des aspects dynamiques du langage pour
simuler l'ajout et le retrait de nuds du réseau.
Le second simulateur (GLONEMO [22]) est un simulateur de réseaux de capteurs. Il a été réalisé pour évaluer l'influence des protocoles MAC sur la consommation d'énergie. Ainsi, contrairement au simulateur précédent qui faisait une simulation au niveau paquet, GLONEMO est un simulateur à grain fin.
La particularité de GLONEMO est d'utiliser la connexion entre REACTIVEML et LUCKY. Comme il a été montré dans [21], le prise en compte de l'environnement pour la simulation de réseaux de capteurs est nécessaire. Ainsi, dans le simulateur le réseau est modélisé en REACTIVEML mais l'environnement qui active les capteurs est modélisé en LUCKY.
Il est ressorti de ces expériences que le langage est bien adapté pour
la simulation. Les structures de données utilisées dans les
simulateurs (nuds et paquets) ont pu être définies aisément. La
composition parallèle synchrone s'est révélée bien adaptée pour simuler des
réseaux asynchrones.
Par ailleurs, ces simulateurs ont permis l'évaluation des performances
du langage. Par exemple ELIP a été comparé à un simulateur analogue
écrit en OCAML (NAB 4). Nous nous sommes
également intéressé a la simulation de grands réseaux : le simulateur
GLONEMO peut ainsi simuler des systèmes de grande traille
(140000 nuds dans moins de 700 Megabytes). Enfin, pour vérifier
la robustesse, nous avons exécuté des simulations pendant plus de 20
jours sans augmentation de la mémoire consommée.
Pascal Raymond 2006-11-16