Presentation is loading. Please wait.

Presentation is loading. Please wait.

Communication in multi-agent system

Similar presentations


Presentation on theme: "Communication in multi-agent system"— Presentation transcript:

1 Communication in multi-agent system
Agent Technology Communication in multi-agent system

2 Communication Message Types Communication Levels Speech Acts
Knowledge Query and Manipulation Language Knowledge Interchange Format Ontology ACL Summary ©Gao Yang, Ai Lab NJU

3 Introduction Motivation for Agent Communication
Communication is required for cooperation between agents. Societies can perform tasks no individual agent can. Autonomy encourages disregard for other agents’ internal structure. Communication agents need only know a “common knowledge”. Supports heterogeneous agents. ©Gao Yang, Ai Lab NJU

4 Introduction Characterization
Interactions occur when agents exist and act in close proximity shared environment shared resources Communication occurs when agents send messages to one another with a view to influencing beliefs and intentions. Implementation details are irrelevant via communication links through shared memory because of shared conventions signalling vs “talking” “body language” 两个学生坐在不同的座位上,就是交互. 而老师讲课,学生学习就是通讯.通讯的方式有很多种,共享内存(黑板)、约定俗成(铃响上课、下课)、行为、语言。 ©Gao Yang, Ai Lab NJU

5 Introduction Communication
The primary reason for communication among agents is to coordinate activities Agents may coordinate without communication, provided they have models of others’ behaviour Communication involves the dimensions of who what when how (resources and protocol) why To facilitate cooperation, agents often need to communicate their intentions, goals, results, and state 通讯最主要的目的是协调、合作 ©Gao Yang, Ai Lab NJU

6 Introduction Coordination and cooperation
Coordination is a property of interaction among agents performing some activity in a shared state. The degree of coordination is the extent to which they avoid extraneous activity reduce resource contention avoid livelock avoid deadlock maintain safety conditions Cooperation is coordination among non-antagonistic agents Typically, agents must maintain models of other agents develop model of future interactions ©Gao Yang, Ai Lab NJU

7 Introduction Communication versus computation
Communication is generally more expensive and less reliable recomputing is often faster than requesting information over a communication channel communication can lead to prolonged negotiation chains of belief and goal updates caused by communication may not terminate Communication is qualitatively superior information cannot always be reconstructed locally communication can be avoided only when the agents are set up to share all necessary knowledge. This is a very limiting assumption which cannot be practically achieved in most interesting cases ©Gao Yang, Ai Lab NJU

8 Introduction MAS communication protocols
A MAS protocol is specified by the following fields: sender recipient(s) language in the protocol actions to be taken by the participants at various stages A MAS protocol is defined above the ISO/OSI transport layer not about bit patterns not about retransmissions or routing A MAS protocol is defined at the knowledge level involves high-level concepts, such as commitments, beliefs, intentions permissions, responsibilities, requests ©Gao Yang, Ai Lab NJU

9 Message Types Two basic message types Assertions Query
In the simplest form, the information is communicated to the agent from an external source by means of an assertion. Query In order to assume a passive role in a dialog, an agent must additionally be able to answer questions, i.e., it must be able to 1) accept a query from an external source and 2) send a reply to the source by making an assertion. ©Gao Yang, Ai Lab NJU

10 Message Types Two basic message types Query
In order to assume an active role in a dialog, an agent must be able to issue queries and make assertions. Basic agent Passive agent Active agent Peer agent Receives assertions Receives queries Sends assertions Sends queries ©Gao Yang, Ai Lab NJU

11 Message Types Interagent message types ©Gao Yang, Ai Lab NJU
Communication Types Illocutionary Force Expected Result Assertion Inform Acceptance Query Question Reply Request Explanation Agreement Command Permission Refusal Offer/Bid Proposal Confirmation Retraction Denial Illocutionary Force: 表现为行为的; ©Gao Yang, Ai Lab NJU

12 Communication Levels Communication protocols’ levels
The lowest level of the protocol specifies the method of interaction; The middle level specifies the format, or syntax, of the information being transferred; The top level specifies the meaning, or semantics, of the information. Binary and N-ary communication protocols Sender and Receiver(s) Language in the protocol Encoding and decoding functions Actions to be taken by the receiver(s) ©Gao Yang, Ai Lab NJU

