Figure A : Structure d’une « supertrame » [DEL 05]
Les modifications apportées aux fichiers du modèle de simulation
Pour que le simulateur OMNET++ puisse prendre en charge la solution qu’on a proposé, certains fichiers sources auxquels l’implémentation de Sensor-MAC fait appel, doivent être modifiés :
-----------------------------------------------------------------------------------------------------------------
Le fichier Sensor-MAC.h :
class Sensor-MAC : public BasicMac {
Module_class_Members (Sensor-MAC, BasicMac, 0) ;
protected :
double passive_preamble_time ; //variable qui va recevoir la valeur du préambule
// à l’état d’écoute passive.
double total_preamble_time ; //variable qui va recevoir la valeur du préambule
//total selon l’état du nœud capteur.
…
void startContending (int time) //commencer la contention du canal pendant « time »
…
------------------------------------------------------------------------------------------------------------------------
Le fichier Sensor-MAC.cc :
------------------------------------------------------------------------------------------------------------------------
#define SYNC_CONTEND_TIME 5
#define RTS_CONTEND_TIME 5
#define CTS_CONTEND_TIME 5
#define DATA_CONTEND_TIME 5
#define TIMEOUT_WFACK 5
#define TIMEOUT_WFDATA 5
#define TIMEOUT_WFCTS 5
...
Define_Module_Like (Sensor-MAC, Mac ) ;
void Sensor-MAC : : init ( )
{
...
passive_preamble_time = par(“mac1”) / 2 ; // la variable « passive_preamble_time » est //initialisée à une valeur égale au (1/2) de la longueur de la période d’écoute de Sensor-MAC
total_preamble_time = 3 * passive_preamble_time ; // la variable « total_preamble_time » est
//initialisée au triple de la valeur de la longueur de la période d’écoute passive dans Sensor-//MACp
total_frame_time = par (“mac2”) ;
sleep_time = total_frame_time – passive_preamble_time ;
…
}
Dostları ilə paylaş: |