Agent technology l.jpg
Sponsored Links
This presentation is the property of its rightful owner.
1 / 70

Agent Technology PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Agent Technology

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


in multi-agent system


  • Message Types

  • Communication Levels

  • Speech Acts

  • Knowledge Query and Manipulation Language

  • Knowledge Interchange Format

  • Ontology

  • ACL

  • Summary

©Gao Yang, Ai Lab NJU


  • 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


  • 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


  • 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


  • 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


  • 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


  • 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

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

©Gao Yang, Ai Lab NJU

Message Types

  • Interagent message types

©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


Content language




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

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

©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”.

©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

©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


  • 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

    • 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

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








©Gao Yang, Ai Lab NJU


  • 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


  • The KQML-performatives are modeled on speech act performatives.

    • Thus, the semantics of KQML performatives is domain independent.

    • :contentthe message itself.

    • :languagethe language in which the message is expressed.

    • :ontologythe vocabulary of the “words” in the message.

©Gao Yang, Ai Lab NJU


  • 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


  • Blocks-World example

    • In a Blocks-World ontology, the fact that block A is on top of block B could be communicated as follows:






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


©Gao Yang, Ai Lab NJU


  • 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:






:language KQML

:ontology kqml-ontology




:language KIF

:ontology Blocks-World

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

(On A B))))

©Gao Yang, Ai Lab NJU


  • 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










:in-reply-to id1

:language Prolog

:ontology Blocks-World


©Gao Yang, Ai Lab NJU





:in-reply-to id1

:language Prolog

:ontology Blocks-World





:in-reply-to id2

:language Prolog

:ontology Blocks-World



©Gao Yang, Ai Lab NJU


  • 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


  • 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, [,80]).



©Gao Yang, Ai Lab NJU


  • 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


  • Facilitators – I (F is not involved)

©Gao Yang, Ai Lab NJU








  • F just forwards

©Gao Yang, Ai Lab NJU


  • F is the middle-man

©Gao Yang, Ai Lab NJU


  • F sets up connection

©Gao Yang, Ai Lab NJU


  • Service discovery

©Gao Yang, Ai Lab NJU


  • 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

Communication:Mechanics of communication

Message:Logic of communication

Content of



  • 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


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


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

©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

©Gao Yang, Ai Lab NJU

Knowledge Interchange Format

  • KIF general overview


    • ?singlevar, @sequence


      Term Operators: listof, if, ..

      Sentence Operators: not, and, /=, ...

      Rule Operators: =>>, ..

      Definition Operators: defobject, deffunction


      object, function, relational, logical


      Word or a finite sequence of words (i.e. Sentences)

©Gao Yang, Ai Lab NJU

Knowledge Interchange Format

  • KIF example 1


    (size chip1)

    (+ (sin theta)(cos theta))

    (setofall ?x (above ?x chip1))


    (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 Format

  • KIF example 2


    (defrelation leq(?x ?y) := (not (> ?x ?y)))

    (defrelation natural(?x) := (and (integer ?x) (>= ?x 0)))


    (progn (fresh_line t)(print ”Hi!”)(fresh_line t))


    (believes John ’(material moon jarlsberg))

    (=> (believes John ?p) (believes Mary ?p))

    (=>(and (real-number ?x) (even-number ?n))(> (expt ?x ?n) 0)


    (<<= (flies ?x)(bird ?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


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


  • OIL example


    title: ”african animals”

    subject: ”animal, food, vegetarians”

    description: ”example ontology describing african animals”

    Language ”en-uk”



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

    • <?xml version="1.0"?>

    • <envelope>

    • <params index="1">

    • <to>

    • <agent-identifier>

    • <name></name>

    • <addresses>

    • <url></url>

    • </addresses>

    • </agent-identifier>

    • </to>

    • <from>

    • <agent-identifier>

    • <name></name>

    • <addresses>

    • <url></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="" />

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

    ©Gao Yang, Ai Lab NJU

    FIPA ACL, message structure

    • Syntax almost identical to KQML

    • Each message contains a set of message elements

    • Example:


      :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


    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


    • 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

    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

  • Login