13 Communication Levels Levels of agent communication
Agent Communication Language FIPA-ACL, KQML, ... Content language XML, KIF, WML, HTML, ... Agent middleware Encoding schema Java serialized object, String, Bytecode Physical protocols HTTP, IIOP, TCP/IP, SMTP, Fax, Phone, WAP, ... ©Gao Yang, Ai Lab NJU

14 Communication Levels Classification of message classifications
Syntactic distinguish messages based on grammatical forms in natural language Semantic distinguish messages based on a notion of intrinsic meaning e.g., prohibitive is different from directive, despite their syntactic similarity Use-based distinguish messages based on their roles in specific classes of protocols e.g., assertion is different from acknowledgment 语法:谓语在主宾之间,还是在宾语之后,区别汉语和日语。 语义: 语用: ©Gao Yang, Ai Lab NJU

15 Communication Levels How can an agent tell another agent something?
Send the information in a message (message passing) Write the information in a location where the other agent is likely to look (shared memory, blackboard) Show or demonstrate to the other agent (teaching) Insert or program the information directly into the other agent (master-slave, controller-controller) ©Gao Yang, Ai Lab NJU

16 Communication Levels How can one agent obtain information or request a service from another agent? Ask the other agent (message passing) Read a location where the other agent is likely to write something (shared memory or blackborad) Observe the other agent (learning) Access the information directly from the other agent (“brain surgery”) “brain surgery”:脑外科 ©Gao Yang, Ai Lab NJU

17 Speech Acts The model for communication among computational agents
Spoken human communication, speech act theory. Speech act theory views human natural language as actions, such as requests, suggestions, commitments, and replies. For example: When a jury declares a defendant guilty, there is an action taken: the defendant’s social status is changed. ©Gao Yang, Ai Lab NJU

18 Speech Acts A speech act has three aspects:
Locution, the physical utterance by the speaker. Illocution, the intended meaning of the utterance by the speaker. Perlocution, the action that results from the locution. For example: John say to Mary, “Pls close the window.” This act consists of the physical sounds generated by John. John’s intent for the message as a request or a command. If all goes well, the window being shut. Locution, 惯用语,措辞, the actual performance of the act Illocution, 语内行为, the purpose of the utterance Perlocution, 言语表达的效果, the consequences of the utterance ©Gao Yang, Ai Lab NJU

19 Speech Acts But, the intent of the message is not always easily identified. For example: “I’m cold” Can be viewed as an assertion, a request for a sweater, or a demand for an increase in room temperature. For communication among agents, we want to insure that there is no doubt about the type of message. ©Gao Yang, Ai Lab NJU

20 Speech Acts Performative
Speech act theory uses the term performative to identify the illocutionary force of this special class of utterance. Example performative verbs include Promise, report, convince, insist, tell, request, and demand etc. The special of performative verbs “Saying it makes it so”. Not all verbs are performative, “I solve this problem”. Performative:述行语,述行成分(描述行为的动词?) ©Gao Yang, Ai Lab NJU

21 Speech Acts Performative
Example performative verbs can be broadly classified as Assertives (statements of fact). Directives (commands in a master-slave structure) Commissives (commitments) Declaratives (statements of fact) Expressive (expressions of emotion) ©Gao Yang, Ai Lab NJU

22 Speech Acts Assertives “手机是关着的” Directives “把手机关掉” Commissives
“我会关掉手机” Declaratives “我宣布手机归我所有” Permisive “你可以把手机开着” ©Gao Yang, Ai Lab NJU

23 Speech Acts In summary Speech act theory helps define the type of message by using the concept of the illocutionary force, which constrains the semantics of the communication act itself. But, the message contained within the protocol may be ambiguous may have no simple response; Or may require decomposition and the assistance of other agents. ©Gao Yang, Ai Lab NJU

24 KQML A foundamental decision for the interaction of agents
Separate the semantics of the communication protocol (which must be domain independent) from the semantics of the enclosed message (which may depend on the domain) Protocol should be concise and have only a limited of primitive communication acts. ©Gao Yang, Ai Lab NJU

25 KQML KQML Developed under a DARPA funded project, started around 1990
Is a protocol for exchange information and knowledge. Two specifications: DARPA Knowledge Sharing Initiative 1993 Yannis Labrou and Tim Finin 1997 ©Gao Yang, Ai Lab NJU

26 KQML KQML The elegance of KQML
Is that all information for understanding the content of the message is include in the communication itself. Each message represents a speech act, associated semantics, protocol and a list of attributes The basic protocol is defined by the following structure. (KQML-performative :sender <word> :receiver <word> :language <word> :ontology <word> :content <expression> ……) ©Gao Yang, Ai Lab NJU

27 KQML KQML KQML performatives
The syntax is Lisp-like, the arguments-identified by keywords preceded by a colon-may be given in any order. KQML performatives Describes the type of the message. About 25 reserved performatives names. Additional performatives can be added. Special administrative and networking message type. ©Gao Yang, Ai Lab NJU

28 KQML The KQML-performatives are modeled on speech act performatives.
Thus, the semantics of KQML performatives is domain independent. :content the message itself. :language the language in which the message is expressed. :ontology the vocabulary of the “words” in the message. KQML以这种结构封装消息。 首先,语言是共有的。如都说汉语。 其次,词汇是共有的。否则对农民讲上网,讲恐龙他也不懂。 ©Gao Yang, Ai Lab NJU

29 KQML KQML The terms :content, :language, and :ontology delineate the semantics of the language. Other arguments, including :sender, :receiver, :reply-with, and :in-reply-to, are parameters of the message passing. KQML can be used in asynchronous communications. Enough? KIF: a formal syntax for representing knowledge. Ontology: define the common concepts, attributes, and relationships for different subsets of world knowledge. ©Gao Yang, Ai Lab NJU

30 KQML Blocks-World example
In a Blocks-World ontology, the fact that block A is on top of block B could be communicated as follows: (tell :sender Agent1 :receiver Agent2 :language KIF :ontology Blocks-World :content (And (Block A) (Block B) (On A B)) ) Hi,我们现在谈的是动物园的恐龙和青蛙,不是网上的 语言可以不限制在KIF,可以是Prolog,LISP或SQL,XML ©Gao Yang, Ai Lab NJU

31 KQML For an asynchronous communication, if Agent1 cannot communicate directly with Agent2(but can communicate with Agent3), Agent1 might ask Agent3 to forward a message to Agent2: (forward :from Agent1 :to Agent2 :sender Agent1 :receiver Agent3 :language KQML :ontology kqml-ontology :content (tell :receiver Agent2 :language KIF :ontology Blocks-World :content (And (Block A) (Block B) (On A B)))) Kqml语言可以嵌套,并且是自包含的。可以用在异步通讯中。 一个男生去找女生,没找到。就让女生的父亲转告“今天有一个恐龙(青蛙)来找他” ©Gao Yang, Ai Lab NJU

32 KQML The KQML performatives may be organized into seven basic categories: Basic query performatives (evaluate, ask-one, ask-all, …) Multiresponse query performatives (stream-in, stream-all, …) Response performatives (reply, sorry, …) Generic information performatives (tell, achieve, cancel, untell, unachieve,…) Generator performatives (standby, ready, rest, …) Capability-definition performatives (advertise, subscribe, monitor, …) Networking performatives (register, unregister, forward, broadcast, …) ©Gao Yang, Ai Lab NJU

33 KQML (advertise :sender Agent2 :receiver Agent1 :language KQML
:ontology kqml-ontology :content (ask-all :sender Agent1 :receiver Agent2 :in-reply-to id1 :language Prolog :ontology Blocks-World :content “on(X,Y)”)) Agent 2对Agent 1宣称:你可以用Prolog的语法问我,在BLOCK-WORLD中,什么在什么上面? ©Gao Yang, Ai Lab NJU

34 KQML (ask-all :sender Agent1 :receiver Agent2 :in-reply-to id1
:language Prolog :ontology Blocks-World :content “on(X,Y)”)) (tell :sender Agent2 :receiver Agent1 :in-reply-to id2 :language Prolog :ontology Blocks-World :content “[on(a,b), on(c,d)]”) Agent 1询问Agent 2:在BLOCK-WORLD中,什么在什么上面? Agent 2回答Agent 1:在BLOCK-WORLD中,a在b上面,c在d上面。 ©Gao Yang, Ai Lab NJU

35 KQML The communication infrastructure
Is not part of the KQML specification Implemented system use custom-made utility programs called routers or facilators to perform this function. Facilators:具有routers功能的Agent。 ©Gao Yang, Ai Lab NJU

36 KQML 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,http,[ ©Gao Yang, Ai Lab NJU

37 KQML Facilitators – 1 Maintain registry of service names
Forward messages to named services Route messages based on content Provide ”matchmaking” Provide mediation and translation services Service belonging to an agent, makes service discovery and routing simpler If a message requests a service, then forward it to it E.g. Route messages about a certain topic to a particular group of agents, or geographical Use machine learning/AI methods or just keyword/ontology matching to find matches between information providers and seekers E.g. Translate between different ACLs (e.g. KQML to FIPA ACL) or between different transport mechanisms (e.g. From SMTP to HTTP) ©Gao Yang, Ai Lab NJU

38 KQML Facilitators – I (F is not involved) ©Gao Yang, Ai Lab NJU

39 KQML F just forwards A B F tell(X) ask(X) ©Gao Yang, Ai Lab NJU

40 KQML F is the middle-man ©Gao Yang, Ai Lab NJU

41 KQML F sets up connection Recruit:补充,复原 ©Gao Yang, Ai Lab NJU

42 KQML Service discovery ©Gao Yang, Ai Lab NJU

43 KQML 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 ©Gao Yang, Ai Lab NJU

44 KQML Summary KQML aims to add value at the semantic level of communication KQML is based on speech act theory (performatives) KQML provides a meta language describing an envelope, and allowing arbitrary content languages KQML is meant to be used for: Agent-to-application communication Agent-to-agent communication KQML is layered: Content of communication Communication: Mechanics of communication Message: Logic of communication ©Gao Yang, Ai Lab NJU

45 KQML KQML communication assumptions
Agents are connected by unidirectional links carrying discrete messages Links have nonzero transport delay Agent knows link of received message Agent controls link for sending Messages to a single destination arrive in the order they were sent Message delivery is reliable, i.e., no messages are lost ©Gao Yang, Ai Lab NJU

46 KQML KQML semantics Each agent manages a virtual knowledge base (VKB)
Statements in a VKB can be classified into beliefs goals Beliefs encode information an agent has about itself and its environment Goals encode states of an agent’s environment that it will act to achieve Agents use KQML to communicate about the contents of their own and others’ VKB ©Gao Yang, Ai Lab NJU

47 KQML Critique of KQML Notion of semantics: NOT semantics of the language, but an operational semantics of the agents in applying the pragmatics of the language So far, KQML work has been merely driven by academia No industry standard implementation No consideration of industry standards (e.g., CORBA, XML) Messaging paradigm behind KQML leads to high learning curve for developers KQML has concentrated too much on syntax so far, where the contribution could have been in enhancing semantics So far, KQML has had only little impact on and virtually no use in industrial software engineering and system development ©Gao Yang, Ai Lab NJU

48 Knowledge Interchange Format
Motivation for KIF 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 KIF is specifically designed to serve as an ”interlingua”, or mediator in the translation of other language. KIF is created by the same people who created KQML. Knowledge (Knowledge rep.) language, transfer knowledge between knowledge representations ©Gao Yang, Ai Lab NJU

49 Knowledge Interchange Format
KIF features Prefix version of 1st order predicate calculus (logic) Declarative semantics Logically comprehensive Provides representation of knowledge about representation of knowledge Additional features: Translatability Readability Usability First order logic Prolog like Expressive Meta-level (similar to Gödel, successor of Prolog in many ways) Translatable – possible to translate into other languages (as opposed to some natural languages, e.g. Japanese poetry) Readibility – non-binary Usability – easy-to-parse, expressive, makes it good as a representation language ©Gao Yang, Ai Lab NJU

50 Knowledge Interchange Format
KIF general overview Variables: 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) ©Gao Yang, Ai Lab NJU

