Communication in multi-agent system

Slides:



Advertisements
Similar presentations
MultiAgent Systems Dr Oscar Lin.
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
8-1 LECTURE 8: Agent Communication An Introduction to MultiAgent Systems
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
SOAP.
CS570 Artificial Intelligence Semantic Web & Ontology 2
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Chapter 18: Communication Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Specifying Agent Interaction Protocols with AUML and OCL COSC 6341 Project Presentation Alexei Lapouchnian November 29, 2000.
Software Agent -communication-. Outline Overview Speech act theory Agent communication languages Summary 1/35.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
INTERACTION AND COMMUNICATION. Coordination A property of interaction among a set of agents performing some activity in a shared state. The degree of.
Multiagent Systems and Societies of Agents
Agent Communication Languages CSE5610- Intelligent Software Systems Agent Communication Languages.
COMP 6703 eScience Project Semantic Web for Museums Student : Lei Junran Client/Technical Supervisor : Tom Worthington Academic Supervisor : Peter Strazdins.
Protocols and the TCP/IP Suite
DAI: Agent interaction in MAS
Agent Communication Language. Agent Coordination Agents communicate in order to achieve better the goals of themselves or of the society Coordination.
KQML as an Agent Communication Language Tim Finin, Yannis Labrou, James Mayfield.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
Agents Communication Languages (ACL) Dumitru Roman Digital Enterprise Research Institute
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Computer Science 30/08/20151 Agent Communication BDI Communication CPSC /CPSC Rob Kremer Department of Computer Science University of Calgary.
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
Topic 5: Communication and Negotiation Protocols
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Protocols and the TCP/IP Suite
Knowledge representation
The Semantic Web Service Shuying Wang Outline Semantic Web vision Core technologies XML, RDF, Ontology, Agent… Web services DAML-S.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
SIF8072 Distributed Artificial Intelligence and Intelligent Agents 13 February 2003 Lecture 5: Agent Communication Lecturer:
Spoken dialog for e-learning supported by domain ontologies Dario Bianchi, Monica Mordonini and Agostino Poggi Dipartimento di Ingegneria dell’Informazione.
 Communication Tasks  Protocols  Protocol Architecture  Characteristics of a Protocol.
EEL 5937 Agent communication EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni.
INTRODUCTION. A Communications Model Source –generates data to be transmitted Transmitter –Converts data into transmittable signals Transmission System.
Agent Communications Necessity Communication languages Communication architectures.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Semantic Web - an introduction By Daniel Wu (danielwujr)
Design of Multi-Agent Systems Teacher Bart Verheij Student assistants Albert Hankel Elske van der Vaart Web site
AOSE Multi-Agent Interaction. Agents and Interaction Interaction forms the basis of an agents collaborative problem solving capabilities. –Agents are.
Introduction to Semantic Web Service Architecture ► The vision of the Semantic Web ► Ontologies as the basic building block ► Semantic Web Service Architecture.
Agent Communication in Multi Agent Systems. Reference Weiss – Chapter 2 Wooldridge – Chapter 8.
Prepared by Engr.Jawad Ali BSc(Hons)Computer Systems Engineering University of Engineering and Technology Peshawar.
Kemal Baykal Rasim Ismayilov
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
EEL 5937 Agent communication EEL 5937 Multi Agent Systems Lotzi Bölöni.
Some Thoughts to Consider 8 How difficult is it to get a group of people, or a group of companies, or a group of nations to agree on a particular ontology?
FIPA Abstract Architecture London FIPA meeting January 24-29, 2000 from: TC-A members.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
Reading TCP/IP Protocol. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also.
Intelligent Agents: Technology and Applications Agent Communications IST 597B Spring 2003 John Yen.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Agent Communication Languages Speech act theory Speech act theory Semantics of languages Semantics of languages KQML KQML FIPA ACL FIPA ACL Comparison.
EEL 5937 Content languages EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni.
Understanding Naturally Conveyed Explanations of Device Behavior Michael Oltmans and Randall Davis MIT Artificial Intelligence Lab.
MTA SZTAKI Department of Distributed Systems Hogyan mixeljünk össze webszolgáltatásokat, ontológiákat és ágenseket? Micsik András.
다중 에이전트의 의사소통 모델에 관한 연구 - KQML 언어의 의미론을 중심으로 - 인지과학 협동과정 김 경수.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Agent Communication Michael Floyd SYSC 5103 – Software Agents November 13, 2008.
Semantic Web. P2 Introduction Information management facilities not keeping pace with the capacity of our information storage. –Information Overload –haphazardly.
Powerpoint Templates Data Communication Muhammad Waseem Iqbal Lecture # 07 Spring-2016.
LECTURE 9: Agent Communication
AGENT FRAMEWORK By- Arpan Biswas Rahul Gupta.
Semantic Resolution in a Simple E-Commerce Application
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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,smtp,[amundbot@jfipa.org) name(amundbot,http,[www.jfipa.org:80/]) ©Gao Yang, Ai Lab NJU

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

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

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

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

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

KQML Service discovery ©Gao Yang, Ai Lab NJU

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

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

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

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

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

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

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

Knowledge Interchange Format 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) ©Gao Yang, Ai Lab NJU

Knowledge Interchange Format KIF example 1 Terms: (size chip1) (+ (sin theta)(cos theta)) (setofall ?x (above ?x chip1)) Sentences: (Prime 565762761) (> (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上 565762761是个素数 (sin(theta)>cos(phi)) sin(theta)不大于0 Chip1的面积大于chip2的面积 If x >0 then x is positive ©Gao Yang, Ai Lab NJU

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

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

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

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

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

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

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

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

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

Example - XML-encoded FIPA ACL <?xml version="1.0"?> <envelope>   <params index="1">     <to>       <agent-identifier>         <name>receiver@foo.com</name>         <addresses>           <url>http://foo.com/acc</url>         </addresses>       </agent-identifier>     </to>     <from>         <name>sender@bar.com</name>           <url>http://bar.com/acc</url>     </from>   <acl-representation>fipa.acl.rep.xml.std</acl-representation> <date>20000508T042651481</date> <encrypted>no encryption</encrypted>      <received >       <received-by value="http://foo.com/acc" />       <received-date value="20000508T042651481" />       <received-id value="123456789" />     </received>   </params> </envelope> ©Gao Yang, Ai Lab NJU

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

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

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

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

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

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

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

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, http://www.fipa.org KQML, http://www.cs.umbc.edu/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

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