ACL Roger Nkambou.

Slides:



Advertisements
Présentations similaires
Le modèle de communication
Advertisements

Du positionnement épistémologique à la méthodologie de recherche
24510, AND PROJECT STANDARDS TEST IN TWO MOROCCAN CITIES LOCAL ACTION – 4th WORLD WATER FORUM, MEXICO 2006 SERVICE DE NORMALISATION INDUSTRIELLE.
Xavier Blanc Web Services Xavier Blanc
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
UML - Présentation.
Reference Model of Open Distributed Processing
Vue d'ensemble Implémentation de la sécurité IPSec
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
Ontologie, Méta-données, Sémiotiques
Understanding, building and using ontologies. Understanding Ontologie : la définition des concepts utilisés dans un langage donné Première approche (Gruber)
Le Workflow et ses outils
L’Ingénierie de la Formation Continue Session I : Méthodologie d’élaboration d’un plan de Formation
Bases de l’Intelligence Artificielle Distribuée
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Web Sémantique: Le Relief Actuel
B2i Lycée Circulaire BO n°31 du 29/08/2013.
TRANSMISSION DES DONNEES.
RDF(S)
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
Définir des caractéristiques chercher de linformation? sur un support électronique? Élaborer un cadre théorique pour comprendre les enjeux et proposer.
1 CSI3525: Concepts des Languages de Programmation Notes # 3: Description Syntaxique des Languages.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Programmation non procédurale Le projet ECOLE 2000
Sensibilisation a la modelisation
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
Patrons de conceptions de créations
Bases de données phénotypique et ontologie
MANAGEMENT INTELLIGENT par Clark G. KHADIGE, dba, desg
Management Général Semestre 2 Séance introductive
Les réseaux sémantiques[Quillian 68]
Les logiques de descriptions
SGBD orientés Objet Standards : OMG et ODMG.
Travaux Pratiques Représentation des connaissances
Paradigmes des Langages de Programmation
Présentation de CORBA et de IIOP
CENTRALISATION DES CANDIDATS LOCATAIRES
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Agents intelligents.  L’IA peut être envisagée de différentes manières. Les deux questions essentielles qu’ il convient de se poser sont: Vous intéressez-vous.
Initiation à la Méthodologie de Recherche
INTRODUCTION.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Sommaire Dans ce chapitre, nous aborderons :
E-Technology lab Plateformes, Technologies et Architectures pour les systèmes eGouvernement Par: Dr Mamadou Koné Université Laval, Québec, Canada et Houda.
Tableau de stratégie de formation dans le cadre de parcours relayés
Jour 4: Gestion de la Connaissance
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Approches Formelles en Systèmes d'information
Algorithmique et programmation (1)‏
Algorithmes et Programmation
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Mastère Professionnel Systèmes de Communication et Réseaux
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Le langage Racket (Lisp)
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
Initiation à la conception des systèmes d'informations
Sélection de colonnes (la projection)
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Exemple d’outil: ZEUS Roger Nkambou.
Management de la qualité
IHM Modèle d’architecture et liens avec les outils de production d’interface IHM Dirrigé par : Catherine RECANATI Présenté par : Youssef OUDGHIRI YOUSFI.
(Networked Software Agent) une architecture multiagent
Document de spécification d’exigences Normes IEEE et 29148:2011
Introduction Module 1.
Dániel Darvas (CERN BE-ICS-PCS) Spécification formelle pour les API CERN-ESTEREL séminaire 21/01/2016, CERN Travail conjoint avec B. Fernández, E. Blanco,
ARIANE : Interopérabilité sémantique et accès aux sources d'information sur Internet Sylvain Aymard, Michel Joubert, Dominique Fieschi, Marius Fieschi.
Transcription de la présentation:

ACL Roger Nkambou

Pourquoi la communication est-elle importante ? La COMMUNICATION est un élément important dans la coopération. Une société peut accomplir des tâches qu’auqu’un agent (individu) seul ne saurait faire. La diversité dans une société introduit l’hétérogéniété Les agents qui se communiquent n’ont besoin que de comprendre ou de parler un langage commun

