• Aucun résultat trouvé

2.4 Langages de modélisation et outils de simulation pour les réseaux de capteurs

2.4.2 Simulateurs Réseau

Dans cette section on décrit les caractéristiques principales des simulateurs pour WSN en terme de techniques de simulation efficace et de précision des modèles utilisés. On résume d’abord les problématiques et les techniques utilisées dans les simulateurs :

– Précision : la simulation informatique est par définition une abstraction de la réalité basée sur des modèles théoriques. Comme il a été précédemment discuté, certaines sources d’er- reurs peuvent avoir un impact sur les résultats de simulation et elles doivent être prises en compte le plus possible dans les modèles. Le niveau de détail ou granularité avec le- quel on peut définir les modèles a un impact important sur la précision des simulations. Il est relativement facile de modéliser le comportement du logiciel en simulation, mais il est beaucoup plus difficile de modéliser de façon précise le matériel, surtout dans le domaine analogique et radiofréquence. La modélisation du canal de communication est un aspect très important et différentes problématiques ont déjà été discutées en Section 2.4.1. La plupart des simulateurs utilisent des modèles de canal et de couche PHY dérivés de celui du simulateur ns-2 (46) qui seront discutés en Section2.4.2.

– Passage à l’échelle (Scalability) : il est souvent indispensable de tester si un algorithme peut fournir de bons résultats pour des réseaux comportant un grand nombre de noeuds. – Techniques d’accélération de simulation : les simulateurs réseaux utilisent dans la quasi

totalité des cas des simulations événementielles (event-driven). Il existe de nombreuses techniques qui permettent d’accélérer ce type de simulation, dont :

– Calcul parallèle et distribué : cette technique permet de faire tourner une simulation sur plusieurs processeurs ou plusieurs ordinateurs en même temps. Certains simulateurs sont conçus pour être exécutés sur plusieurs machines en parallèle, comme GloMoSim (61). – Staged simulation : cette technique permet d’éliminer les calculs redondants en réutilisant

des données précédemment calculées qui sont stockées dans une mémoire cache. Il existe une extension de ns-2 appelée SNS (62) qui permet d’accélérer la simulation d’un facteur d’environ 30% utilisant cette technique.

– Simulation Hybride : le principe d’une simulation hybride, comme décrit par les auteurs de (63), est de partitionner le modèle qui doit être simulé en plusieurs parties. Cer- taines parties seront remplacées par des modèles analytiques, réduisant ainsi le temps de simulation.

De nombreux simulateurs réseau ont été développés ces dernières années. Dans la suite on analysera plus en détail deux exemples représentatifs de simulateurs réseau.

NS-2

Le simulateur NS-2 represente le standard de fait pour la simulation réseau. C’est un si- mulateur événementiel, son architecture suit le modèle OSI et il a initialement été conçu pour la simulation des réseaux filaires. L’extension pour les réseaux sans fil a été rajoutée dans un deuxième temps et aujourd’hui (version 2.35) il est possible de simuler la couche IEEE 802.11, Bluetooth et IEEE 802.15.4. Le cœur du simulateur est écrit en C++ et sa configuration réseau se fait avec des scripts TCL. Grâce à sa licence open source il peut être librement modifié et dif- férentes extensions et améliorations lui ont été apportées au fil des années. Il fournit un support limité pour la modélisation de la consommation de puissance. Il est néanmoins possible de mo- déliser la consommation (spécifier une valeur de puissance consommée) de la radio dans les états RX, TX et IDLE. Les latences introduites par le logiciel applicatif ou le système d’exploitation ne peuvent pas être simulées, par contre il est possible de spécifier la latence de la couche MAC.

L’outil de simulation NS-2 fournit trois modèles de canal de communication : – Free-space (Friis).

– Two-ray ground. – Log-normal.