51 Knowledge Interchange Format
KIF example 1 Terms: (size chip1) (+ (sin theta)(cos theta)) (setofall ?x (above ?x chip1)) Sentences: (Prime ) (> (sin theta) (cos phi)) (not (> (sin theta) 0))) (> (* (width chip1) (length chip1))(*(width chip2)(length chip2))) (=> (> ?x 0) (positive ?x)) Chip1’s size Sin(theta)+cos(theta) 将所有东西放到chip1上 是个素数 (sin(theta)>cos(phi)) sin(theta)不大于0 Chip1的面积大于chip2的面积 If x >0 then x is positive ©Gao Yang, Ai Lab NJU

52 Knowledge Interchange Format
KIF example 2 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)) (=>(and (real-number ?x) (even-number ?n))(> (expt ?x ?n) 0) Rules: (<<= (flies ?x)(bird ?x)) X不大于y,定义为关系leq X是整数,且大于等于0,则是自然数 转新行/打印Hi/换新行 If john believes p then mary believes p X是实数,n是偶数,x的n次方大于0 X会飞,x是鸟 ©Gao Yang, Ai Lab NJU

53 Knowledge Interchange Format
Excises How would you describe the following utterances in KIF A cat is on the mat Every cat is on a mat A person is between a rock and a hard place John is going to Boston by bus Tom believes Mary wants to marry a sailor ©Gao Yang, Ai Lab NJU

54 Ontology What is ontology?
An ontology is a specification of the objects, concepts, and relationship in an area of interest. Concepts can be represented in first-order logic as unary predicates (instanceof A Block) Relationships can be represented by higher-arity predicates For all x,y,z, (instanceof x y) ∧ (subclassof y z)->(instanceof x z) ©Gao Yang, Ai Lab NJU

55 Ontology Ontology Inference Layer – OIL
OIL is used to specify and exchange ontologies Three roots of OIL: Description Logics Frame-based Systems Web-standards: XML and RDF Small, not too expressive (as possibly the case with Ontolingua) Semantics that can be described, and reasoning (e.g. Logic), supports subsumption, is-a and instance-of relations, atom level Provides modelling capabilities, similar to object-orientation relations Provides ease of transport/translation, standards ©Gao Yang, Ai Lab NJU

56 Ontology OIL example ontology-container: ontology-definitions:
title: ”african animals” subject: ”animal, food, vegetarians” description: ”example ontology describing african animals” Language ”en-uk” Source ontology-definitions: slot-def: eats inverse: is-eaten-by class-def: animal class-def: plant ©Gao Yang, Ai Lab NJU

57 FIPA ACL, introduction FIPA, non-profit organization
Companies like IBM, Hitachi, HP, British Telecom, Siemens Universities and research institutes FIPA ACL specified in 1997 ©Gao Yang, Ai Lab NJU

58 FIPA ACL, semantics Uses SL, Semantic Language to define the semantics
BDI-style primitives Feasibility preconditions and rational effect Example ©Gao Yang, Ai Lab NJU

59 FIPA ACL, Semantic Language, SL
Used to define the semantics of FIPA ACL Quantified, multi-modal logic with operators for beliefs, desires, uncertain beliefs and intentions Can represent propositions, objects and actions ©Gao Yang, Ai Lab NJU

60 FIPA ACL Fipa supports three main types of syntax encoding:
Extensible Markup Language – XML Proprietary Binary format Lisp-like format Separates between Envelopes and Messages Xml is industry-standard, lots of tools, however not efficient Binary format is highly compressed, possible useful in wireless settings. Lisp-like format is mainly of historic reasons, very similar to KQML syntax ©Gao Yang, Ai Lab NJU

61 Example - XML-encoded FIPA ACL
<?xml version="1.0"?> <envelope>   <params index="1">     <to>       <agent-identifier>            <addresses>           <url>         </addresses>       </agent-identifier>     </to>     <from>                   <url>     </from>   <acl-representation>fipa.acl.rep.xml.std</acl-representation> <date> T </date> <encrypted>no encryption</encrypted>      <received >       <received-by value=" />       <received-date value=" T " />       <received-id value=" " />     </received>   </params> </envelope> ©Gao Yang, Ai Lab NJU

62 Binary encoded FIPA XML
0xfe 0x00 0x97 0x12 0x20 0x31 0x11 0x06 0x19 0x15 0x37 0x62 0x59 0x20 0x02 0x03 0x02 ‘r’  ‘e’  ‘c’  ‘e’  ‘i’  ‘v’  ‘e’  ‘r’  ‘f’  ‘o’  ‘o’  ‘.’  ‘c’  ‘o’  ‘m’  0x00 0x02 ‘h’  ‘t’  ‘t’  ‘p’  ‘:’  ‘/’  ‘/’  ‘f’  ‘o’  ‘o’  ‘.’  ‘c’  ‘o’  ‘m’  ‘/’  ‘a’  ‘c’  ‘c’  0x00 0x01 0x01 0x02 ‘s’  ‘e’  ‘n’  ‘d’  ‘e’  ‘r’  ‘b’  ‘a’  ‘r’  ‘.’  ‘c’  ‘o’  ‘m’  0x00 0x02 ‘h’  ‘t’  ‘t’  ‘p’  ‘:’  ‘/’  ‘/’  ‘b’  ‘a’  ‘r’  ‘.’  ‘c’  ‘o’  ‘m’  ‘/’  ‘a’  ‘c’  ‘c’  0x00 0x01 0x01 0x08 ‘n’  ‘o’  ‘ ’  ‘e’  ‘n’  ‘c’  ‘r’  ‘y’  ‘p’  ‘t’  ‘i’  ‘o’  ‘n’  0x00 0x0a ‘h’  ‘t’  ‘t’  ‘p’  ‘:’  ‘/’  ‘/’  ‘b’  ‘a’  ‘r’  ‘.’  ‘c’  ‘o’  ‘m’  ‘/’  ‘a’  ‘c’  ‘c’  0x00 0x20 0x31 0x11 0x06 0x19 0x15 0x37 0x62 0x59 0x20 0x03 ‘1’  ‘2’  ‘3’  ‘4’  ‘5’  ‘6’  ‘7’  ‘8’  ‘9’  0x00 0x01  ©Gao Yang, Ai Lab NJU

63 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 Rich semantics = few messages XML-based – industry-accepted standard Lisp-style – mostly of historic reasons, very easy-to-parse, so suitable for research Binary-representation – highly efficient encoding of the FIPA XML-based representation Lisp-style representation Binary representation ©Gao Yang, Ai Lab NJU

64 FIPA ACL, message structure
Syntax almost identical to KQML Each message contains a set of message elements Example: (inform :sender I :receiver J :content “weather(today,raining)” :language Prolog :ontology weather42) ©Gao Yang, Ai Lab NJU

65 Comparison, KQML vs. FIPA ACL
Syntactically almost identical FIPA ACL treats register, unregister, etc. as requests for action with reserved meaning No facilitation primitives in FIPA ACL No commitment to content language in neither of them FIPA ACL more powerful with composing new primitives ©Gao Yang, Ai Lab NJU

66 Comparison, KQML vs. FIPA ACL
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 ©Gao Yang, Ai Lab NJU

67 Other trends, future work
Agent Communication Languages have a common basis – speech act Syntax is well specified, but current research is on describing semantics Universal communication language XML – to describe ACL messages Common content languages and ontologies Language for describing agent actions, beliefs, intentions, etc. Java ©Gao Yang, Ai Lab NJU

68 Summary 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 ©Gao Yang, Ai Lab NJU

69 References Finin, Labour, Mayfield, “KQML as an agent communication language” in Bradshaw, J., “Software agents”, The MIT Press, 1997 Dignum, F., Greaves, “Issues in agent communication: an introduction”, Springer Verlag, 2000 FIPA, KQML, Labrou, Finin, Peng, “The current landscape of Agent Communication Languages”, 1999 Dignum, F., “Issues in agent communication”, Utrecht University, 2000 Mayfield, Labrou, Finin “Evaluation of KQML as an Agent Communication Language”, 1995 ©Gao Yang, Ai Lab NJU

70 Discussion questions What architectures do the different languages support? What kinds of communication do you have in your project? What language to use for your project (if any)? What standards do you think are necessary when talking about agent communication languages in the future? ©Gao Yang, Ai Lab NJU


Download ppt "Communication in multi-agent system"

Similar presentations


Ads by Google