Communication entre agents La communication inter-agent est fondamentale à la réalisation du paradigme agent, tout comme le développement du langage humain était la clé du développement de l’intelligence humaine et des sociétés. Pour échanger les informations et les connaissances, les agents utilisent des ACL (Agent Communication Language). Selon Genesereth (CACM, 1992), un agent logiciel = tout système utilisant un ACL pour l’échange de l’information.

Évolution ACL Partage d’objet -> Partage des objets, des appels de procédure et de SDD (CORBA, RPC, RMI, …) -> Partage des connaissances (faits, règles, contraintes, procédures, …) KIF, Ontolinguia, KQML, FIPA, Aglets…. -> Partage des intentions (croyances, plans, buts, intentions) => Niveau intentionnel Théorie BDI -> Que peut-on partager d’autre ? Expériences, Stratégies… Partage de K Partage des intentions ?

Le niveau intentionnel: BDI, Acte de langage et ACL - Les actes du langage = Description de niveau intentionnel d’un agent => croyances, désires, intentions et autres. une description intentionnelle Le modèle BDI permet de décrire le comportement d’un agent, y compris le comportement communicatif en tenant compte des états mentaux (B, D , et I). Les agents ont des « attitudes propositionnelles » qui sont des relations tertiaires impliquant: Un agent Un contenu Un ensemble fini d’attitudes: croire, avoir peur, espérer, se demander, accepter, … Exemple : <a, fear, raining (Tnow)>

Le modèle BDI et la communication I => A Communication  (1) Revéler à l’autre l’état de no croyances, désires et intentions (2) Essayer d’influencer l’état des croyances, désires et intentions de l’autre. Noter la récursivité: Un agent a des croyances sur le monde (son environnment), sur les croyances des autres agents, sur les croyances des autres agents, sur les croyances qu’ont les autres agents sur lui ou sur ses croyances …

Critiques du BDI Est-il nécessaire d’avoir les 3 modalités (B, D et I) ? En d’autres termes, ces 3 modalités sont-elles Suffisantes Insuffisantes En a-t-on vraiment besoin des 3 ? –Il reste encore plusieurs questionnements sur l’utilité du BDI dans la pratique. Il y a donc un écart important entre la théorie et la pratique.

Théorie des actes de langage Théorie relative à l’usage du langage pour les actions de communication (Austin 1962) -Toute communication est faite avec l’objectif de satisfaire un but ou une intention. Ex: « il pleut! », « ferme la porte, s’il te plait .» 3 types d’actes: locutoire Illocutoire Perlocutoire.

Identification des actes de langage Acte locutoire: Production d’une suite de signes selon les règles syntaxiques d’un langage donné => mode de production de l’acte Acte illocutoire: Acte accompli en produisant cette suite de signes dans un contexte donné, exprimant une intention => Intention du locuteur (ordre, conseille, …) Acte perlocutoire: Résultat d’un acte illocutoire. => Effet sur l’allocutaire Exemple: « Ferme la porte » locution : qui parle ? à qui ? quelle porte ? Illocution: le locuteur veut que l’allocutaire ferme la porte Perlocution: L’allocutaire ferme la porte

Actes illocutoires Acte de langage = Force illocutoire (composante intentionnelle) + contenu propositionnel. Actes illocutoires = Performatives 5 classes de Performatives: Assertifs Directifs Commissifs Déclaratifs Expressifs.

Mise en œuvre dans les SMA De nombres langages de communications entre agents (ACL) se réclament des actes de langage. Des standards se sont développés KQML (93, 97) FIPA-ACL (97, 99, 2000)

Knowledge Sharing Effort • Initié par DARPA (Defense Advanced Research Projects Agency) en 1990 •Sponsorisé par DARPA, NSF, AFOSR •Participation de plusieurs chercheurs universitaires et de plusieurs industries • Objectif: Développer des techniques, méthodologies et outils de développement pour le partage et la réutilisation des connaissances. • Le partage et la réutilisation des connaissances peuvent survenir aussi bien au moment de la conception qu’au moment de l’implémentation ou de l’exécution.

