Brève introduction aux agents logiciels Bernard ESPINASSE



Documents pareils
Brève introduction à la recherche d!information sur le Web à base d!agents logiciels

Intelligence Artificielle Distribuée (IAD)& Systèmes Multi-Agents (SMA)

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

L apprentissage automatique

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Modélisation multi-agents - Agents réactifs

Une Architecture Basée Agents Mobiles Pour la Recherche D'information dans des Sources Hétérogènes et Réparties

Chapitre 1 : Introduction aux bases de données

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Évaluation et implémentation des langages

Fiche méthodologique Rédiger un cahier des charges

Architecture d'entreprise : Guide Pratique de l'architecture Logique

ORACLE TUNING PACK 11G

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Comportements Individuels Adaptatifs dans un Environnement Dynamique pour l'exploitation Collective de Ressource

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Agents mobiles pour la recherche d'informations sur des réseaux hétérogènes. D.Picard & A.Revel

Segmentation d'images à l'aide d'agents sociaux : applications GPU

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SOUTIEN INFORMATIQUE DEP 5229

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Cours de Génie Logiciel

Installation d'un serveur DHCP sous Windows 2000 Serveur

Programmation orientée agents #1. v 1.3. M1 S2 - Université de Montpellier II"

Sage CRM. 7.2 Guide de Portail Client

Les nouvelles architectures des SI : Etat de l Art

WEA Un Gérant d'objets Persistants pour des environnements distribués

Module 8. Protection des postes de travail Windows 7

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

CORBA. (Common Request Broker Architecture)

Simulation de systèmes. Logiciel de simulation

Installation d un serveur DHCP sous Gnu/Linux

Conception et contrôle des SMA tolérants aux fautes

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Programmation de services en téléphonie sur IP

LES INTERFACES HOMME-MACHINE

DéSIT Démarche d ingénierie pour les Systèmes d Information Transport ambiants, sécurisés et personnalisables

Introduction: 1. définition d un ETL 2. importance et diversité des données spatiales utilitédes ETL géographiques

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

La haute disponibilité de la CHAINE DE

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Projet Active Object

BUSINESS INTELLIGENCE

et Groupe Eyrolles, 2006, ISBN :

Annexe : La Programmation Informatique

Formation projet informatique. Expression de besoins, définir un besoin informatique

Université de Bangui. Modélisons en UML

modélisation solide et dessin technique

MEAD : temps réel et tolérance aux pannes pour CORBA

2. Activités et Modèles de développement en Génie Logiciel

Alfresco Guide Utilisateur

L IMPACT DES N.T.I.C. DANS LA FORMATION PROFESSIONNELLE DES CADRES DE L INSTITUTION MILITAIRE

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Utiliser Access ou Excel pour gérer vos données

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Le temps est venu d implanter un CRM et un système de gestion de la connaissance

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Chapitre 2. Classes et objets

Programme de formation

claroline classroom online

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

NFP111 Systèmes et Applications Réparties

Les messages d erreur d'applidis Client

Qu'est-ce que le BPM?

LES ACCES ODBC AVEC LE SYSTEME SAS

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

THOT - Extraction de données et de schémas d un SGBD

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Analyse,, Conception des Systèmes Informatiques

Annuaires LDAP et méta-annuaires

Poste : AGENT AUX ACHATS. Conditions d accès à la profession : Tâches : ACHATS

ANNEXES. Evaluation de la formation à Polytech Lille Département GIS. Enseignements les plus utiles. Enseignements à renforcer

Introduction aux systèmes temps réel. Iulian Ober IRIT

Business Intelligence avec SQL Server 2012

Présentation du module Base de données spatio-temporelles

Manuel de SQUIRRELMAIL à l'usage des étudiants.

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

AFRC Centres de Relation Client - Optimisation & Virtualisation

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Windows Internet Name Service (WINS)

Introduction : présentation de la Business Intelligence

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Systèmes Multi-Agents : Modélisation et simulation informatique de comportements collectifs. Chapitre III

