Chapitre i : La plate forme multi agents JADE
Exemple [Oli04]:
(request
:sender (agent-identifier : name A)
:receiver (set (agent-identifier : name B))
:content
"( (action (agent-identifier :name B) (inform-if: sender
(agent-identifier :name B) :receiver (set (agent-identifier :name
A))
:content \"in( lannion, normandy)\"
:language Prolog)) )"
:language fipa-sl)
3. Les protocoles d'interaction dans la norme
FIPA
Un protocole d'interaction est définit comme un
ensemble de règles qui guident l'interaction entre plusieurs agents.
Donc l'utilisation de protocole permet d'arriver plus vite à la solution
car les agents connaissent quels sont les messages qu'ils peuvent recevoir pour
un état donné de l'interaction, quels sont les messages qu'ils
peuvent envoyer et quelles sont les règles qui guident le choix
lorsqu'il y a indéterminisme entre plusieurs messages possibles. Les
agents convergent plus vite vers la solution.
Pour un état donné du protocole d'interaction :
il existe un nombre fini de messages admis en émission ou
réception. Si un agent accepte d'utiliser un protocole, il accepte de se
conformer à ce protocole et respecter les règles (syntaxique,
sémantique). De plus, il approuve la sémantique du protocole.
Parmi les notions fondamentales qui caractérisent un
protocole d'interaction [Tar06]:
ü un protocole d'interaction est un pattern d'interaction.
Donc il est nécessaire de le représenter d'une manière
générique, indépendamment du contexte d'application.
ü chaque protocole d'interaction a un but.
ü un protocole d'interaction fait intervenir deux ou
plusieurs agents. Chaque agent joue un rôle qui permet de l'identifier au
cours de l'interaction.
Chapitre i : La plate forme multi agents JADE
ü Un protocole d'interaction définit les
règles d'ordonnancement des messages et les actions auxquelles le
protocole fait appel. Ces règles permettent de régir une
interaction.
Une partie des protocoles d'interaction fournis par FIPA est
énumérée ici [11]:
ü FIPA-Request.
ü FIPA-Querry.
ü FIPA-Contract-Net.
ü FIPA-Request-When.
ü FIPA-Iterated-Contract-Net.
ü FIPA-Auction-English.
ü FIPA-Auction-Dutch.
ü FIPA-Brokering.
ü FIPA-Recruiting.
ü FIPA-Subscribe.
ü FIPA-Propose.
Nous détaillons dans ce qui suit le protocole
FIPA-Contract-Net.
3.1. Le protocole Contract Net
Le protocole réseau contractuel ("Contract Net" en
anglais) est utilisé dans les SMA pour résoudre le
problème d'allocation des tâches (Davis et Smith, 1983). Les
agents coordonnent leurs activités grâce à
l'établissement de contrats afin d'atteindre des buts
spécifiques.
Les agents peuvent prendre deux rôles:
Gestionnaire ou Contractant.
Le gestionnaire commence par décomposer la tâche
en plusieurs sous-tâches et annonce chaque sous-tâche sur un
réseau d'agents (les contractants). Les agents qui reçoivent une
annonce de tâches à accomplir évaluent l'annonce. Les
agents qui ont les ressources appropriées, l'expertise ou l'information
requise pour accomplir la tâche, envoient au gestionnaire des soumissions
("bids" en anglais) qui indiquent leurs capacités à
réaliser la tâche. Le gestionnaire rassemble toutes les
propositions qu'il a reçues et alloue la tâche à
|