Maîtrise Informatique 2002/2003 Langages & Systèmes Objets TP : Agents Logiciels
Objectifs Remarque : de nombreuses applications reposent sur la coopération d’entités hétérogènes et communicantes : commerce électronique, entreprise virtuelle, ingénierie collaborative... Conception Achat communication partage échange Fabrication Objectif : réaliser des programmes à base d’agents logiciels Remarque : les logiciels et les architectures logicielles de demain
Agents Logiciels “ The overuse of the word “ agent ” has tended to mask the fact that, in reality, there is a truly heterogeneous body of research being carried out under this banner ” Software Agents : An Overview, Hyacinth S. Nwana, Knowledge Engineering Review, Vol. 11 n° 3, pp1-40, Sept MuBot Agent, AIMA Agent, Maes Agent, KidSim Agent, Hayes-Roth Agent, IBM Agent, Wooldridge­p Agent, SodaBot Agent (MIT AI Lab), Foner Agent, Brustoloni Agent... body The CVUT Agent: Wrapper an entity which allows encapsulation and communication of heterogeneous software. The Condillac Agent : LRO 3 - autonomous - concurrent - communicative - can be inserted in organisations LRO3 Agent Properties p1, p2, p3... Meta-level interface agent control agent meta-universe Competence level agent universe Ingénierie Collaborative Systèmes Multi-Agents Intelligence Artificielle Distribuée
Agents Logiciels (suite) Agent : Entité réelle ou abstraite : - plongée dans un environnement sur lequel elle est capable d ’agir - ne disposant que d ’une représentation partielle des autres agents - pouvant communiquer avec d ’autres agents - mue par un ensemble d ’objectifs propres - possédant : -- des ressources propres -- des compétences (services) qu ’elle peut offrir aux autres agents -- un comportement autonome, conséquence de ses observations, de sa connaissance et des interactions qu ’elle entretient avec les autres agents Système multi-agents : système naturel ou artificiel composé d ’une population d ’agents : - autonomes - interactifs qui - coopèrent pour aboutir à - un but commun (objectif global, survie d ’une organisation) même si chaque agent ne suit que : - un but personnel Jean ERCEAU Chef de la Division des Applications de l ’IA et des Systèmes Complexes ONERA Un Agent est une entité « intelligente » communicante et coopérative
Agent « TP » Définition : Un agent est une entité informatique autonome définit par : - ses compétences, - son état, - ses moyens de communication. évoluant dans un Univers Compétences : capacité à réaliser une action, action programme État : ensemble de données qui lui sont propres, Communication :avec les autres agents sous la forme d ’envois de messages asynchrones Autonomie :les compétences se déroulent en parallèle Univers : données communes aux agents
Envois de Message Synchrone : l ’objet envoyeur attend la réponse à son message avant de poursuivre Envois de Message Asynchrone : l ’agent envoyeur n ’attend pas la réponse à son message avant de poursuivre les agents sont autonomes, les compétences se déroulent en parallèle Les Moyens de Communication Principale différence entre l ’Objet et l ’Agent « TP » avec le parallélisme
Syntaxe : - agent destinataire, - action à exécuter, - agent à qui sera transmis le résultat. L ’Envoi de Message Asynchrone
Prise en Compte : - un agent ne réalise qu ’une seule action à la fois Stockage des messages reçus localement : Quid des messages non compris ? Le Traitement d ’un Message
La gestion des envois de messages : - prise en compte ? - stockage ? - distribution ? La Gestion des Messages
Parallélisme : - les agents sont « autonomes », - les compétence se déroulent en parallèle, gestion du parallélisme ? Ressources Critiques : - accès aux ressources partagées ? Parallélisme & Ressources Partagées
Travail à Réaliser Partant de l ’expression des besoins qui vient d ’être faite : Etat de l ’Art (personnel, 5 pages maximum, références) Cahier des Charges Conception (UML) Conception Détaillée Programmation (incluant un exemple représentatif)