Le modèle Free-space est “dérivé” en considérant que le signal se propage en absence d’obstacles qui peuvent le refléter ou le dévier. Il n’est donc pas très adapté pour l’estimation de l’atténuation lorsque les communications ont lieu prés du sol ou en présence d’obstacles. L’atténuation dans le modèle two-ray ground est calculée à partir de l’onde directe et de l’onde refleté par le sol. Il a souvent été employé pour prédire l’attenuation sur des distances de plusieurs kilomètres dans les systèmes radio-cellulaires. Il faut remarquer que certaines hypothèses qui sont à la base de ce modèle, notamment la différence de hauteur du transmetteur et du récepteur, sont valables pour les systèmes cellulaires, où la station de base est située à plusieurs mètres du sol (dans certains cas plus de 50 m) et le récepteur entre 1 et 2 mètres du sol, les réseau de capteurs ne rentrent pas généralement dans ce cadre. Le modèle Log-normal est sûrement le mieux adapté pour prédire l’attenuation dans des environnements où la propagation par parcours multiples est prépondérante. Ce modèle est cependant incapable de prédire la corrélation spatiale des phénomènes de fading. Dans le simulateur NS-2, la transmission et la réception d’un paquet se déroulent en deux phases :

1. D’abord le simulateur calcule la puissance du signal reçu en utilisant un des modèles fournis dans la bibliothèque (pour NS-2 les modèles disponibles sont : Friis, Two-ray ground et Log- normal shadowing). Pour simuler la réception, cette valeur de puissance est comparée avec deux seuils, (RXth) la sensibilité du récepteur et le seuil de détection de la porteuse (CSth).

Si la puissance reçue est inférieure à CSthle paquet est rejeté (le noeud ne peut pas détecter

la transmission). Si la puissance est comprise entre RXth et CSth, le paquet est marqué

reçu correctement. Avec ce modèle on obtient une zone de couverture circulaire comme celle montrée en Figure 2.7a.

2. Le simulateur utilise ensuite une procédure pour simuler les collisions lorsqu’il détecte que deux paquets ont été transmis simultanément. Cette procédure se résume à une comparai- son entre la puissance reçue associée aux deux transmissions : si la différence de puissance entre les deux paquets est supérieure à 10 dB, le premier paquet est considéré comme cor- rect et le deuxième est rejeté, dans le cas contraire on considère qu’il y a une collision et les deux paquets sont rejetés.

Avec la procédure décrite ci-dessus, le récepteur se comporte fondamentalement comme un com- parateur à deux seuils pour déterminer si un paquet peut être reçu ou non. D’après les documents disponibles sur ce simulateur, il semble que le modèle de couche PHY actuellement implementé dans NS-2 (version 2.35), ne prend pas en compte les caractéristiques qui influent sur la probabi- lité de réception d’un paquet comme le type de modulation, le codage de canal, etc.. Cependant il existe des nombreuse publications qui traitent de ce sujet.

Omnet++

Omnet++ (47) est un simulateur événementiel principalement conçu pour la simulation des réseaux IP filaires ou sans fil. Le coeur du simulateur est codé en C++ et utilise une structure modulaire. Les modèles des réseaux dans le simulateur Omnet++ sont constitués à partir de modules de base qui sont assemblés en utilisant un langage de script appelé NED. Le simulateur fournit aussi un support limité pour l’exécution du code NesC (langage de programmation de TinyOS (64)). Il supporte bien le passage à l’échelle de la simulation. Les fonctionnalités néces- saires à la simulation des différents types de réseaux (réseaux ad-hoc, réseaux de capteurs, etc.) sont fournis dans différents framework :

– Castalia (65) : c’est une extension d’Omnet++ spécifiquement conçue pour les réseaux de capteurs sans fil. Il fournit des modèles réalistes de canal de communication qui prennent en compte certaines caractéristiques de l’environnement telles que la présence d’obstacles et la mobilité des noeuds. La probabilité d’erreur de la couche PHY est spécifiée en terme de SINR (rapport signal sur bruit et interférences) pour différents formats de modulation. – MiXim (66) : ce framework est conçu pour la modélisation de réseaux sans fil fixe ou mobile. Il fourni des modèles détaillés du canal de communication, de la couche PHY et MAC. Avec ce framework il est aussi possible de simuler la variabilité temporelle du canal de communication.

– Veins (67) : une extension proposée pour la simulation des communications inter-véhicules. La dernière version est basée sur le framework MixiM.