Agents Software Agents Software Technologies Technologies Qu’est qu’un Agent Lo

Agents Software Agents Software Technologies Technologies Qu’est qu’un Agent Logiciel ? « Entité informatique qui réalise de manière autonome des tâches déléguées par l’utilisateur ». Caractéristiques des ALI Mobilité Intelligence Interactions Agent de Recherche Assistant Personnel Agent Complexe Avec les autres agents Avec l’utilisateur Apprentissage Planification Raisonnement Avec les applications Fixe Mobile Langages pour la Langages pour la construction des construction des applications à base d’agent applications à base d’agents s Langages Langages Bibliographie Environnements de Développement SMA M. OCCELLO 15/04/2007 Langage, Bibliothèques et Shell (L et B et S) (B) DECAF Decker R http://www.cis.udel.edu/~graham/DECAF/ Java (L) Agent0 Shoham R (L) LALO Gauvin CRIM R http://www.CRIM.CA/sbc/english/lalo/ (L) AgenTalk Ishida R/I http://drogo.cselt.stet.it/fipa/torino/cfp1/propos97_009.htm LISP (L) Agent Building IBM I http://www.networking.ibm.com/iag/iagsoft.htm C++, Java Environment (B) JACK d'Inverno R/I http://www.agent-software.com.au/ Java (dMars) (AOS) (S) Agent Building Shell Un. Toronto R http://www.ie.utoronto.ca/EIL/ABS-page/ABS-overview.html LISP (COOL) Barbuceanu (B) FIPA-SMART R. Crepeau (US Navy) R http://satyrnt.SPAWAR.NAVY.MIL:6996/Info.html Java (B) Swarm Burhard (Santa Fe) R http://www.santafe.edu/projects/swarm Objective C (L) MAML Central European Univ R http://www.syslab.ceu.hu/maml/ Swarm (B) JAFMAS D. Chauhan http://www.ececs.uc.edu/~abaker/JAFMAS/JAFMASabstract.html Java (Uni Cincinati) Outils Outils (B) JACK d'Inverno R/I http://www.agent-software.com.au/ (dMars) (AOS) (S) Agent Building Shell Un. Toronto R http://www.ie.utoronto.ca/EIL/ABS-page/ABS-overview.html (COOL) Barbuceanu (B) FIPA-SMART R. Crepeau (US Navy) R http://satyrnt.SPAWAR.NAVY.MIL:6996/Info.html (B) Swarm Burhard (Santa Fe) R http://www.santafe.edu/projects/swarm (L) MAML Central European Univ R http://www.syslab.ceu.hu/maml/ (B) JAFMAS D. Chauhan http://www.ececs.uc.edu/~abaker/JAFMAS/JAFMASabstract.html (Uni Cincinati) Outils Intégrés de Conception AgentBuilder Thomas I http://www.agentbuilder.com/Documentation/WhitePaper/index.html (PLACA) (Reticular Sys) ADE GenSym I http://www.gensym.com/ Bond Purdue U. R http://bond.cs.purdue.edu/papers/index.html dMARS Rao R http://www.aaii.oz.au/articles/articles.html (Australian AI Inst) KAoS J. Bradshaw (Boeing) http://ksi.cpsc.ucalgary.ca/KAW/KAW96/bradshaw/KAW.html Intelligent Agent Library Bits&Pixels I http://www.bitpix.com/business/main/techspec.htm & IA Factory MAST Uni. Madrid R http://www.gsi.dit.upm.es/~mast/ Madkit Gutknecht-Ferber R Agent 0 Agent 0 Agent 0 (Shoham, 1993) Agent 0 (Shoham, 1993) – propose un nouveau style de programmation et propose un nouveau style de programmation et propose un vrai langage (AOP) intégrant un grand propose un vrai langage (AOP) intégrant un grand nombre des concepts définissant la notion d'agent. nombre des concepts définissant la notion d'agent. Caractéristiques de Agent 0 Caractéristiques de Agent 0 – un langage de programmation interprété permettant un langage de programmation interprété permettant de programmer les agents. de programmer les agents. – fondé sur un langage formel réduit utilisant la logique fondé sur un langage formel réduit utilisant la logique modale pour décrire les états mentaux. modale pour décrire les états mentaux. – Les agents sont programmés en terme de règles Les agents sont programmés en terme de règles d'échanges mentaux d'échanges mentaux Agent 0 Agent 0  AGENT0 a trois composantes : AGENT0 a trois composantes : – 1) un système logique pour définir les états mentaux de l'agent ; 1) un système logique pour définir les états mentaux de l'agent ; – 2) un langage de programmation pour programmer les agents 2) un langage de programmation pour programmer les agents – 3) un processus "agentification", pour compiler les programmes d’agents en 3) un processus "agentification", pour compiler les programmes d’agents en un système exécutable (basniveau). un système exécutable (basniveau).  Les concepts de base sont : Les concepts de base sont : – Les Les Actions Actions provoquant des faits déterminés (externes ou internes) par des provoquant des faits déterminés (externes ou internes) par des Décisions Décisions, , – Les Les Capacités Capacités indiquant dans quelle mesure l'agent est capable d'effectuer indiquant dans quelle mesure l'agent est capable d'effectuer une action, une action, – Les Les Croyances Croyances faisant référence à l'état du monde, aux état mentaux et aux faisant référence à l'état du monde, aux état mentaux et aux compétences des autres, et contraignant les décisions, compétences des autres, et contraignant les décisions, – Les Les Obligations Obligations traduisant des engagements et proposant des alternatives traduisant des engagements et proposant des alternatives pour les décisions. pour les décisions. Agent 0 Agent 0 • Le cycle de contrôle d'un agent AGENT0 Agent 0 Agent 0 Le cycle de contrôle est assez simple. Il Le cycle de contrôle est assez simple. Il consiste en la répétition de la boucle consiste en la répétition de la boucle suivante : suivante : – lire les messages, mettre à jour l'état mental, lire les messages, mettre à jour l'état mental, – exécuter les actions prévues pour le cycle exécuter les actions prévues pour le cycle courant. courant. Agent 0 Agent 0 LALO LALO  Lalo est une extension de Agent 0. L'utilisateur peut choisir de Lalo est une extension de Agent 0. L'utilisateur peut choisir de spécifier le comportement à l'aide : spécifier le comportement à l'aide : – de règles comme dans AGENT0, de règles comme dans AGENT0, – d'un ensemble de plan ou plus simplement d'une façon d'un ensemble de plan ou plus simplement d'une façon procédurale. procédurale.  L'intérêt de LALO par rapport à AGENT0 réside surtout dans L'intérêt de LALO par rapport à AGENT0 réside surtout dans son aspect compilé. Le compilateur LALO génère à partir du son aspect compilé. Le compilateur LALO génère à partir du programme de l'agent, un code source C++ pour l'agent, et le programme de l'agent, un code source C++ pour l'agent, et le code source d'un programme d'installation dans la base de code source d'un programme d'installation dans la base de données (Orientée Objet) des agents qui contient au lancement données (Orientée Objet) des agents qui contient au lancement les croyances et engagements les croyances et engagements Le compilateur Lalo Le compilateur Lalo D’autres langages D’autres langages Placa Placa MétaTem MétaTem … … – Des langages expérimentaux Des langages expérimentaux Les critères de choix (1) Les critères de choix (1) Le type de l’agent développé Le type de l’agent développé Le domaine d’application Le domaine d’application Les compétences techniques disponibles Les compétences techniques disponibles Le niveau de sécurité désiré Le niveau de sécurité désiré Le niveau de performance Le niveau de performance Les critères de choix (2) Introduction La fondation pour les agents physiques intelligents (FIPA) est une association internationale d'entreprises et d'organisations qui tentent de produire des spécifications sur la technologie utilisable par les agents intelligents. Ces spécifications doivent être actuelles, reconnues dans le monde entier, utilisables à travers un grand nombre d'applications et enfin permettre une interaction entre les applications. FIPA (1) (Fundation for Intelligent Physical Agents) Le cycle de vie dans une plate-forme agent • description des états •Initié : l'agent est créé ou vient d’arriver à la plate-forme. •Actif : l'agent opère sur AP. •Suspendu : l'exécution de l’agent a été suspendue, soit par l'agent de gestion de système ou par l'agent lui-même. Si des messages sont adressés à un agent dans cet état, l'agent de gestion du système enverra un message d'échec à l'agent envoyant. •En attente : l'agent attend un certain événement par exemple des décisions venant de AP. • description des transitions •Créer •Démarrer : démarrer ou redémarrer l'opération d'un agent. •Suspendre : suspendre l'opération d'un agent soit par AP, soit demandé par l'agent lui-même. •Activer : activer un agent suspendu. •Attendre : mettre l'agent dans un position d'attente de certains événements. Différent de l'action de suspension, l'attente ne peut être décidée par AP. •Réveiller : réveiller l'agent de l'état d’attente. Cela peut seulement être décidé par AP. •Supprimer : arrêter l'agent et le supprimer de la plate-forme. Le cycle de vie dans une plate-forme agent Une système d ’Agents Logiciels Intelligents pour favoriser la coopération entre des Système d ’Aide à la Décision dédiés à la gestion de crise Application Réelle « Ce travail présente un modèle d’Agent Logiciel Intelligent (ALI) destiné à favoriser la coopération entre les systèmes d’Aide à la décision dédiés à la gestion de crise (la lutte contre les incendies de forêts). La coopération entre les ALI repose sur l’échange d’un ensemble de service ». Problématique La demande des SAD (gestion de crise) ne cesse de croître. De nombreux systèmes sont proposés aux gestionnaires (avec une extrême variété d ’information et de services (ex. surveillance, aide à l’analyse,…). Considérés isolément, les SAD apportent satisfactions à l ’utilisateur. Cependant … Le besoin en terme d’échange d’informations et de services entre SAD ne cesse de croître . La tâche consistant à permettre la coopération entre des SAD, préalablement conçu dans des contextes différents, n ’est pas aisée. (Difficultés liées : langages, versions, structure, formats d ’échange et de communication, données, ergonomie…) Malgré les progrès au niveau des langages de programmation, les insuffisances demeurent (intégration, gestion des interactions et de coopération entre logiciels). Problématique le concept d’Agent Logiciel Intelligent (ALI) Réponses effectives et performantes quant au problème de la coopération inter-logiciels Une voie de recherche s’est entrouverte : Pour rendre coopératif un ensemble de SAD Concevoir des modèles et des méthodes Informatiques favorisant l’échange d’infos au sein d’un env. hétérogène (PC, MAC, Station de travail, C++, Lisp, Pascal,..) Proposition de Solution Concevoir et réaliser une couche de communication et de coopération entre les SAD (demande de services, échanges de points de vue, ..) Pour rendre une coopération entre SAD effective, trois approches sont possibles : Réecrire les SAD, les transformer en ALI (Av.: Améliore la qualité des uploads/Science et Technologie/ cours-3 2 .pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager