Simuler clustring ds NS2

Fermé
m2comte Messages postés 1 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 29 avril 2011 - 29 avril 2011 à 13:11
Bonjour,

mon projet de fin d'etude et comparer deux algorithmes de clustérisation dans un réseau ad hoc avec ns2 et je suis débutante dans Ns2, comment fait la simulation ? je ne sais pas comment on peut introduire un algorithme dans ns2 pour le simuler . aidez moi SVP

voila un algorithme (à simuler)de formation des clusters dans ad hoc ,
en deux phases:
1/Pseudo-code de la phase set-up

1. Assigner des valeurs aux coefficients ?, ? et ?
2. Initialiser T imeCluster /* Temps nécessaire à l'exécution de la phase set-up */
3. pour tout noeud u ? G faire /* Initialiser le vecteur d'état de tous les noeuds */
- Attribuer un identifiant N odeid au noeud u
- N odeCH = 0;
- Size = 0;
- Hop = 0;
fin pour
4. /* Tout noeud u ? G calcule son poids en fonction de sa 2-densité, son énergie restante, et sa
mobilité */
pour tout noeud u ? G faire
W eight(u) = ? ? 2-densité(u) + ? ? Res-Energie(u) + ? ? Mobilité(u)
5. Répéter
- Tout noeud u diffuse un message "Hello" dans son 2- voisinage ;
/* Choisir le noeud ayant le plus grand poids dans son 2-voisinage comme cluster-head */
- Choisir v ? N12 [u] : W eight(v) = M ax(W eight(w) | w ? N12 [u]) ;
- Update_CH_State(CH)
/* Mettre à jour le vecteur d'état du cluster-head élu (CH) */
CH ? N odeCH = CH ? N odeid ;
CH ? Size = 1 ;
CH ? Hop = 0 ;
- Envoi du message ADV_CH par CH à ses 2-voisins (N12 [CH])
- si (un noeud u ? N12 [CH] reçoit le message ADV_CH) && (u ? N odeCH ! = 0)
alors
* u envoie un message REQ_JOIN à CH
/* u demande d'affilier à CH */
/* CH vérifie si la taille du cluster n'atteint pas T hreshU pper */
* si (CH ? Size < T hreshU pper )
alors
? CH envoie le message ACCEPT_CH au noeud u ;
? CH exécute la procédure d'adhésion
CH ? Size = CH ? Size + 1 ;
? u exécute la procédure d'adhésion
u ? N odeCH = CH ? N odeCH
? si (u ? N1 [CH])
alors u ? Hop = 1
sinon u ? Hop = 2
fsi
fsi
fsi
6. Update(T ableCluster ) ;
7. Jusqu'à ce que Expired(T imeCluster ) ;

et la deuxième étape

2/Pseudo-code de la phase de ré-affiliation

/* Tous les cluster-heads dont la taille du cluster est inférieure au seuil T hreshU pper envoient un
message de demande de ré-affiliation aux noeuds appartenant à des clusters dont la taille ne dépasse pas
T hreshLower */

1. si (Size(Clusternum_cl , CH) < T hreshU pper )
alors
- CH envoie un message (RE ? AF F _CH) à ses 2-voisins,
- si (un noeud u ? N1 [CH] reçoit le message) &&
(u appartient à un cluster dont la taille est inférieure à T hreshLower )
alors
* u envoie un message (REQ_RE ? AF F ) au CH le plus proche
4.3 Principe de CSOS
87
* si (Size(Clusternum_cl , CH) < T hreshU pper )
alors
? CH envoie un message (ACCEP T _RE ? AF F ) à u
? CH met à jour son vecteur d'état
CH ? Size = CH ? Size + 1
? u met à jour son vecteur d'état
u ? N odeCH = CH ? N odeCH
? si (u ? N1 [CH])
alors u ? Hop = 1
sinon u ? Hop = 2
fsi
fsi
fsi
fsi
2. Update(T ableCluster )

merci d'avance