agent technology l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Agent Technology PowerPoint Presentation
Download Presentation
Agent Technology

Loading in 2 Seconds...

play fullscreen
1 / 70

Agent Technology - PowerPoint PPT Presentation


  • 163 Views
  • Uploaded on

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. Introduction. Motivation for Agent Communication

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Agent Technology' - hoang


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
agent technology

Agent Technology

Communication

in multi-agent system

communication
Communication
  • Message Types
  • Communication Levels
  • Speech Acts
  • Knowledge Query and Manipulation Language
  • Knowledge Interchange Format
  • Ontology
  • ACL
  • Summary

©Gao Yang, Ai Lab NJU

introduction
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

introduction4
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

introduction5
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

introduction6
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

introduction7
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

introduction8
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
Message Types
  • Two basic message types
    • Assertions
      • 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 types10
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.

©Gao Yang, Ai Lab NJU

message types11
Message Types
  • Interagent message types

©Gao Yang, Ai Lab NJU

communication levels
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 levels13
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 levels14
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 levels15
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 levels16
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”)

©Gao Yang, Ai Lab NJU

speech acts
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 acts18
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.

©Gao Yang, Ai Lab NJU

speech acts19
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 acts20
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”.

©Gao Yang, Ai Lab NJU

speech acts21
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 acts22
Speech Acts

©Gao Yang, Ai Lab NJU

speech acts23
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

slide24
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

slide25
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

slide26
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

slide27
KQML
  • KQML
    • 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

slide28
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.

©Gao Yang, Ai Lab NJU

slide29
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

slide30
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))

)

©Gao Yang, Ai Lab NJU

slide31
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

:sender Agent1

:receiver Agent2

:language KIF

:ontology Blocks-World

:content (And (Block A) (Block B)

(On A B))))

©Gao Yang, Ai Lab NJU

slide32
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

slide33
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)”))

©Gao Yang, Ai Lab NJU

slide34
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)]”)

©Gao Yang, Ai Lab NJU

slide35
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.

©Gao Yang, Ai Lab NJU

slide36
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

slide37
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

©Gao Yang, Ai Lab NJU

slide38
KQML
  • Facilitators – I (F is not involved)

©Gao Yang, Ai Lab NJU

slide39

tell(X)

ask(X)

F

tell(X)

A

B

KQML
  • F just forwards

©Gao Yang, Ai Lab NJU

slide40
KQML
  • F is the middle-man

©Gao Yang, Ai Lab NJU

slide41
KQML
  • F sets up connection

©Gao Yang, Ai Lab NJU

slide42
KQML
  • Service discovery

©Gao Yang, Ai Lab NJU

slide43
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

slide44

Communication:Mechanics of communication

Message:Logic of communication

Content of

communication

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:

©Gao Yang, Ai Lab NJU

slide45
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

slide46
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

slide47
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
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.

©Gao Yang, Ai Lab NJU

knowledge interchange format49
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

©Gao Yang, Ai Lab NJU

knowledge interchange format50
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 format51
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))

©Gao Yang, Ai Lab NJU

knowledge interchange format52
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))

©Gao Yang, Ai Lab NJU

knowledge interchange format53
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
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

ontology55
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)

©Gao Yang, Ai Lab NJU

ontology56
Ontology
  • 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/

ontology-definitions:

slot-def: eats

inverse: is-eaten-by

class-def: animal

class-def: plant

©Gao Yang, Ai Lab NJU

fipa acl introduction
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
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
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 ACL

Fipa supports three main types of syntax encoding:

    • Extensible Markup Language – XML
    • Proprietary Binary format
    • Lisp-like format
  • Separates between Envelopes and Messages

©Gao Yang, Ai Lab NJU

example xml encoded fipa acl
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>
  • <agent-identifier>
  • <name>sender@bar.com</name>
  • <addresses>
  • <url>http://bar.com/acc</url>
  • </addresses>
  • </agent-identifier>
  • </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
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
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

©Gao Yang, Ai Lab NJU

fipa acl message structure
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
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 acl66
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
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
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
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
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