WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Planification multi-agents pour la composition dynamique

( Télécharger le fichier original )
par Brakni Ilhem
Université de Tébessa -algerie - Ingénieur d'état en informatique 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.2. Modélisation des interactions entre agents

Les échanges entre agents peuvent être modélisés par des diagrammes de séquences, de collaboration, d'activités ou d'états-transitions.

Diagrammes de séquences : ce sont une extension des diagrammes de séquences d'UML. Connus aussi par diagrammes de protocoles d'interactions.

Les messages échangés ne sont plus des noms de méthodes mais des actes de communication. Ils sont caractérisés aussi par l'utilisation des threads d'interaction concurrents suivants :

- Emissions concurrentes : connecteur AND (a);

- 0 ou plusieurs émissions à la fois : connecteur OR (b);

- 1 seule émission parmi plusieurs candidates : connecteur XOR (c).

Diagrammes de collaboration : se construisent comme dans les modèles objets, ce sont similaires aux diagrammes de séquences.

Diagrammes d'activités : décrivent les opérations entre agents et les événements qui les déclenchent.

Diagramme d'états-transitions : décrit les changements d'état lors des échanges entre agents. 2.3. Modélisation des traitements internes des agents

Les traitements internes des agents et leurs comportements peuvent être modélisés par des diagrammes d'activités ou d'états-transitions.

3. Le langage FIPA-ACL 3.1. Introduction

Dans des systèmes multi-agents, les interactions entre agents font un concept fondamental. Pour assurer ces interactions les agents ont besoin de communiquer dans un langage compréhensible par tous les autres.

La compréhension du sens des symboles, ou à quoi les symboles font référence, demande un standard rigoureux de la sémantique et de la pragmatique. De plus il est nécessaire que les agents sachent bien utiliser le vocabulaire pour atteindre leurs buts, éviter les conflits, coopérer pour exécuter leurs tâches et modifier l'état mental d'un autre agent [19].

- Notion d'actes de langage : les philosophes du langage ont développé au cours des 25 dernières années la théorie des actes de discours qui considère que « dire quelque chose c'est en quelque sorte agir » [7]. Les paroles sont interprétées comme des actions appelées actes de discours. Cette théorie fournit un cadre qui identifie des types d'actes de discours primitifs et permet de dériver de ces types primitifs l'interprétation sous forme logique de n'importe quel verbe du langage qui exprime un acte de discours quelconque. En effet, Les types de messages des langages de communication entre agents sont appelés des actes de langage.

3.2. Le langage ACL

Le langage ACL de la FIPA est plus récent et fondé sur la théorie des actes de langage. Il a bénéficié grandement des résultats de recherche de KQML.

3.2.1. La syntaxe du message ACL : la syntaxe du message est assez similaire à celle de KQML. La figure ci-après résume sur un exemple les éléments principaux du message ACL.

Message ACL

Type d'acte

(request

:sender (agent-identifier :name i)

:receiver (set (agent-identifier :name j)) :content

((action (agent-identifier :name j) (deliver box017 (loc 12 19)))) :protocol fipa-request

:language FIPA-SL

:reply-with order567)

Paramètres
du message

Figure A.2 : Exemple d'un message ACL

Essayons maintenant à définir en bref chaque élément du message dans le tableau suivant :

Elément du message

Définition

Performatif(request)

Type d'acte de communication : représente la valeur illocutoire d'un acte de langage.

sender

l'émetteur du message

receiver

le destinataire du message

content

le contenu du message