ipra*cool v 1.08 guide de l utilisateur ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v

Cloud Computing et SaaS

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Théories de la Business Intelligence

TP de réseaux : Domain Name Server.

Base de données II Module 3b

Transcription:

Brève introduction aux agents logiciels Bernard ESPINASSE Université d!aix-marseille 2010 Introduction aux agents logiciels Une typologie logiciels Les agents collaboratifs Les agents interface Les agents mobiles Les agents réactifs Références bibliographiques (1) Cours : Drogoul A. Cours "Intelligence collective, systèmes multi-agents et IAD", Université Paris 6 - LIP6. Gleize M.P., Cours "Intelligence collective", Université de Toulouse, IRIT. Nwama H., "Sofware Agents", Knowledge Engineering Review, vol. 11, N 3, pp. 1-40, sept 96, Cambridge University Press. Esfandiari B., "Sofware Agents" Course, University of Carleton, Canada. Chaïb-Draa B., Cours "Systèmes multi-agents", Université Laval, Québec, Canada. Finin T. & Labrou Y., Tutorial "Agents Communication Languages", ASA/MA. Finin T. & Nicholas C., Tutorial "Software Agents for Information Retrieval", CIKM2000 Bernard ESPINASSE Brève introduction aux agents logiciels 1 Bernard ESPINASSE Brève introduction aux agents logiciels 2 Références bibliographiques (2) Livres : Weiss G. - editor (00), Multiagent Systems, MIT Press. Ferber J. (95), Les systèmes multi-agents, InterEditions. Singh M. (94), Multiagent Systems, Springer Verlag. Conte R., Castelfranchi C. (1995), Cognitive and Social Action, UCL Press. Haddadi A. (95), Communication and Coopération in Agent Systems, Springer Verlag. O'Hare G.M.P. & Jennings N.R. - editors (96), Foundations of Distributed Artificial Intelligence, Wiley-Interscience. Bradsham M. - editor (97), Software Agents, AAAI Press - The MIT Press. Huhns M.N. & Singh M.P. - editors (97), Readings in Agents, Morgan-Kaufmann.... Plan 1. Introduction à l!iad et aux agents logiciels 2. Une typologie logiciels 3. Les agents collaboratifs 4. Les agents interface 5. Les agents mobiles 6. Les agents réactifs Bernard ESPINASSE Brève introduction aux agents logiciels 3 Bernard ESPINASSE Brève introduction aux agents logiciels 4

D e l'ia à l'iad 1. Introduction à l!iad et aux agents logiciels De l'ia à l'iad et aux agents logiciels IAD s'intéresse aux domaines pour lesquels sont inappropriés : un seul résolveur de problème une seule machine ou un seul lieu de traitement IA: modéliser le savoir (compétence) + Distribution : modéliser leurs interactions (organisation sociale) la connaissance est à la fois cognitive et sociale Motivation de l!iad Qu!est-ce qu!un agent logiciel Métaphore de l'ia: le penseur isolé Métaphore de l'iad: la communauté de penseurs Une typologie logiciels l'iad s'intéresse à des systèmes dans lesquels artificiels opèrent collectivement et de façon décentralisée pour accomplir une tâche Bernard ESPINASSE Brève introduction aux agents logiciels 5 Bernard ESPINASSE Brève introduction aux agents logiciels 6 Emergence d e l 'IAD dans les années 80, émergence de 3 domaines majeurs : Vie Artificielle (1985) D e l'iad aux Age nts Logiciels A l'origine : les acteurs Carl Hewitt!s actor model (1977) a self-contained, interactive and concurrently-executing object, with some encapsulated internal state and which could respond to messages from other similar objects Intelligence Artificielle Distribuée (1980) IA Distribuée Cybernétique (1945) IA (1958) Résolution Distribuée de Problèmes Agents et Systèmes Multi-Agents IA Parallèle Néo-connexionisme (1987) Bernard ESPINASSE Brève introduction aux agents logiciels 7 Bernard ESPINASSE Brève introduction aux agents logiciels 8

