• Aucun résultat trouvé

5.2 BISSA : un Framework bio-inspiré pour l’auto-adaptation des réseaux de capteurs et

5.2.1 L’agent dans BISSA

Après le déploiement dans le WSAN, chaque agent « SA » se trouve seulement dans un nœud capteur (pas dans un nœud actionneur), les structures génotypiques de ces agents sont générées aléatoirement. Dans BISSA, chaque agent « SA » consiste des attributs, un corps et des comportements et chaque agent « AA » est une extension de l’agent « SA » en termes d’actions supplémentaires. Cette architecture est expliquée dans la section 3.3.1, mais avec les suppléments suivants.

− Les attributs : nous avons ajouté le rang d’agent comme un nouvel attribut, qui détermine le type de l’agent « SA » ou « AA ».

− Le Corps : nous avons ajouté un nouvel ensemble de fonctions appelée les actions, qui concerne les agents « AA ». Ces actions sont définies par l’utilisateur selon le cas d’utilisation, par exemple, une action qui permet d’allumer et d'éteindre les sirènes en cas d’incendie.

− Les Comportements : nous avons ajouté un nouveau comportement pour les agents « SA » et « AA », appelé « changement de rang ». Chaque agent invoque ses comportements à l'ordre suivant dans chaque cycle d’activation (cf., la figure 5.2).

Dans cette partie nous avons gardé les mêmes définitions des comportements sauf pour les comportements suivantsque nous redéfinissons comme suit :

− Swarming: Chaque agent peut se joindre (ou se fusionner) aux autres agents sur un nœud intermédiaire (capteur ou actionneur) à condition que ces agents se déplacent vers la même SB. Plusieurs agents deviennent un seul agent. Sur chaque nœud actionneur, un agent « AA » peut attendre une période du temps (Atw) pour l’arrivée des autres agents au nœud actionneur actuel, il peut se joindre avec les agents « AA » ou « SA ». Aussi sur chaque nœud capteur, un agent « SA » fait la même chose, mais il peut attendre une période du temps (Stw, avec Stw<Atw), à l’exception qu’il ne peut pas se joindre avec les agents « SA ». Dans les deux cas, si plusieurs agents se sont rencontrés sur le même nœud et ils s’achemineront vers la même SB ou le même nœud actionneur, alors ils se fusionnent en un seul agent qui agrège toutes leurs données captées, en tenant compte de la taille maximale du paquet.

− Stigmergie : nous avons défini deux nouveaux types de phéromones concernant le nœud actionneur. Donc cinq types de phéromones doivent être disponibles sur chaque nœud local, à savoir : les phéromones de station de base (BSP), de nœud actionneur (ACP), d’isolement (IP), de migration (MP) et d'alerte (AP). Chaque phéromone a sa propre concentration, qui diminue de moitié à chaque cycle d’activation, et disparaît quand sa concentration atteint zéro.

Les définitions de nouvelles phéromones sont ci-dessous et les autres restent inchangées (cf., la section 3.3.2).

BISSA : Extension de MONet pour les RCSF hétérogènes

96

• Phéromone de nœud actionneur (ACP) : Cette phéromone similaire à la phéromone BSP de la station de base. Chaque nœud actionneur diffuse périodiquement une information centrale appelée la phéromone ACP vers les nœuds du réseau afin d’attirer fortement les agents. Ces phéromones jouent le même rôle de phéromones BSP.

• Phéromone d’isolement (IP) : Cette phéromone similaire à la phéromone AP, mais l’IP aide les agents dans l’évitement des nœuds actionneurs temporairement isolés. Lorsqu’un nœud actionneur ne peut pas communiquer avec un autre nœud actionneur, il doit donc diffuser la phéromone IP vers les nœuds capteurs afin d’avertir les agents afin qu’ils évitent de s’y déplacer. Chaque phéromone IP indiquant l’ID du nœud actionneur isolé et sa propre concentration.

