(Networked Software Agent) une architecture multiagent NetSA (Networked Software Agent) une architecture multiagent
Plan de la présentation Introduction Caractéristiques de NetSA - réutilisation et portabilité - communication entre agents Couches de NetSA - l’unité de communication avec l’utilisateur - l’unité de traitement de l’information - l’unité d’interrogation et d’extraction des données
Plan de la présentation Détails des agents composants de NetSA Agent utilisateur Agent superviseur Agent intermédiaire Agent ressource
Introduction L'évolution de l'Internet et l'apparition des entrepôts de données couplées à la nature dynamique et hétérogène de l'information font en sorte qu'il est de plus en plus difficile de trouver l'information récente recherchée malgré son abondance. Une approche prometteuse à la résolution de ce problème consiste à utiliser les agents et les systèmes multiagents
Caractéristiques de NetSA Réutilisation et portabilité NetSA a été développée comme un ensemble d’agents communiquant via KQML. Elle peut être utilisée pour la recherche sur Internet, pour les finances ou pour la santé moyennant des changements quant au contenu des agents. Le fait d’être programmé en Java de Sun Microsystems fait de NetSA une architecture portable
Caractéristiques de NetSA Communication entre agents Efficacité d'un système multiagent dépend de l'efficacité de ses communications. JATLite KQML Langage de requête NetSA
JATLite Java Agent Template Lite Enregistrement Connexion Enregistrement Connexion Echange des messages KQML Agent Routeur
KQML Knowledge Query and Manipulation Language. Contenu Message Communication Émetteur Récepteur Nature de la communication Langage Ontologie Acte du langage Contenu du message Basé sur les actes du langage.
Langage de requête NetSA KQML Langage de requête NetSA (ask Sender : Supervisor Receiver : SourceAgent Reply-with : 98061018232671 In-reply-to : null Context: db-query Content: * ) * Content : [in] First-name = "Marc"; Last-name = "Côté"; NAS = 123 456 789; [out] Salary; Age; Sex;
Couches de NetSA HTML Unité de Communication avec l’Utilisateur Unité de Traitement de l’Information Unité d’Interrogation et d’Extraction des données Base de Données HTML
Architecture NetSA Plusieurs types d'agents Agent utilisateur Netscape Agent Utilisateur Plusieurs types d'agents Agent Superviseur Agent Intermédiaire Agent utilisateur Agent intermédiaire Agent superviseur Agent ressource Un ou plusieurs agents de chaque type Agent Ressource Base de Données HTML
Architecture NetSA Agent utilisateur Netscape Agent utilisateur Agent Utilisateur Agent Utilisateur Agent Utilisateur Porte d'entrée des requêtes de l'utilisateur Recueille les informations pertinentes et affiche les résultats Utilisation de formulaires Base de Données HTML
Agent utilisateur
Architecture NetSA Routage d'adresse Courtier Recruteur Pages Jaunes Agent 1 Agent 2 Ask x Tell x Courtier Agent 1 Agent 2 Tell x Broker X Advertise X Ask X Agent 1 Agent 2 Tell x Recruit X Advertise X Ask X Recruteur Agent 1 Agent 2 Ask / Tell x Reply Recommend X Advertise X Pages Jaunes
Architecture NetSA Agent Intermédiaire Pages jaunes Netscape Unité de Communication avec l’Utilisateur Agent Utilisateur Agent Intermédiaire Unité de Traitement de l’Information Agent Intermédiaire Pages jaunes Tout agent voulant faire partie du réseau doit s'y enregistrer Retourne le nom de l'agent Unité d’intérogation et d’extraction de l’information Base de Données HTML
Agent Intermédiaire
Plan Architecture NetSA Agent Superviseur Exécution des requêtes Netscape Agent Superviseur Unité de Communication avec l’Utilisateur Agent Utilisateur Exécution des requêtes Unité de Traitement de l’Information Plan 1) Accéder au fichier des banques 2) Trouver celles qui font le service X 3) Trouver celles qui font Y 4) Trouver celles qui font XY 5) Fermer le fichier Agent Superviseur Agent Intermédiaire Planification utilisant des plans pré-définis Unité d’intérogation et d’extraction de l’information Compléter l'information manquante par les agents ressources Base de Données HTML
Architecture NetSA POPA (Programmation Orienté Plan pour les Agents) Netscape Unité de Communication avec l’Utilisateur Agent Utilisateur POPA (Programmation Orienté Plan pour les Agents) Unité de Traitement de l’Information Agent Superviseur Agent Intermédiaire Unité d’intérogation et d’extraction de l’information Développé dans DAMAS Exécution concurrente Syntaxe intuitive Base de Données HTML
Agent Superviseur
Les types de messages Réception d’une requête Réception d’une réponse le démarrage de l’exécution d’un plan Réception d’une réponse le déclenchement un processus d’insertion des données Transmission de requêtes ressource la construction d’un message KQML pour être envoyé vers un agent ressource Transmission de requête page jaune la construction d’un message KQML pour être envoyé vers un agent intermédiaire Transmission de réponses la construction d’un message KQML pour être envoyé vers l’agent utilisateur
Agent Superviseur
Architecture NetSA Agent Ressource Netscape Unité de Communication avec l’Utilisateur Agent Utilisateur Agent Ressource Recherche et extraction de l'information dans une base de données ou dans une page HTML Mise à jour des bases de données Unité de Traitement de l’Information Agent Superviseur Agent Intermédiaire Unité d’intérogation et d’extraction de l’information Agent Ressource Base de Données HTML
Agent Ressource
Références Côté M., Chaib-draa B. and Troudi N. "NetSA : une architecture multiagent réutilisable pour les environnements riches en informations" Information, Interaction, Intelligence, Cépaduès, Toulouse Marc Côté et Nader Troudi "NetSA : Une architecture multiagent pour la recherche sur Internet" L'EXPERTISE informatique "NetSA ( Networked Software Agents) : Une architecture multiagent pour la coopération et la négociation entre agents" 66ième Congrès ACFAS
Questions ?
Exemple d’utilisation de NetSA une compétition entre les agents-banques, en vue de proposer les meilleurs taux hypothécaires aux clients avec des algorithmes à la base d’enchères qui pourraient optimiser le profit de l’acheteur ou du vendeur selon les conditions de vente.