Qu!est c e qu!un agent logiciel (sofwar e agent)? DéfinitionS : un système informatique, situé dans un environnement, et qui agît d'une façon autonome et flexible pour atteindre des objectifs pour lequel il a été conçu [Sycara & Wooldridge] une entité computationnelle active, avec une identité persistente, qui peut percevoir, raisonner et agir dans son environnement et qui peut communiquer notamment avec d'autres agents [Huhns] un composant logiciel ou matériel qui est capable d'agir afin d'accomplir des tâches au nom de son utilisateur [Nwana] Caractéristiques générales d e s agents Situé : capable d'agir sur son environnement à partir d'entrées sensorielles qu'il en reçoit Autonomie : capable d'agir sans l'intervention d'un tiers (humain ou agent) et de contrôler ses propres actions ainsi que son état interne (autonomie limitée à son comportement dans une société d'agents) : réactif : capable de percevoir son environnement et de réagir à temps proactif : capable de prendre l'initiative et être opportuniste au bon moment Adaptation : capable de s!adapter à différentes situations de par son autonomie Coopération : capable d'interagir avec les autres agents quand la situation l'exige pour réaliser ses tâches et coopérer avec eux Mobilité : un agent logiciel peut voyager sur un réseau local ou le Web Bernard ESPINASSE Brève introduction aux agents logiciels 9 Bernard ESPINASSE Brève introduction aux agents logiciels 10 Caractéristiques générales d e s agents D es agents aux systèmes multi-agents (SMA) "Systèmes Multi-Agents" (SMA) : systèmes dans lesquels les agents interagisent pour : coopérer (contrôle) collaborer (allocation de taches) négocier (résolution de conflits) se coordonner (synchronisation) un SMA peut-être: ouvert : les agents y entrent et en sortent librement (ex: un café) fermé : l'ensemble d'agents reste le même (ex: un match de football) homogène : tous les agents sont construits sur le même modèle (ex: une réunion de travail, une colonie de fourmis) hétérogène : de modèles différents, de granularité différentes (ex: un écosystème) Bernard ESPINASSE Brève introduction aux agents logiciels 11 Bernard ESPINASSE Brève introduction aux agents logiciels 12

Domain es d'application logici els Systèmes de production : ordonnancement d'ateliers, conduite de processus industriels, systèmes multi-capteurs,... Diagnostic : diagnostic à multiples niveaux Taches de contrôle : contrôle du trafic routier, trafic aérien, distribution d'énergies,... Taches d'interprétation : interprétation de signaux, reconnaissance de la parole, cristallographie, reconnaissance et compréhension des formes,... Télés, systèmes de transports, réseaux : routage, équilibrage de charges, recouvrement d'erreurs, management et surveillance de réseaux,... Travail collaboratif assisté par ordinateur : agents assistants, agents médiateurs, workfows, gestion des rendez-vous, personal digital assistants (PDA),... Robotique distribuée : planification multi-robot, robots autonomes mobiles,... Télématique (Internet) : agents "intelligents", agents d'interface, agents mobiles,... Simulation de systèmes complexes : simulation individu-centrée,... Commerce électronique Data Mining, in 10 years time most new IT development will be affected, and many consumer products will contain embedded agent-based systems [Guilfoyle 95] Bernard ESPINASSE Brève introduction aux agents logiciels 13 Une typologi e logicie ls Agents mobiles / statiques : agents mobiles : agents capables de se déplacer sur un réseau agents statiques : agents pas capables de se déplacer sur un réseau Agents collaboratifs / réactifs : agents collaboratifs (délibératifs, cognitifs, ) : possédent un modèle de raisonnement symbolique interne, se coordonnent entre eux par planification ou négociation agents réactifs : ne possèdent pas de modèle de raisonnement symbolique interne, agissent par stimulis - réponse ont un comportement répondant à l'état courant de l'environnement dans lequel ils sont immergés Agents interface (agents assistants) assistent un utilisateur Bernard ESPINASSE Brève introduction aux agents logiciels 14 Agents collaboratifs : finalités majeures 2. Agents collaboratifs (cognitifs, délibératifs, ) Finalités majeures Caractéristiques majeures Langage de et d!interopérabilité Défis Finalités principales collaboratifs : Résoudre des problèmes : "naturellement" distribués (réseaux de capteurs distribués (DVMT - Durfee et al., 1987), control aérien,...) "trop grands" ou "trop complexes" pour un seul agent associés à des sources d'information ou d'expertise distribuées Assurer une interopérabilité de systèmes existants (legacy systems) Pour un système logiciel accroître : sa modularité (et ainsi réduire la complexité), sa vitesse (par parallélisme), sa fiabilité (par redondance), sa flexibilité (à partir d'une organisation plus modulaire) et sa réutilisabilité Autres finalités : la compréhension d'interactions dans des sociétés humaines Bernard ESPINASSE Brève introduction aux agents logiciels 15 Bernard ESPINASSE Brève introduction aux agents logiciels 16

Agents collaboratifs : caractéristiques Carracteristiques principales collaboratifs (délibératifs, cognitifs, ) : sont plus ou moins autonomes possèdent un modèle de raisonnement symbolique interne se coordonnent entre eux par planification ou négociation peuvent coopérer entre eux peuvent négocier entre eux en vue d!atteindre des ententes lors de la résolution distribuée de problèmes peuvent avoir des capacités d'apprentissage Bernard ESPINASSE Brève introduction aux agents logiciels 17 Agents collaboratifs : attributs s econdaires Attributs secondaires d'un agent collaboratif : la véracité : il ne communique pas de mauvaises informations sans le savoir le bénévolat : il n'a pas de buts incompatibles et essaiera de faire ce qu'on attend de lui la rationnalité : il agira de sorte à atteindre ses objectifs, au moins dans la limite de ses convictions la versatilité : il poursuit plusieurs buts et il s'engage dans de plusieurs tâches la persistence : il est temporellement continu ou il se dégrade au fil du temps les attitudes émotionnelles : en a-t-il assez d'être sollicité? quel rôle a l'émotion dans l'élaboration d'agents (Bates, 1994)? les attitudes mentales : a-t-il des attitudes mentales comme des croyances, des convictions, des désirs et des intentions (BDI agents - Rao & Georgeff 95)? Bernard ESPINASSE Brève introduction aux agents logiciels 18 Communication et interopérabilité entre agents collaboratifs : KQML KQML (Knowledge Query and Manipulation Language) = un langage et protocole de de haut niveau, orienté message pour l'échange d'information entre agents il a été développé par le DARPA (Knowledge Sharing Effort) pour supporter l'interopérabilité entre les agents intelligents dans une application distribuée il opérationnalise la théorie des actes de langage il est indépendant : du mécanisme de transport (e.g., tcp/ip, email, corba objects, IIOP, etc.) du langage du contenu (e.g., KIF, SQL, STEP, Prolog, etc.) de l'ontologie concernée par le contenu il offre des primitives de message types d'intérêt particulier pouvant être utilisés dans un dialogue entre agents Agents collaboratifs : principaux défits [Nwana] disposer d'une véritable ingénierie : nécessité de méthodes et d'outils de conception et d'implémentation de systèmes à base d'agents collaboratifs [Smith 96b] importance de la coordination entre agents : nécessité de disposer de véritables théorie de la coordination évitant anarchie et blocage (travaux formels et experimentaux encore indispensables) importance de la stabilité, de la "scalability" et de la performance : demande encore beaucoup de travaux de recherche systèmes existants (legacy systems): besoin de définir des techniques et methodologies pour intégrer agents et systèmes existants apprentissage : comment ces systèmes apprennent? l'apprentissage ne conduit-il pas à l'instabilité? quelles sont les architectures appropriées pour les différents types de problèmes? est-on sûr que les agents ne passent pas plus de temps à apprendre qu'à réaliser ce pour quoi ils sont fait? évaluation des systèmes d'agents collaboratifs : pas encore abordé, comment vérifier et valider leurs spécifications fonctionnelles? Bernard ESPINASSE Brève introduction aux agents logiciels 19 Bernard ESPINASSE Brève introduction aux agents logiciels 20

Agents interface : finalités 3. Agents interface Finalités majeures Caractéristiques majeures Fonctionnement Applications Défis Finalités principales assistants : apporter une assistance à un utilisateur : par ex. dans l'apprentissange de l'usage d'une application particulière (un tableur, un OS (Unix),...) décharger l!utilisateur et le développeur de tâches laborieuses peuvent s'adapter aux habitudes de l!utilisateur et à ses préférences peuvent aider plusieurs utilisateurs à se partager leur savoir-faire Bernard ESPINASSE Brève introduction aux agents logiciels 21 Bernard ESPINASSE Brève introduction aux agents logiciels 22 Agents interface : caractéristiqu es majeures accent sur l!autonomie, l!apprentissage dans l'exécution de tâches pour des utilisateurs fournissent une assistance proactive à l'utilisateur pour une application précise Fonctionnement interfaces: [Maes 94] il observe, surveille les actions de l'utilisateur dans l'interface (regarde par dessus son épaule), lui apprend de nouveaux raccourcis, lui suggère de meilleurs façon de réaliser une tâche, il agit comme un assistant personnel autonome qui coopère avec l'utilisateur en accomplissant certaines tâches dans l'application : interagit avec utilisateur leurs interactions avec d!autres agents sont en général limitées application retour de l'utilisateur et programmation par l'exemple Agents interfaces = assistant personnel collaborant avec l!utilisateur Bernard ESPINASSE Brève introduction aux agents logiciels 23 observe et imite interagit avec agent utilisateur requêtes autre agent utilisateur il apprend à mieux assister un utilisateur de différentes façons : en observant et en imitant l'utilisateur en recevant un retour positif ou négatif de l'utilisateur en recevant des instructions explicites de l'utilisateur en demandant des conseils à d'autres agents Bernard ESPINASSE Brève introduction aux agents logiciels 24

Applications interfaces (1) [Maes 94] assistants [Kozierok & Maes 93] : l'agent Calendar assiste son utilisateur dans la planification de réunions impliquant acceptations, rejets, ordonnancement, négociation et réordonnacement des horaires il apprend ses préférences et ses engagements (elle n'aime pas les réunions le mercredi, il les préfère le matin,...) guides [Liebermann 95] : l'agent Letizia apporte une assistance dans la recherche sur le Web en conduisant, en coopération avec l'utilisateur, une recherche en largeur d'abord concurente pour des sites pouvant intéresser celui-ci il découvre ses intentions à partir de son comportement aide-mémoire [Rhodes & Starner 96] : l'agent Remembrance, associé à l'éditeur Emacs, assiste un utilisateur dans la rédaction de documents (e-mail, articles, rapports,...) en pouvant lui ramener sur un mot clé donné, les documents les plus pertinents que l'utilisateur a déjà dans la mémoire de son ordinateur Applications interfaces (2) [Maes 94] filtrage [Sheth & Maes 93]: l'agent de filtrage de nouvelles NewT aide l'utilisateur à filtrer et sélectionner des nouvelles dans un flux continu de nouvelles il s'agit de créer spécialisés (sports, finance,...) et de les entrainer par renforcement en exploitant le contenu, les mots clés, l'auteur et la source (algo. génétiques) assistant d'achat/vente [Chavez & Maes 96] : Kasbah représente une place de marché (un site web) où agissent pour leur propriétaires, peuvent filtrer la annonces et retenir celles qui intéressent leur propriétaires et négocier, acheter et vendre des articles... Bernard ESPINASSE Brève introduction aux agents logiciels 25 Bernard ESPINASSE Brève introduction aux agents logiciels 26 Agents interface : d éfis majeurs [Nwana] Efficacité : démontrer que la connaissance apprise avec interface peu vraiment réduire la charge de travail d'utilisateur Techniques d'apprentissage : déterminer quelles sont les techniques d!apprentissage qui sont préférables, pour quels domaines, et pourquoi Garantir la «vie privée» des utilisateurs Capacité : étendre les agents interface afin qu'ils soient capables de négocier avec d'autres agents Domaines d'application : étendre si possible le champ d!application à d'autres domaines innovants comme les loisirs et la maison 4. Agents mobiles Finalités majeures Caractéristiques majeures Fonctionnement Applications Défis Bernard ESPINASSE Brève introduction aux agents logiciels 27 Bernard ESPINASSE Brève introduction aux agents logiciels 28

Agents Mobiles : finalités principales Finalités principales mobiles : Réduction de la charge du réseau : ils consomment moins de ressources du réseau en déplaçant le calcul vers les données au lieu de l'inverse ils ne nécessitent pas de connexion continue entre machines Interaction asynchrone : ils peuvent remplacer des s (ex : documents mobiles) Paradigme de programmation intéressant : ils cachent les canaux de mais pas la localisation de l'exécution et facilitent ainsi le déploiement d'application réparties Agents Mobiles : caractéristique s (1) Caractéristiques d!un agent mobile :! agent autonome possédant une identité capable de voyager sur un réseau! unité logicielle capable de : errer dans des réseaux (locaux ou globaux comme le WWW) migrer d!une machine à une autre interagir avec différentes machines collecter de l'information pour son propriétaire revenir "à la maison" en ayant fait le travail fixé par son propriétaire Bernard ESPINASSE Brève introduction aux agents logiciels 29 Bernard ESPINASSE Brève introduction aux agents logiciels 30 Agents Mobiles : caractéristique s (2) Mobilité : Forte mobilité : code et données sont transférés sur le (host) - langages de script en plus qu'un simple transfert d'objet Faible mobilité : seules les données sont transférées, transfert de code Java sur une machine virtuelle Remarque : un code mobile (comme les applets) voyage généralement juste d'un point A à un point B les agents mobiles ont un itinéraire et peuvent voyager dans plusieurs sites de façon séquentielle. Caractéristiques mobiles (3) Asynchrone : un agent envoyé, pas nécessaire d'attendre les résultats : programmer l'agent pour qu'il attende aussi longtemps que nécessaire pas nécessaire de rester connecté au réseau : un agent peut attendre que l'on soit reconnecté au réseau avant de faire sont rapport Sécurité : 3 types de menaces : un agent peut être malveillant sur le host le host peut être malveillant pour l'agent l'agent peut causer des dégâts au réseau => authentication (en utilisant le certificat X509) et encryptage (avec SSL) Bernard ESPINASSE Brève introduction aux agents logiciels 31 Bernard ESPINASSE Brève introduction aux agents logiciels 32

Fonctionnement d es agents mobiles (1) revient à une migration de process déplacant l'agent d'un client qui émet une requête (pour information, transaction ou mail) vers un capable de satisfaire la requête : client env. de l'application client env. de l'application infrastructure de... autre env. de l'application 1- l'application passe des infos à l'environnement d'exécution via l'api 2 - initialisation d'une instance d'agent (process, thread) 3 - l'agent exécute une instruction créant un nouveau process fils s'exécutant dans un message exprimé sous une forme indépendante de la machine Fonctionnement d es agents mobiles (2) client env. de l'application client env. de l'application infrastructure de... autre env. de l'application 3 - l'agent exécute une instruction créant un nouveau process fils s'exécutant dans un message exprimé sous une forme indépendante de la machine : le message envoyé à sa destination finale ou à des destinations intermédiaires prenant en charge le transfert selon son contenu ("Semantic Routing") le message arrive au destinataire où il est livré à l'environnement d'exécution de l'agent par le messagerie du dans l'environnement d'exécution de l'agent, le message reçu est reconstitué en un exécutable (process ou thread) l'exécution du programme agent client se poursuit avec l'instruction suivante Bernard ESPINASSE Brève introduction aux agents logiciels 33 Bernard ESPINASSE Brève introduction aux agents logiciels 34 Fonctionnement d es agents mobiles (3) client env. de l'application client env. de l'application... autre env. de l'application Application mobiles (1) Caractéristiques générales des applications: équilibrage de charge dynamique déploiement dynamique de services systèmes connectés de façon intermittentes infrastructure de 4 - pendant son exécution sur le, l'agent peut : terminer son exécution passer l'information qu'il a reçu de l'application client à l'application effectuer une action de récupération de données sur le déterminer s'il doit rendre visite à un autre : si le service nécessaire n'est pas accessible ou mal adapté en fonction les données qu'il a reçues du sur lequel il se trouve répéter le processus de migration en lançant un nouveau processus fils pouvant ramener l'agent à son client d'origine ou l'envoyer à un autre client se suspendre sur le en attendant qu'un événement approprié ne le reveille : agent "résident" sur le (permanent si l'utilisateur souhaite un service répété) Collecte de données à partir de sources multiples : ils peuvent collecter des informations réparties sur un grand nombre d'ordinateurs reliés à un réseau : Ex : archivage réseau : un agent mobile visite le réseau, collecte l'information sur l'état d'archivage de chaque disque et retourner à son point d'origine pour faire un rapport Recherche et filtrage : à la place de l'utilisateur, ils peuvent visiter de nombreux sites du Web, identifier l'information accessible à chaque site, et construire un index de liens vers des éléments d'information qui répondent à certains critères. Bernard ESPINASSE Brève introduction aux agents logiciels 35 Bernard ESPINASSE Brève introduction aux agents logiciels 36

Application mobiles (2) Surveillance : ils peuvent être envoyés pour attendre que certains types d'informations soient disponibles : Ex : un agent peut aller sur une place boursière, attendre qu'une action particulière atteigne un certain prix puis en acheter à la place de l'utilisateur Distribution ciblée d'informations : ils peuvent distribuer des nouvelles interactives ou de la publicité à des destinataires ciblés Négociation : ils peuvent obtenir des informations en interaction avec d'autres agents. Ex: en planification de réunion, un agent mobile consulte les agents représentatifs de chacune de ces personnes concernées et négocie une heure de la réunion Commerce électronique : Parallélisme : les agents mobiles peuvent se déplacer de noeud en noeud et peuvent se reproduire en sous-agents Loisirs : les agents représentent les joueurs qui rivalisent les uns avec les autres, à la place des joueurs Data-mining, Bernard ESPINASSE Brève introduction aux agents logiciels 37 Plateformes d e d éveloppement d'agents mobiles Languages de développement : Java class libraries : tire avantage de la machine virtuelle universelle Java (plateformes Aglet, concordia, Voyager, Grasshopper, D'Agents) langages de script : tire avantage de langages interprétés (plateformes D'Agents, ARA, Tacoma) Plate-forme Aglet (IBM) pour le developpement d'agents mobiles : programmé en Java, il peut stoper son exécution, se déplacer dans un réseau et poursuivre son exécution sur un autre hôte (ses données et son code sont mobiles) autonomes : lorsqu'on le lance, il décide seul où il ira et ce qu'il fera, il décide individuellement de répondre à une requête ou non,... à priori ni intelligent (agents intelligents) ni représentatif de l'utilisateur (agents logiciels interface) mais peut le devenir Bernard ESPINASSE Brève introduction aux agents logiciels 38 Agents mobiles : défits majeurs [Wayner 95 & Nwana] Transport : comment un agent fait sa valise et se déplace de place en place? Authentication : comment être sûr que l'agent est bien celui qu'il dit être? comment savoir s'il a navigué sur divers réseaux sans être infecté par un virus? Secret : comment être sûr que votre agent préserve votre intimité? que personne ne manipule pour ses intérêts votre propre agent? comment être sûr que votre agent n'est pas mort et que son contenu «core-dumped»? Sécurité : comment vous protéger contre les virus? comment éviter qu'un agent extérieur ne vienne chez vous consommer votre CPU dans une boucle sans fin? Paiement : comment l'agent paiera des services? comment être sûr qu'il ne sera pas pris d'une folie furieuse qui conduira à une facture outrageuse? Performance : quel sera l'effet d'avoir des centaines, milliers et millions d'agents sur un réseau? Services d'interopérabilité, de et de courtier : comment se fournir les adresses des divers services offerts? comment publier ou souscrire à des services donnés? 5. Agents réactifs Agents réactifs et SMA réactifs Caractéristiques majeures Exemples Bernard ESPINASSE Brève introduction aux agents logiciels 39 Bernard ESPINASSE Brève introduction aux agents logiciels 40