− Le déplacement : en utilisant les phéromones BSP et ACP disponibles sur les nœuds capteurs, les agents peuvent trouver les SBs ou les nœuds actionneurs qui se situent à proximités et se déplacent vers l'un d'eux en grimpant sur un gradient de concentration de phéromones correspondantes. Au cas où l’agent détecte une phéromone IP, il lui faut donc éviter de se déplacer vers le nœud actionneur qui est indiqué par cette phéromone. En effet, chaque agent lors de son déplacement dans le RCSF vers la SB or le nœud actionneur, il doit choisir un nœud intermédiaire comme sa prochaine destination en se basant sur les concentrations du cinq phéromones citées auparavant.

Tout d’abord, chaque agent « SA » sur un nœud capteur, examine l’équation 5.1, afin qu’il détermine, s’il lui faut se déplacer à la SB ou à un nœud actionneur, dans ce dernier cas, c’est lequel ?

, ,

,

j i j i j BSP ACP IP a

Max   où iE (5.1)

L’agent sur le nœud capteur « j » fait une comparaison entre la valeur de la concentration de phéromone BSP correspondante au nœud « j » ( j

BSP

 ) et toutes les valeurs qui résultent de la

différence entre la valeur da la concentration de phéromone ACP ( i j,

ACP

 ) et IP (

IPi j, ) correspondantes à chaque nœud actionneur « i » qui appartient à l’ensemble de nœuds actionneur (Ea) qui se situent à la proximité de nœud « j » (i.e., leurs propres phéromones sont disponibles sur le nœud « j »). L’agent choisit le nœud actionneur (y compris la SB) qui produit la valeur la plus élevée.

Deuxièmement, chaque agent « SA » (resp., AA) examine l'équation 5.2 pour déterminer le prochain nœud capteur (resp., nœud actionneur) vers lequel il se déplacera.

min 2 max min j k t t j t t k t t

Sw w  

 

+ =

=

(5.2)

BISSA : Extension de MONet pour les RCSF hétérogènes

97

Un agent « SA » (resp., « AA ») calcule cette somme (Swj) pour chaque nœud voisin « j » (resp., seulement le nœud actionneur) et se déplace vers le nœud pour lequel la somme est la plus élevée. Avec t désigne le type de phéromone; de 1

j

à 4

j

représentent les concentrations de phéromone j

BSP

 ,

MPj ,

APj et j ACP

 respectivement, où cette dernières correspondante au nœud actionneur qui a été choisi selon l’équation 5.1 sur le nœud « j ». k indique l'étape de démarrage de calcul, si l’agent « SA » choisit de se déplacer vers un nœud actionneur, alors k=2, sinon k=1 (resp., dans le cas d’agent « AA » toujours k=1 ). min

t

 et max

t

 représentent la valeur minimale et maximale de la concentration correspondante pour chaque type de phéromone existant dans la table de phéromones PT du nœud « j », respectivement.

En ce qui concerne l’ensemble de coefficients {𝓌1, 𝓌2, 𝓌3, 𝓌4}de l’équation 5.2, que l’agent hérite de ses parents. Ces coefficients régissent la façon dont les agents exécutent leurs comportements du déplacement. Chaque agent quand il est « AS », il utilise le sous-ensemble {𝓌1, 𝓌2, 𝓌3}, dès qu’il devienne « AA », il utilise le sous-ensemble {𝓌2, 𝓌3, 𝓌4}. Cela est expliqué bien détail dans la section 3.3.3.

− Changement de rang : lorsqu'un agent est arrivé à un nœud actionneur qui n'est pas isolé, il doit promouvoir son rang de « SA » à « AA », puis continue son déplacement vars la SB à travers les nœuds actionneur intermédiaires. Cependant, au cas où un agent « AA » s’est déplacé au nœud actionneur isolé, alors il doit dégrader son rang de « AA » à « SA », puis continue son déplacement vers la SB à travers les nœuds capteur intermédiaires, ainsi qu’il doit émettre la phéromone IP, si ce nœud actionneur n’a pas déjà été référencé pas un autre agent, et ainsi de suite. Ce comportement est effectué par la mise à jour du champ Type de la structure de l’agent mobile (cf., la section 3.6.1.2), où la valeur 0 pour l’agent « SA » et 1 pour l’agent « AA »