Partage de connaissances Le partage de connaissances nécessite une communication qui requiert un langage commun Langage => Syntaxe + Sémantique + Pragmatique Quelques composantes pouvant être utilisées indépendamment: KIF (Knowledge Interchange Format) => Syntaxe Ontolingua: un langage pour la définition d’ontologies partageables => Semantique KQML (Knowledge Query and Manipulation Language) Un langage la communication de haut-niveau => pragmatique

Syntaxe commune avec KIF KIF permet de mettre en relation des systèmes hétérogènes (du point de vue base de connaissance) Il s’agit d’une version préfixée du calcul des prédicats du premier ordre avec quelques extensions: Codage de tuples Codage de procédures … Exemple de code KIF: (forall ?x (=> (P ?x) (Q ?x))) (exists ?person (mother mary ?person)) (=> (apple ?x) (red ?x)) (<<= (father ?x ?y) (and (child ?x ?y) (male ?x))

KIF <-> traducteur lang 1 Système 2 KB en lang 2 KB en KIF BIBLIOTHÈQUE

Logiciel KIF Plusieurs systèmes de raisonnement KIF en LIPS disponibles à Stanford (Ex: EPILOG) Le moteur de raisonnement de ABE (Agent Building Environment de IBM) utilise KIF comme langage externe Le système Ontolingua (voir plus loin) de Stanford utilise KIF comme langage interne Des traducteur existe pour plusieurs langages: Prolog, CLIPS … Il existe des interpreteurs et des analyseurs qui acceptent des chaînes KIF dans les objets C++ ou Java.

Questions - Défis Définition d’un « mappage » KIF-XML (peut donner lieu à un outils plus intéressant pour l’interopérabilité de SBC).

Sémantique commune et partageable avec Ontolingua Ontologie = Spécification des objets, des concepts et des relations dans un domaine particulier. Analogue à un schéma conceptuel de BD, Taxinomie de classe-sous-classe, … Ontolingua est un langage pour la construction, la publication et le partage d’ontologies. Il offre une interface Web Les ontologies peuvent être automatiquement traduites dans d’autres langages de description de contenu comme KIF, Prolog, CLIPS … Le langage offre des primitives pour la combinaison d’ontologies.

Sémantique commune et partageable avec Ontolingua Les systèmes qui communiquent doivent partager une ontologie L’ontologie partagée peut être implicite ou explicite. Une ontologie implicite est généralement représentée par des procédures seulement. Une ontologie explicite est donnée par une représentation déclarative dans un langage de représentation de connaissance.

Ontologie des unités et BD (une table) 139 74.50 77.60 … … Schema de la BD: Table Prix *Quantité: integer; cout: float Conceptual Schema: Un schéma conceptuel spécifie le sens (la signification) des concepts utilisés dans la BD prix(x, y) => Exist (x’, y’) [auto_part(x’) & part_no(x’) = x & retail_price(x’, y’, Value-Inc) & magnitude(y’, US_dollars) = y]. => Ontologie implicite Exemple Ontologie des produits d’auto Ontologie des produits Ontologie des unités et Des mesures

Exemple 2 : Ontologie explicite fruit citrus apple pear orange lemon lime

Langage de representation de K = Logique + Ontology Un formalisme de logique avec Une syntaxe pour les formules bien formées Un vocabulaire des symboles logiques (et, ou…) Des sémantiques pour l’interprétation des symboles logiques. + une ontologie comprenant Un vocabulaire des symboles non logiques (éléments du domaine) Une définition des symbole Des axiomes pour contraindre l’interprétation des symboles primitifs.

Pragmatique commune avec KQML KQML = langage et protocole de communication de haut-niveau et orienté message, indépendant de la syntaxe et de la sémantique (ontologie) du contenu. Il est aussi indépendant Du mécanisme de transport des messages (ex: TCP/IP, SMTP, IIOP, HTTP …) Du protocole de haut niveau (ex: Contract Net …)

Message KQML Chaque message KQML représente un seul acte de langage (acte illocutoire) - Ex: ask, tell, achieve … - auquel sont associés une une sémantique (sémantique de la performative) et un protocole. 3 niveaux dans un message KQML La performative Des informations utiles pour l’interprétation de message (:ontology, :langage) et celles utiles pour le routage du message (:sender, :receiver, :reply-with …) Le contenu du message (:content).

Un message KQML Sémantique du tell de KQML décrite avec FIPA-SL: :sender bhkAgent :receiver fininBot :in-reply-to id7.24.97.45391 :ontology ecbk12 :language Prolog :content “price(ISBN3429459,24.95)”) Sémantique du tell de KQML décrite avec FIPA-SL: Opérateurs du langage sémantique (FIPA-SL) : -Bip “i (implicitement) croit (que) p” - Bif i p Uip “i est incertain sur p mais croit que p est plausible que non p” – Uif i p Cip “i désire que p” Fp = préconditions de faisabilité Re = effet rationnel sur l’environnement Ex: tell( i,j, B i f ) = fp [B i B i f Ù Ø B i ( Bif j B i f Ú Uif j B i f)] re [B j B i f] ... Problème: i veut informer j qu’il croit que f Précondition: i croit qu’il croit que f et ne croit pas ou a des doutes que j croit qu’il croit f Effets rationnels: j croit que i croit f

Quelques exemples (ask-one (tell : sender Joe : sender Stock-server : content (price ibm ? Price) : receiver stock-server : reply-with ibm-stock : language LPROLOG : ontology NYSE-TICKS) (tell : sender Stock-server : content (price ibm 14) : receiver Joe : in-reply-to ibm-stock : language LPROLOG : ontology NYSE-TICKS) (ask-all : sender Stock-server : content (ibm, (Price, Time)) : receiver Joe : reply-with ibm-stock : language LPROLOG : ontology NYSE-TICKS)

Inform Request Query Reply Promise Meta Insert, Uninsert Delete-one, Del-all, Undel Inform Tell, Untell Basic DB Broadcast Forward Network Ask-if Ask-one Ask-all Inform Basic Achieve, Unachieve Goal Eos Stream Request Query Stream Performatives KQML Facilitation Reply Broker-one Recom.-one Recruit-one Broker-all Recom.-all Recruit-all Cursor Promise Sream Eos Standby Ready Next Rest, Discard Meta Advertise Unadv. Deny Subscribe

Services de renseignement (Facilitation services) Les agents de renseignement Contiennent des méta-connaissances sur les autres agents Fournissent des services de communication tels que: La diffusion des messages et le « faire-suivre » L’appariement des demandes et des offres de service … Des performatives dédiés à ces agents: Advertise, broker, recruit, recommend, forward, broadcast … Les agents de renseignement peuvent être intelligents ou non Ceux qui sont intelligents utiliseront les connaissances du domaine pour l’appariement des offres et des demandes de service

Sémantique de quelques performatives: Requête simple Scène: A voudrait connaître la vérité sur l’action X que B détient dans sa BC 1- Connexion directe Ask-one , Ask-all Ask-one(X) B A Tell(X) Ask-if, Stream-all B A

Performatives de renseignement 2. A ne sait pas que X est dans B : Il faut passer par un facilitateur Broker (Le fac. soumet la req. à l’agent approprié et transmet la rép. à A) Broker(ask(X)) Advertise(ask(X)) F B A Tell(X) Ask(X) Recruit (Le fac. recruite un agent qui répond directement à A) Tell(X) F Advertise(ask(X)) B A Recruit(Ask(X)) Ask(X) Recommend (le facilitateur recommande un agent approprié à A) Recommand(ask(X)) F Advertise(ask(X)) B A Reply(B) Ask(X) Tell(X)

Extensibilité KQML peut être étendu : Ajout de nouvelles performatives Ajouts de nouveaux paramètres (attributs) Création de nouvelles ontologies

ACL FIPA KQML = Premier essai de standardisation d’un ACL mais il n’offre pas d’infrastructure pour la gestion des agents. En 1996, création de la FIPA (Foundation for Intelligent Physical Agents), une association à but non lucratif regroupant: Universités et instituts de recherche + Entreprises: Alcatel, BT, DT, FT, Hitatchi, Hewlett Packard, IBM, Intel, Lucent, NEC, Nortel, Siemens etc.

Mode de travail de la FIPA Travaux annuels sur les spécifications. Première spécification FIPA97 (http://drogo.cselt.stet.it/fipa) FIPA97 compremait 7 comités techniques (TCs) TC1: Agent Management TC2: Agent Communication Language TC3: Agent/Software Interaction TC4-TC7: Specification of Applications Spec actuelle: FIPA2000

TC2: FIPA ACL Basé sur des actes de langage Les messages sont des actions de communication (Communicative action (CA)) Les actes de communication sont décrits sous forme narrative et sous forme de sémantiques formelles basées sur la logique modale La syntaxe est similaire à celle de KQML La spécification fournie une description normative des protocoles d’interaction de haut-niveau.

Caractéristiques essentielles de FIPA ACL Les primitives de gestion et de renseignement (register, broker, recruit, etc.) ne font pas partie de l’ACL FIPA Des primitives peuvent être définies par composition de primitives de base. Utilise un langage puissant pour définir les états des agents (le langage SL (Semantique Language)) Les sématiques sont basés sur les attitudes mentales (croyance, intention etc.) Le sens des primitives est donné en terme de préconditions de faisabilité (Feasibility Preconditions (FP)) et d’effet rationnel (Rational Effect (RE)).

Catégorie de performatives FIPA Information (contenu: proposition) Query_if, query_ref, sunscribe, inform, inform_if, inform_ref, confirm, disconfirm, not_understood Distribution de tâches (contenu: action) Request, request_whenever, cancel, agree, refuse, failure Négociation (contenu: action et proposition) Cfp (Call for proposal), propose, accept_proposal, reject_proposal

Sémantique et FIPA ACL Exemple: Performative Inform <i, inform( j, f)> FP: B i fÙ Ø B i ( Bif j fÚ Uif j f) (i croit que f et i ne croit pas que j croit f ou il en a des doutes) RE: B j f (j croit que f) Exemple: L’agent i informe l’agent j qu’il (est vrai que) va pleuvoir aujourd’hui: (inform :sender i :receiver j :content "weather(today,raining)" :language Prolog :ontology weather42).

Sémantique et FIPA ACL (request A l’agent j de répondre que non: L’agent i demande à j de l’informer si Lannion est en Normandie. (request :sender i :receiver j :content(inform-if :sender j :receiver i :content "in( lannion, normandie)" :language Prolog) :language FIPA-SL) A l’agent j de répondre que non: (inform :content"\+ in( lannion, normandie )"

Comparaison de Tell(KQML) et Inform(FIPA ACL) Les deux messages sont syntaxiquement identiques La différence est uniquement au niveau de la sémantique et ce à 2 niveaux: La façon de décrire la primitive. Ex: pre-, post- pour les conditions dans KQML et FP et RE pour FIPA ACL Langage différent pour la description des attitudes propositionelles (mentales). Ex: les opérateurs bel et B (resp.) de KQML et de FIPA ACL n’ont pas la même signification.

Sémantique de Tell (KQML) TELL(A,B,X) A informe B qu’il (A) croit que X est vrai (pour lui) bel(A,X) Pre(A): bel(A,X) Ù know(A,want(B,know(B,S))) where S may be bel(B,X) or NOT(bel(B,X)) Pre(B): intend(B,know(B,S)) Post(A): know(A,know(B,bel(A,X))) Post(B): know(B,bel(A,X)) Completion: know(B,bel(A,X)) La condition de complétion et les post-conditions doivent s’apparier à moins qu’un SORRY ou un ERROR soit émis (exception) pour indiquer que B ne peut traiter proprement ce message.

Méthodologie de développement 4 phases pour le développement de SMA: Collecter et construire les ontologies nécessaires Utiliser les standard, les ontotologies publiées si possible Développer et publier de nouvelles composantes au besoin Utiliser les outils commun (Ex: Ontologuia, Zeus Onto. Edit) Choisir un langage de représentation commun Exemple: KIF Utiliser un ACL (ex: KQML) comme langage de communication Au besoin, l’étendre avec de nouvelles performatives et de nouveaux protocoles Identifier et définir des protocoles de haut-niveau Ex: pour la négociation, pour l’achat, pour le cataloguage …