Agents réactifs : SMA r éactifs SMA réactifs : caractéristiques majeures décomposition structurelle plutôt que fonctionnelle Intelligence Artificielle Distribuée SMA réactifs Intelligence Collective Swarm Intelligence Vie Artificielle architectures minimales d'agents : par ex. stimulus/réponse redondance importante entre les agents les agents ne possèdent pas de représentations explicites et symboliques d'eux-mêmes, de leur environnement, des autres agents l'organisation entre eux : n'est qu'un effet induit de leur activité et de leurs interactions (émergence, auto-organisation, stigmergie, etc.) n'est explicitée à aucun niveau dans le système (n'est pas une donnée du problème) simple : par ex. propagation de signaux importance de l'environnement mémoire faible : pas de mémoire partagée et peu de mémoire individuelle Bernard ESPINASSE Brève introduction aux agents logiciels 41 Bernard ESPINASSE Brève introduction aux agents logiciels 42 SMA réactifs : caractéristiques e t propriétés Caractéristiques : ils n'ont pas de représentation de connaissance symbolique : pas d'état pas de représentation de l'environnement pas de représentation des autres agents leur comportement est simplement défini par un ensemble de règles «perception action» Propriétés : robustesse et tolérance aux fautes flexibilité adaptabilité performance en temps de réponses Exemple : l es agents réactifs de Brooks [1991] alternative aux approches symboliques pour résoudre des problèmes de planification un comportement intelligent émerge de l'interaction entre divers comportements plus simples architecture dite de "subsumption" : PERCEVOIR...... explorer se promener éviter les obstacles un agent est associé à un ensemble de comportements accomplissant une tâche donnée ces comportements = règles de perception - action ordonnées en couche de subsumption AGIR Bernard ESPINASSE Brève introduction aux agents logiciels 43 Bernard ESPINASSE Brève introduction aux agents logiciels 44

Exemple du fourragement Collectif [Drogoul] Exploration/exploitation collective d'un environnement inconnu et dynamique, par des robots (agents) : illustration de l'auto-organisation et la vie artificielle Beaucoup de techniques envisageables (surtout inspirées des fourmis) : Un ensemble simple de règles individuelles peut générer un comportement collectif adaptatif Règle Explorer si je suis vide si je ne perçois ni minerai ni marque je circule aléatoirement Règle Trouver si je suis dehors et vide si je perçois du minerai je le prends Règle Rapporter si je suis dehors et plein je pose deux marques je reviens à la base Règle Pister si je suis dehors et vide si je perçois une marque je me dirige vers elle je la prends Règle Déposer si je suis à la base et pleine je dépose le minerai Bernard ESPINASSE Brève introduction aux agents logiciels 45