• Aucun résultat trouvé

8.2 Le modèle MWAC

8.2.4 L’axe I : Les interactions

Pour gérer les interactions internes aux systèmes multi-agents nous allons, dans cette partie, nous efforcer de définir un protocole d’interaction c’est-à-dire l’ensemble des lignes de conduite que les agents doivent suivre et qui structurent leurs échanges de messages [Occello et al., 2001].

Les protocoles d’interaction se distinguent des protocoles de communication qui existent dans les réseaux d’ordinateurs ou autres systèmes répartis [Koning et al., 1995]. En effet, les protocoles d’inter-action sont utilisés pour contrôler et structurer les échanges d’informations entre agents; l’objectif étant de diminuer la quantité d’information échangée ainsi que le temps de communication. Ils définissent donc le contexte dans lequel un message est envoyé.

Dans notre système, les agents interagissent seulement avec les agents en accointance avec eux. Un agent est en accointance avec un autre si et seulement si il est conscient de son existence c’est-à-dire présent dans son aire d’émission/réception. Ils interagissent via l’envoi de message. Nous pouvons distinguer deux méthodes pour réaliser ce type d’interaction : une méthode synchrone et une autre asyn-chrone. Dans le premier cas les agents qui communiquent doivent être en rendez-vous. Dans l’autre cas, la version asynchrone, les messages sont mémorisés. Il n’est pas nécessaire que le récepteur et l’émetteur soient donc synchronisés. Du point de vue de la communication, la solution asynchrone nous semble être la meilleure car c’est la méthode la plus flexible.

154 Une architecture SMA pour la gestion des communications sans fil

Les types de messages possibles. Nous avons décidé de créer notre propre protocole d’interaction car ceux qui existent [FIPA, 2002a] sont beaucoup trop lourds à mettre en oeuvre pour notre application, destinée à être embarquée et où le volume des émissions est à minimiser. Pour notre protocole, nous avons créé 13 types de messages différents :

Le message QuiSontMesVoisins est un message qui permet à un agent de demander à ses voisins de se faire connaître. Ce message est émis quand un agent est créé (le premier but d’un nouvel agent est de connaître ses voisins). Ensuite, ce message ne sera utilisé que lorsque l’agent aura l’impression (qu’elle soit justifiée ou non) que sa table des voisins ne coïncide plus avec la réalité (par exemple s’ il émet un message et qu’il ne reçoit pas d’ACK4, depuis un moment qu’il juge trop long5 il n’entend pas de communication autour de lui...).

Le message JeSuisUnDeTesVoisins permet à un agent de répondre à la précédente requête. Avec ce message, il fournit donc son identifiant, son rôle et son groupe d’appartenance.

Le messageJeChangeDeR^o leest utilisé par tout agent qui a changé de rôle pour en avertir ses voisins. Ce message contient comme information l’identifiant de l’agent, son rôle et son groupe d’appartenance.

Le messageDemandeGrpAgentLiaisonest utilisé par les représentants qui veulent remettre à jour leur connaissance sur les groupes voisins. Elle oblige les agents de liaison à répondre.

Le message R eponseGrpAgentLiaison est utilisé par un agent de liaison pour signaler à un représentant la liste des groupes que cet agent peut contacter.

Le message VerifieCohereneGroupeVoisinest envoyé par un agent qui croit avoir détecté une incohérence avec un groupe voisin. Il y a incohérence entre deux groupes quand deux simples membres de groupes différents se voient et que leur représentant ne peuvent pas communiquer.

Le message R esolutionConflitR epresentant est un message utilisé par un représentant en conflit avec un ou plusieurs pour communiquer son score.

Le messagePasseR epresentantest un ordre donné par un représentant à un des agents de son groupe. Il peut donner cet ordre s’il s’aperçoit par exemple qu’un groupe voisin est isolé et que la seule manière de briser cet isolement est qu’un agent particulier devienne représentant.

Le messageCherheR oute est utilisé par un représentant qui veut connaître la route à prendre (succession de couples (agent de liaison, représentant)) pour joindre un individu.

Le message R esultatCherheR oute est la réponse du représentant qui à le destinataire à sa charge.

Le messageACKMessageest un message de configuration qui confirme à l’émetteur que son message est parvenu à destination. Il intervient donc dans la gestion de la cohérence de l’organi-sation.

Le messageDonneesEnapsuleesest un message qui encapsule des données.

Le message R outeErronee est un message envoyé par un représentant qui s’est aperçu d’un problème. Ce message prend la route erronée.

Protocole d’introduction. Dans notre application nous utilisons, entre autres, un protocole

d’intro-duction des agents dans l’organisation. Il correspond à une conversation entre plusieurs agents. Il ne se situe pas au même niveau que les approches facilitateurs FIPA et KQML que connaissent les systèmes multi-agents. Cependant, ils pourraient être encapsulés via les messages DonneesEncapsulees pour être traités par l’agent. Ce protocole permet à un agent de se faire connaître par ses voisins et d’entrer dans

4. Abréviation utilisée pour le terme anglais ACKnowledge. Il s’agit de la confirmation de bonne réception d’un message. 5. Fonction de son rôle.

Le modèle MWAC 155

l’organisation. Il s’appuie sur certains des treize types de messages que nous avons définis (voir para-graphe suivant), tous d’une petite taille (la contrainte sur l’énergie étant à prendre en considération). Ainsi s’introduire correspond à envoyer le message QuiSontMesVoisins qui nous fait connaître de nos voisins et leur demande de se présenter. Ces voisins répondent avec le message JeSuisUnDeTesVoisins précisant ainsi le triplet <id,rôle,groupe> qui leur est associé. Le station détermine, en fonction de ce voisinage, le rôle qu’il doit prendre. Il le signalera à ses voisins via le message JeChangeDeRôle.

FIG. 8.5 – Protocole d’introduction

Protocole d’élection d’un représentant. Nous avons vu que dans l’algorithme que l’agent met en

oeuvre pour s’attribuer un rôle dans l’organisation peut exécuter une procédure d’élection d’un représen-tant. Cette procédure intervient quand au moins deux voisins veulent assumer le rôle de représenreprésen-tant.

Quand au moins deux agents en accointance sont représentants, chacun d’entre eux a indiqué à ses voisins son changement de rôle via le messageJeChangeDeR^ole. Dès qu’un des représentants détecte qu’un de ses propres voisins a aussi ce rôle, le protocole d’élection (figure 8.6) est instancié.

156 Une architecture SMA pour la gestion des communications sans fil