5.2.1.1 La Séquence des comportements de l'agent

La figure 5.2 illustre la séquence de comportements que chaque agent effectue sur un nœud capteur et un nœud actionneur pendant chaque cycle d'activation. Premièrement, quand un agent SA capte les données, il s’acquiert une quantité constante d'énergie qu’il utilise pour invoquer les comportements, dès que l’agent la consomme totalement, donc il meurt (cette situation nommé la famine). En effet, dans chaque cycle d’activation, l’agent SA se réplique si la valeur de l'énergie acquise est suffisante pour invoquer le comportement de réplication. Chaque agent se déplace saut par saut vers la SB à travers les nœuds intermédiaires (y compris les actionneurs), dans ces derniers l'agent doit attendre certain temps afin d'invoquer, si possible, le comportement Swarming avec d'autres agents. Lorsqu’un agent veut invoquer le comportement de déplacement, tout d’abord, il choisit selon l’équation 2.333 un nouveau nœud auquel il se déplacera. Si le déplacement d’un agent à sa nouvelle destination, est effectué avec succès, il émit la phéromone de migration, sinon il émit la phéromone d’alerte vers les nœuds voisins seulement. Une fois que les agents SA arrivent aux nœuds actionneurs qui ne sont pas isolés, ils changent leurs rangs de SA à AA, et vice-versa.

BISSA : Extension de MONet pour les RCSF hétérogènes

98

Figure 5.2 La séquence de comportement d’un agent au sein de BISSA.

5.2.1.2 La structure génotypique d’un agent dans BISSA

Chaque agent porte ses propres paramètres, en tant qu’une structure génotypique, qui régit l’invocation de ses comportements dans le nœud sur lequel il réside. Dans BISSA, la structure génotypique de l'agent se compose d’un paramètre et des quatre gènes : le délai d’attente (Stw ou Atw) concerne le comportement de swarming, c’est un paramètre acquis et les quatre coefficients {𝓌1, 𝓌2, 𝓌3, 𝓌4} de l’équation 5.2, ce sont des gènes hérités, la valeur de Stw et d’Atw, est toujours positive et est calculée de façon aléatoire et la valeur de chaque coefficient 𝓌t est de {-1,0,1}. Cette structure est représentée comme dans la figure 4.3, mais le gène 𝓌4 correspond à la phéromone ACP.

5.2.1.3 Les Objectifs vs les contraintes

Dans cette partie, nous avons gardé les mêmes définitions des objectifs cités dans la section 3.4.2, à part le coût que nous définissons comme suit :

− Coût (C) : représente la quantité d’énergie qui est consommée par l’agent « i » pendant son déplacement de nœud source « j » à la SB. Il se mesure comme suit :

( )

( ) (

2

)

2 tx tx i radio sense j s j s i data

N E S E

E

x x y y

C

N

 

  +

 

+  +

 

=

(5.3)

Où Esense, Etxet Eradio représentent respectivement la consommation d'énergie nécessaire (en mW) pour collecter les données du nœud capteur, transmettre un bit de données entre deux

BISSA : Extension de MONet pour les RCSF hétérogènes

99

nœuds voisins et fonctionner le circuit radio dans un nœud. Ces constantes sont obtenues à partir de [29]. Ntx est le nombre total de transmissions capteur et capteur-à-actionneur, qui sont effectués par l’agent « i » pendant son déplacement à la SB, y compris ses transmissions réussies et échouées, ainsi que les transmissions de ses phéromones de migration et d'alerte, mais sans tenir compte des transmission actionneur-à-actionneur (parce que la capacité énergétique d'un actionneur est illimitée). Si est la taille de l’agent « i » en bit. Ndata est le nombre total de données transportées par un agent « i ».

Documents relatifs