Agent Technology - PowerPoint PPT Presentation

Agent technology l.jpg
Download
1 / 70

  • 130 Views
  • Updated 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

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

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 l.jpg

Agent Technology

Communication

in multi-agent system


Communication l.jpg

Communication

  • Message Types

  • Communication Levels

  • Speech Acts

  • Knowledge Query and Manipulation Language

  • Knowledge Interchange Format

  • Ontology

  • ACL

  • Summary

©Gao Yang, Ai Lab NJU


Introduction l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Message Types

  • Interagent message types

©Gao Yang, Ai Lab NJU


Communication levels l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Speech Acts

©Gao Yang, Ai Lab NJU


Speech acts23 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

KQML

  • 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


Slide29 l.jpg

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 l.jpg

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

:senderAgent1

:receiverAgent2

:languageKIF

:ontologyBlocks-World

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

)

©Gao Yang, Ai Lab NJU


Slide31 l.jpg

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

:fromAgent1

:toAgent2

:senderAgent1

:receiverAgent3

:language KQML

:ontology kqml-ontology

:content(tell

:senderAgent1

:receiverAgent2

:language KIF

:ontology Blocks-World

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

(On A B))))

©Gao Yang, Ai Lab NJU


Slide32 l.jpg

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 l.jpg

KQML

(advertise

:senderAgent2

:receiverAgent1

:languageKQML

:ontologykqml-ontology

:content(ask-all

:senderAgent1

:receiverAgent2

:in-reply-to id1

:language Prolog

:ontology Blocks-World

:content“on(X,Y)”))

©Gao Yang, Ai Lab NJU


Slide34 l.jpg

KQML

(ask-all

:senderAgent1

:receiverAgent2

:in-reply-to id1

:language Prolog

:ontology Blocks-World

:content“on(X,Y)”))

(tell

:senderAgent2

:receiverAgent1

:in-reply-to id2

:language Prolog

:ontology Blocks-World

:content“[on(a,b),

on(c,d)]”)

©Gao Yang, Ai Lab NJU


Slide35 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

KQML

  • Facilitators – I (F is not involved)

©Gao Yang, Ai Lab NJU


Slide39 l.jpg

tell(X)

ask(X)

F

tell(X)

A

B

KQML

  • F just forwards

©Gao Yang, Ai Lab NJU


Slide40 l.jpg

KQML

  • F is the middle-man

©Gao Yang, Ai Lab NJU


Slide41 l.jpg

KQML

  • F sets up connection

©Gao Yang, Ai Lab NJU


Slide42 l.jpg

KQML

  • Service discovery

©Gao Yang, Ai Lab NJU


Slide43 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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 l.jpg

    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