(l'information transportée par la performative)

protocol

contrôle la conversation

language

le langage dans lequel le contenu est représenté

reply-with

identificateur unique du message, en vue d'une référence ultérieure

Tableau A.1 : Eléments d'un message FIPA-ACL.

· Le langage utilisé dans le contenu du message : le langage de contenu se réfère à la valeur locutoire d'un message envoyé d'un agent à un autre, c'est-à-dire au contenu "exprimé" de ce message, et à la façon de présenter ce contenu. Un message FIPA-ACL supporte par défaut les langages FIPA-SL, KIF (Knowledge Interchange Format), XML et RDF ; FIPA-SL ayant été spécifiquement défini par la FIPA [19].

· Le protocole utilisé : un modèle structurant uniquement le format d'un message ne suffit pas en lui même pour pouvoir structurer des conversations entre agents, ce qui est nécessaire pour conserver la cohérence des échanges successifs. Nous avons donc besoin de la notion de protocole pour supporter des conversations valides, ce qui permet aux actes de langage de prendre tout leur sens. Un tel protocole permet d'inclure le comportement d'un agent dans un contexte particulier, auquel il doit se conformer en envoyant des messages cohérents grâce à l'utilisation d'actes de langage adaptés au discours.

· Actes communicatifs (performatifs) du langage ACL : FIPA-ACL possède 21 actes communicatifs, exprimés par des performative, qui peuvent être groupés selon leur fonctionnalité de la façon suivante [19]:

- Passage d'informations: inform*, inform-if(macro act), inform-ref(macro act), confirm*, disconfirm* ;

- Réquisition d'information : query-if, query-ref, subscribe ;

- Négociation : accept-proposal, cfp, propose, reject-proposal ;

- Distribution de tâches : request*, request-when, request-whenever, agree, cancel, refuse ; - Manipulation des erreurs : failure, not-understood.

Ces actes communicatifs peuvent être primitifs ou composés [19]. Les actes communicatifs primitifs sont définis de façon atomique, c'est-à-dire qu'ils ne sont pas définis à partir d'autres actes (dans la classification ci-dessus ils sont suivis d'une étoile "*"). En revanche, les actes communicatifs composés sont définis à partir d'autres actes. Le tableau suivant représente ces différents actes ainsi que leurs sémantiques :

Performatif

Syntaxe

Sens

Accept Proposal

accept-proposal

L'émetteur accepte la proposition d'exécuter

certaines actions présentées à l'avance

Agree

agree

L'émetteur accepte d'exécuter certaines actions

Cancel

cancel

L'action de l'annulation d'une certaine action déjà demandée qui a portée dans le temps (c-à-d: n'est pas instantanée).

Call for Proposal

cfp

L'action de l'appel de propositions pour exécuter une action donnée

Confirm

confirm

L'émetteur informe le destinataire qu'une

proposition donnée est vraie

Disconfirm

disconfirm

L'émetteur informe le destinataire qu'une

proposition donnée est fausse

Failure

failure

L'action de raconter un autre agent que l'action a été essayée, mais a échouée

Inform

inform

L'émetteur informe le récepteur des informations de l'émetteur connaît.

Inform If

inform-if

L'émetteur demande au destinataire une

confirmation ou une non-confirmation d'une certaine proposition

Inform Ref

inform-ref

L'émetteur demande au destinataire un objet qui correspond à une description envoyée.

Not Understood

not-understood

L'émetteur informe le destinataire d'un non compréhension d'une action effectuée par le destinataire

Propose

propose

L'émetteur propose d'exécuter certaines actions conditionnées à certaines préconditions données

Proxy

proxy

L'émetteur demande une transmission d'un

message à des agents dont la description est donnée

Query If

query-if

L'action de demander à un autre agent si une proposition donnée est vraie ou non

Query Ref

query-ref

l'émetteur demande du destinataire un objet référencé par une expression

Refuse

refuse

L'émetteur refuse d'exécuter certaines actions parce qu'il ne peut pas les exécuter

Reject Proposal

reject-proposal

L'action de rejet d'une proposition d'effectuer une action lors d'une négociation

Request

request

L'émetteur demande du destinataire d'exécuter une certaine action

Request When

request-when

L'émetteur veut que le destinataire effectue une action lorsque certaine proposition donnée soit vraie

Request Whenever

request-whenever

L'émetteur veut que le destinataire effectue une action dès que quelque proposition devient vraie et ensuite, chaque fois que la proposition devient vraie à nouveau

Subscribe

subscribe

L'acte de demander une intention persistante d'informer l'émetteur de la valeur d'une référence, et de le notifier à chaque fois que l'objet référencé se change

Tableau A.2 : Actes communicatifs du langage ACL

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille