Download presentation
Presentation is loading. Please wait.
Published byRussell Bryan Modified over 9 years ago
1
Agent Communications Necessity Communication languages Communication architectures
2
Motivation for Agent Communication ”Language is a very difficult thing to put into words” – Voltaire 1.Communication is required for cooperation between agents 2.Societies can perform tasks no individual agent can 3.Communicating agents need only know a ”common language” 4.Supports heterogenous agents
3
The nature of communication Human communication Communication is the intentional exchange of information brought about by the production and perception of signs drawn from a shared system of conventional signs (AIMA, Russell&Norvig) language Communication seen as an action (communicative act) and as an intentional stance Component steps of communication SpeakerHearer Intention Perception Generation Analysis Synthesis Disambiguation Incorporation 3 Syntax Semantics Pragmatics
4
The environment provides a computational infrastructure where interactions among agents take place. The infrastructure includes protocols for agents to communicate and protocols for agents to interact 4 Artificial Communication in a multi-agents system
5
ACL Agent Communication Language (ACL) is based on speech-act theory.speech-act theory Speech Acts...speaking a language is performing speech acts, acts such as making statements, giving commands, asking questions, making promises, and so on. - John Searle
6
Speech Acts Speech act theories are pragmatic theories of language, i.e., theories of language use: they attempt to account for how language is used by people every day to achieve their goals and intentions The origin of speech act theories are usually traced to Austin ’ s 1962 book, How to Do Things with Words
7
Theory of Speech Acts J. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969 A speech act has 3 aspects: locution = physical utterance( 発話 ) by the speaker illocution = the intended meaning of the utterance by the speaker (performative) prelocution = the action that results from the locution Alice told Tom: "Would you please close the door" locutionillocutioncontent prelocution: door closed (hopefully!) Illocutionary aspect - several categories oAssertives, which inform: the door is shut oDirectives, which request: shut the door, can pelicans fly? oCommissives, which promise something: I will shut the door oPermissive, which gives permission for an act: you may shut the door oProhibitives, which ban some act: do not shut the door oDeclaratives, which causes events: I name you king of Ruritania oExpressives, which express emotions and evaluations: I am happy 7
8
An utterance is a spoken word or string of spoken words. At the simplest level, to utter is simply to say a word with no particular forethought or intention to communicate a meaning. Propositional Utterance is a more meaningful type of utterance makes reference to or describes a real or imaginary object. An illocutionary utterance is spoken with the intention of providing information, soliciting answers to questions, giving praise, and so on Perlocutionary utterances, on the other hand, do attempt to effect a change. The Speech Act Model
9
ACLs – communication as action - communicative acts - standard formats for the exchange of messages
10
KQML and KIF The best known ACL is KQML, developed by the ARPA knowledge sharing initiative KQML is comprised of two parts: –the knowledge query and manipulation language (KQML) –the knowledge interchange format (KIF)
11
KQML KQML is an ‘ outer ’ language, that defines various acceptable ‘ communicative verbs ’, or performatives Example performatives: –ask-if ( ‘ is it true that... ’ ) –perform ( ‘ please perform the following action... ’ ) –tell ( ‘ it is true that... ’ ) –reply ( ‘ the answer is... ’ )
12
Categories of KQML performatives 1.Basic Query performatives 2.Multi-response query performatives 3.Response performatives 4.Generic Informational performatives 5.Generator performatives 6.Capability performatives 7.Networking performatives
13
(ask-one :sender joe :receiver ibm-stock :reply-with ibm-stock :language PROLOG :ontology NYSE-TICKS :content (price ibm ?price) ) 13 (tell :sender willie :receiver joe :reply-with block1 :language KIF :ontology BlockWorld :content (AND (Block A)(Block B) (On A B)) ) 1. Query performatives: ask-one, ask-all, ask-if, stream-all,... (stream-all:sender willie :receiver ibm-stock :content (price ?VL ?price ) ) (standby :content (stream-all :content (price ?VL ?price) ) ask-one(P) tell(P) tell(P1) stream-all(P) tell(P2) eos tell(P1,P2,...) ask-all(P) B B B A A A
14
14 4. Generic informational performatives: tell, untell, insert, delete,... In fact, KQML contains only 2 types of illocutionary acts: assertives and directives + facilitator and network-related performatives (no necessarily speech acts) tell(P) untell(P) delete(P) insert(P) 2. Generator performatives: standby, ready, next, rest, discard, generate,... 6. Network performatives: register, unregister, forward, route,... 3. Response performatives: reply, sorry... 5. Capability performatives: advartise, subscribe, recommend... Facilitator A A B B
15
15 Facilitator agent = an agent that performs various useful communication services: kmaintaining a registry of service names (Agent Name Server) kforwarding messages to named services krouting messages based on content kmatchmaking between information providers and clients kproviding mediation and translation services tell(P) ask(P) subscribe(ask(P)) tell(P) advertise(ask(P)) tell(P) recruit(ask(P)) ask(P) recommend(ask(P))advertise(ask(P)) tell(P) ask(P) reply(B) A A A A B B B B
16
KQML Examples I A B - (tell (> 3 2)) A B - (perform (print ”hello” t)) B A – (reply done) A B - (ask-if (> (size chip1) (size chip2) )) B A – (reply true) A B - (subscribe (position ?x ?r ?c)) B A – (tell (position chip1 8 10)) B A – (tell (position chip2 8 46)) B A – (tell (position chip3 3 64)) A B - (unsubscribe (position ?x ?r ?c))
17
(ask-one :content (geoloc TRD (?long ?lat)) :ontology geo-model3) (ask-all :content ”price(IBM, [?price, ?time])” :receiver stock-server :language standard-prolog :ontology NYSE-TICS) KQML Examples II
18
KIF – Knowledge Interchange Format KIF is a language for expressing message content Used to state: Properties of things in a domain (e.g., “ Noam is chairman ” ) Relationships between things in a domain (e.g., “ Amnon is Yael ’ s boss ” ) General properties of a domain (e.g., “ All students are registered for at least one course ” )
19
KIF examples - I Terms: (size chip1) (+ (sin theta)(cos theta)) (if (> theta 0) theta (-theta)) (setofall ?x (above ?x chip1)) Sentences: (Prime 565762761) (> (sin theta) (cos phi)) (not (> (sin theta) 0))) (> (* (width chip1) (length chip2))(*(width chip1)(length chip2))) (=> (> ?x 0) (positive ?x))
20
KIF Examples - II Definitions: (defrelation leq(?x ?y) := (not (> ?x ?y))) (defrelation natural(?x) := (and (integer ?x) (>= ?x 0))) Procedures: (progn (fresh_line t)(print ”Hi!”)(fresh_line t)) Meta-Knowledge: (believes John ’(material moon jarlsberg)) (=> (believes John ?p) (believes Mary ?p)) Rules: (<<= (flies ?x)(bird ?x))
21
KQML Statement Structure KQML Statements consists of 1.A performative 2.Parameters and context information General syntax: (KQML-performative :sender word :receiver word :language word :ontology word :content expression...) A formal specification of a set of terms is known as an ontology The knowledge sharing effort has associated with it a large effort at defining common ontologies - software tools like ontolingua
22
22 Ontologies Ontology = a specification of objects, concepts, and reationships in a particular domain; it comprises a vocabulary, a domain theory and a conceptual schemata to describe organization and interpretation An ontology is more than a taxonomy of classes, it must also describe relationships x (Block x) (PhysicalObject x) Instead of (Block A) (InstanceOf A Block) (Class Block) Hierarchy (Class PhysicalObjects) (SubclassOf Block PhysicalObjects) x,y,z (InstanceOf x y) (SubclassOf y z) (InstanceOf x z) Ontology editors frame-based KR systems that allow the user to define an ontology and its components: classes, instances, relationships, and functions Person PupilStudEmpl Sun_EIBM_E Person Empl Woman Stud Man JoeAlice JoeAlice
23
KQML Agent naming System for mapping agents into names is important in most ACLs KQML assumes that names are local –A can register with B under the name Alice –A can register with C under the name Albert Doesn’t preclude the use of a central Agent Name Server, an architecture used by most systems What gets registered under a name? Contact information like: name(amundbot, tcpip, [cavenan.idi.ntnu.no,80]). name(amundbot,smtp,[amundbot@jfipa.org) name(amundbot,http,[www.jfipa.org:80/])
24
Facilitators - I Agents performing various (useful) communication services 1.Maintain registry of service names 2.Forward messages to named services 3.Route messages based on content 4.Provide ”matchmaking” 5.Provide mediation and translation services
25
Routers Content-independent message routers Each KQML-agent is associated with its own separate router process Router handles all outgoing/incoming ACL messages Outgoing messages can specify a particular agent address (to agent or router) Message can specify a description of context Delivery of messages is not guaranteed
26
Other ACLs Telescript – supports mobile computing FIPA ACL – competing/extending KQML FIPA vs KQML –Both are based on speech act –Different set of performatives –FIPA has a more formal basis –FIPA can describe interaction protocols –FIPA is probably becoming the standard ACL
27
More recently, the Foundation for Intelligent Physical Agents (FIPA) started work on a program of agent standards — the centerpiece is an ACL Basic structure is quite similar to KQML: –performative 20 performative in FIPA –housekeeping e.g., sender, etc. –content the actual content of the message FIPA’s Agent Communication Language Specifications
28
FIPA Example (inform :senderagent1 :receiveragent5 :content(price good200 150) :languagesl :ontologyhpl-auction )
29
FIPA
30
“ Inform ” and “ Request ” “ Inform ” and “ Request ” are the two basic performatives in FIPA. All others are macro definitions, defined in terms of these. The meaning of inform and request is defined in two parts: –pre-condition what must be true in order for the speech act to succeed –“ rational effect ” what the sender of the message hopes to bring about
31
“ Inform ” For the “ inform ” performative … The content is a statement. Pre-condition is that sender: –holds that the content is true –intends that the recipient believe the content –does not already believe that the recipient is aware of whether content is true or not
32
“ Request ” For the “ request ” performative … The content is an action. Pre-condition is that sender: –intends action content to be performed –believes recipient is capable of performing this action –does not believe that receiver already intends to perform action
33
What is FIPA? The Foundation for Intelligent Physical Agents (FIPA) is a non-profit association. FIPA’s purpose is to promote the success of emerging agent-based applications, services and equipment. FIPA’s goal is pursued by making available in a timely manner, internationally agreed specifications that maximise interoperability across agent-based applications, services and equipment. http://www.fipa.org/
34
Who is FIPA? FIPA operates through the open international collaboration of member organisations, which are companies and universities active in the agent field. Companies: Alcatel, Boeing, British Telecom, Deutsche Telekom, France Telecom, Fujitsu, Hitatchi, HP, IBM, Fujitsu, Hewlett Packard, IBM, Intel, Lucent, NEC, NHK, NTT, Nortel, Siemens, SUN, Telia, Toshiba, etc. Universities and Research Institutes: GMD, EPFL, Imperial, IRST, etc. Government Agencies: DARPA
35
FIPA Encodings and package Fipa supports three main types of syntax encoding: 1.Extensible Markup Language – XML 2.Proprietary Binary format 3.Lisp-like format Separates between Envelopes and Messages
36
Example - XML-encoded FIPA ACL 1. 2. 3. 4. 5. 6. receiver@foo.com 7. 8. http://foo.com/acc 9. 10. 11. 12. 13. 14. sender@bar.com 15. 16. http://bar.com/acc 17. 18. 19. 20. 21. fipa.acl.rep.xml.std 22. 23. 20000508T042651481 24. 25. no encryption 26. 27. 28. 29. 30. 31. 32. 33. 34.
37
Binary encoded FIPA XML 1. 0xfe 0x00 0x97 0x12 0x20 0x31 0x11 0x06 0x19 0x15 0x37 0x62 0x59 0x20 0x02 0x03 0x02 2.‘ r ’ ‘ e ’ ‘ c ’ ‘ e ’ ‘ i ’ ‘ v ’ ‘ e ’ ‘ r ’ ‘ @ ’ ‘ f ’ ‘ o ’ ‘ o ’ ‘. ’ ‘ c ’ ‘ o ’ ‘ m ’ 0x00 3. 0x02 ‘ h ’ ‘ t ’ ‘ t ’ ‘ p ’ ‘ : ’ ‘ / ’ ‘ / ’ ‘ f ’ ‘ o ’ ‘ o ’ ‘. ’ ‘ c ’ ‘ o ’ ‘ m ’ ‘ / ’ ‘ a ’ 4.‘ c ’ ‘ c ’ 0x00 0x01 0x01 0x02 ‘ s ’ ‘ e ’ ‘ n ’ ‘ d ’ ‘ e ’ ‘ r ’ ‘ @ ’ ‘ b ’ ‘ a ’ ‘ r ’ ‘. ’ 5.‘ c ’ ‘ o ’ ‘ m ’ 0x00 0x02 ‘ h ’ ‘ t ’ ‘ t ’ ‘ p ’ ‘ : ’ ‘ / ’ ‘ / ’ ‘ b ’ ‘ a ’ ‘ r ’ ‘. ’ ‘ c ’ 6.‘ o ’ ‘ m ’ ‘ / ’ ‘ a ’ ‘ c ’ ‘ c ’ 0x00 0x01 0x01 0x08 ‘ n ’ ‘ o ’ ‘ ’ ‘ e ’ ‘ n ’ ‘ c ’ ‘ r ’ 7.‘ y ’ ‘ p ’ ‘ t ’ ‘ i ’ ‘ o ’ ‘ n ’ 0x00 0x0a ‘ h ’ ‘ t ’ ‘ t ’ ‘ p ’ ‘ : ’ ‘ / ’ ‘ / ’ ‘ b ’ ‘ a ’ 8.‘ r ’ ‘. ’ ‘ c ’ ‘ o ’ ‘ m ’ ‘ / ’ ‘ a ’ ‘ c ’ ‘ c ’ 0x00 0x20 0x31 0x11 0x06 0x19 0x15 0x37 9. 0x62 0x59 0x20 0x03 ‘ 1 ’ ‘ 2 ’ ‘ 3 ’ ‘ 4 ’ ‘ 5 ’ ‘ 6 ’ ‘ 7 ’ ‘ 8 ’ ‘ 9 ’ 0x00 0x01 10.
38
Shortcomings of current ACLs Intentional level description: which mental attitudes, what definitions? Problems with mental attitudes: from theory to practice Can all desirable communication primitives be modeled after speech acts? Should they? Flexible description of agents’ capabilities and advertising of such capabilities. How can we test an agent’s compliance with the ACL? Ease of extending an ACL
39
Conclusions of Current ACLs Agent Communication Languages have a common basis – speech act Syntax is well specified, but current research is on describing semantics
40
Motivation for KIF (Knowledge Interchange Format) Creating language for development of intelligent applications Creating language for common interchange format Note: KIF is not intended for interaction with humans KIF is not intended to be internal representation for knowledge within computer programs http://logic.stanford.edu/kif/dpans.html
41
KIF Features 1.Prefix version of 1 st order predicate calculus (logic) 2.Declarative semantics 3.Logically comprehensive 4.Provides representation of knowledge about representation of knowledge Additional features: Translatability Readability Usability
42
KIF General Overview Variables: ?singlevar, @sequence Operators: Term Operators: listof, if,.. Sentence Operators: not, and, /=,... Rule Operators: =>>,.. Definition Operators: defobject, deffunction Constants: object, function, relational, logical Expressions: Word or a finite sequence of words (i.e. Sentences)
43
Agent Vocabularies Agents should use words consistently Open-ended Dictionary Each word has: –English description for understanding by humans –KIF (or alternative) for understanding by computers Dictionary would contain multiple ontologies for many areas
44
Ontology Inference Layer – OIL http://www.ontoknowledge.org/oil/ OIL is used to specify and exchange ontologies Three roots of OIL: 1.Description Logics 2.Frame-based Systems 3.Web-standards: XML and RDF Small, not too expressive (as possibly the case with Ontolingua)
45
OIL Example ontology-container: title: ”african animals” subject: ”animal, food, vegetarians” description: ”example ontology describing african animals” Language ”en-uk” Source http://www.url.com/http://www.url.com/ ontology-definitions: slot-def: eats inverse: is-eaten-by class-def: animal class-def: plant
46
Terminology of Agent Communication Speech Act – Formal subset of natural language representing actions ACL – Agent Communication Language FIPA - Foundation for Intelligent Physical Agents KQML – Knowledge Query and Manipulation Language Ontology – ”World Model”, formal description of agent domain Encoding – syntactic representation of ACL messages ACC – Agent Communication Channel (FIPA) KSE – Knowledge Sharing Effort KIF – Knowledge Interchange Format Router – entity that sends incoming messages in correct ”direction” Facilitator – An agent that includes a Router
47
Semantics on the Web - terminology Semantic Web RDF – Resource Decription Framework OIL – Open Inference Layer XML/XML Schema Ontolingua OKBC – Open Knowledge Base Connectivity DAML – DARPA Agent Markup Language DAML-S – Service description language based on DAML UDDI – Universal Description, Discovery and Integration WSDL – Web Services Description Language SHOE – Simple HTML Ontology Extensions ebXML – e-business XML
48
Exercise Read the paper: kqml-acl.pdf Present your understanding of the paper in 10-15 minutes in next lecture.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.