II.4.4 Spécification de nos implémentations
Notre travail consiste à implémenter des
modèles de mobilité et y simulé le comportement des
protocoles de routage. Pour cela, nous avons implémenté trois
modules qui permettent de simuler quatre modèles de mobilités.
Parmi lesquels, le modèle de mobilité à promenade
aléatoire, le modèle de mobilité à promenade
aléatoire avec pause, le modèle de mobilité à
direction aléatoire et une version du modèle de mobilité
à section de ville.
Pour nos implémentations, nous avons opté pour
un environnement de programmation orienté objet qui, non seulement va de
paire avec la philosophie de NS mais permet aussi de rendre
efficace, évolutif, lisible, réutilisable et fiable le code
généré.
Parmi les avantages de nos implémentations, la
réduction du caractère aléato ire, tout en ayant des
modèles mieux proche de réalité.
Utilisation :
Nous avons implémenté en java (jdk de sun) par
conséquent il est nécessaire de compiler le code source pour
avoir le fichier byte-code qui sera interprété par la machine
virtuel java (jvm).
Les modules implémentés sont les suivants :
Mainly1 : Pour le modèle de promenade aléatoire et
promenade aléato ire avec pause. Mainly2 : pour le modèle de
mobilité à section de ville.
Mainly3 : pour le modèle de mobilité de direction
aléatoire.
Pour compiler :
javac Mainly1.java
javac Mainly2.java
javac Mainly3.java
Ces commandes permettent de générer le fichiers
byte-code.
Pour exécuter :
Les commandes :
Java Mainly1 ;
Java Mainly2 ;
Java Mainly3 ;
Afficheront à l'écran les paramètres
nécessaires pour le déroulement des models. Par exemple pour le
module Mainly1 cette sortie est :
-n <nombre de n°uds>
-x <la largeur de la zone de simulation>
-y <la longueur de la zone de simulation>
-v <vitesse>
-tp <temps de pause>
-t <durée de la simulation>
L'ordre dans laquelle apparaîtront ces paramètres
est moins important vu la présence des tags. Pour le module Mainly 1, la
génération d'un fichier de mouvement pour le modèle RWP ou
le modèle RW dépend du permettre --tp (temps de pause). Autrement
dit, si le temps de pause vaut 0 c'est le RW dans le cas contraire c'est le RWP
qui sera généré.
Ex : java Mainly1 --n 50 --x 1000 --y 500 --t 100 --v 20 --tp 0
pour le RW.
java Mainly1 --n 50 --x 1000 --y 500 --t 100 --v 20 --tp 10 pour
le RWP avec temps de pause 10.
Le nom du fichier de sorti, celui qui contiendra la
définition des mouvements, est demandé après avoir valider
la ligne de commande.
Le module Mainly3 est utilisé de façon très
similaire que le module Mainly1.
Pour le module Mainly2, il est défini comme tout
modèle de mobilité à section de ville, pour une situation
géographique bien déterminé. Nous avons prévu deux
types de route, ceux des périphériques, qui sont à grande
vitesse (vitesse défini et fixe à 30 m/s) et ceux de
l'intérieur pour lesquelles la vitesse ne peut dépasser le 20
m/s. c'est cela qui est fourni lors du passage des paramètres de la
ligne de commande. La figure 4.1 illustre la topologie et les types de routes
de la situation géographique considérer.
Contrairement aux autres models, pour effectuer une simulation
dans une zone de 1000x500, l'utilisateur doit spécifier 1 200x700, comme
taille de la zone de simulation, dans le script tcl ainsi que dans la
spécification des paramètres du model de mobilité car
l'espace défini par les coordonnée (x <=100)ou(x >=
maxx-100 )ou(y <= 100) ou (y>= maxy -100) est inaccessible.
Hormis le fichier de mouvement, nous avons
implémenté un générateur de trafic adapté
à nos simulations. Ce générateur, « statique et
dynamique », est intégré au script TCL de simulation.
Ligne à grande vitesse
Figure 4.1 : Topologie de la section de ville
considérée
II.5 Visualisation et extractions des résultats:
NS est accompagné d'autres outils qui permettent de
visualiser le comportement du réseau pendant la simulation, de
générer un fichier de sorti contenant les
événements qui se sont déroulés pendant la
simulation.
|