Intelligent Agent Technology and Application

Download Report

Transcript Intelligent Agent Technology and Application

Agent Technology
Communication
in multi-agent system
©Intelligent Agent Technology and Application, 2008, Ai Lab NJU
Communication








2
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”.
–
3
Supports heterogeneous agents.
©Gao Yang, Ai Lab NJU
Introduction

Characterization
–
–
–
4
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
–
5

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

–
–
6
©Gao Yang, Ai Lab NJU
Introduction

Communication versus computation
–
–
7
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:




–
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

8
sender
recipient(s)
language in the protocol
actions to be taken by the participants at various stages
involves high-level concepts, such as
– commitments, beliefs, intentions
– permissions, responsibilities, requests
©Gao Yang, Ai Lab NJU
Message Types

Two basic message types
–
Assertions

–
9
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
10
©Gao Yang, Ai Lab NJU
√
√
√
√
√
√
√
√
Message Types

Interagent message types
Communication Types
Illocutionary Force
Expected Result
Assertion
Inform
Acceptance
Query
Question
Reply
Reply
Inform
Acceptance
Request
Request
Explanation
Inform
Command
Request
Permission
Inform
Acceptance
Refusal
Inform
Acceptance
Offer/Bid
Inform
Acceptance
Inform
Offer/Bid
Agreement
Acceptance
Agreement
Proposal
Confirmation
Retraction
Denial
11
©Gao Yang, Ai Lab NJU
Communication Levels


12
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, ...
Encoding schema
Java serialized object, String, Bytecode
Physical protocols
HTTP, IIOP, TCP/IP, SMTP, Fax, Phone, WAP, ...
13
©Gao Yang, Ai Lab NJU
Agent
middleware
Communication Levels

Classification of message classifications
– Syntactic

–
Semantic


–
distinguish messages based on a notion of intrinsic
meaning
e.g., prohibitive is different from directive, despite their
syntactic similarity
Use-based


14
distinguish messages based on grammatical forms in
natural language
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)
15
©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”)
16
©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.
17
©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.
–
18
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.
19
©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.
–
20
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
–
21
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
22
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.
23
©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.
24
©Gao Yang, Ai Lab NJU
KQML

KQML
–
Developed under a DARPA funded project, started around
1990
25
–
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
:receiver
:language
:ontology
:content
……)
26
©Gao Yang, Ai Lab NJU
<word>
<word>
<word>
<word>
<expression>
KQML

KQML
–
The syntax is Lisp-like, the arguments-identified by
keywords preceded by a colon-may be given in any order.

27
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
message.
28
©Gao Yang, Ai Lab NJU
the vocabulary of the “words” in the
KQML


29
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
:receiver
:language
:ontology
:content
)
30
©Gao Yang, Ai Lab NJU
Agent1
Agent2
KIF
Blocks-World
(And (Block A) (Block B) (On A B))
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)
©Gao Yang, Ai Lab NJU
(On A B))))
–
31
KQML
–
32
The KQML performatives may be organized into seven
basic categories:

Basic query performatives (evaluate, ask-one, ask-all, …)

Multiresponse query performatives (stream-in, streamall, …)

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
:receiver
:language
:ontology
:content
33
Agent2
Agent1
KQML
kqml-ontology
(ask-all
:sender Agent1
:receiver Agent2
:in-reply-to id1
:language Prolog
:ontology Blocks-World
:content “on(X,Y)”))
©Gao Yang, Ai Lab NJU
KQML
(ask-all
(tell
:sender Agent1
:receiverAgent2
:in-reply-to id1
:language Prolog
:ontology Blocks-World
:content “on(X,Y)”))
34
©Gao Yang, Ai Lab NJU
:sender Agent2
:receiverAgent1
:in-reply-to id2
:language Prolog
:ontology Blocks-World
:content “[on(a,b),
on(c,d)]”)
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.
35
©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,[[email protected])
name(amundbot,http,[www.jfipa.org:80/])
36
©Gao Yang, Ai Lab NJU
KQML

37
Facilitators – 1
1. Maintain registry of service names
2. Forward messages to named services
3. Route messages based on content
4. Provide ”matchmaking”
5. Provide mediation and translation services
©Gao Yang, Ai Lab NJU
KQML

Facilitators – I (F is not involved)
F
tell(X)
ask(X)
A
38
©Gao Yang, Ai Lab NJU
B
KQML

F just forwards
tell(X)
ask(X)
tell(X)
A
39
©Gao Yang, Ai Lab NJU
F
B
KQML

F is the middle-man
advertise(ask(X))
broker(ask(X))
tell(X)
F
tell(X)
A
40
©Gao Yang, Ai Lab NJU
ask(X)
B
KQML

F sets up connection
advertise(ask(X))
recruit(tell(X))
F
ask(X)
tell(X)
A
41
©Gao Yang, Ai Lab NJU
B
KQML

Service discovery
recommend(ask(X))
advertise(ask(X))
reply(B)
F
ask(X)
A
42
©Gao Yang, Ai Lab NJU
tell(X)
B
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)
43
–
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:
Communication:
Mechanics of communication
Message:
Logic of communication
Content of
communication
44
©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
–
45
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
46
©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



–
–
47
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
–
–

48
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
1.
2.
3.
4.
•
Additional features:
–
–
–
49
Prefix version of 1st order predicate calculus (logic)
Declarative semantics
Logically comprehensive
Provides representation of knowledge about
representation of knowledge
Translatability
Readability
Usability
©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)
50
©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))
51
©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))
52
©Gao Yang, Ai Lab NJU
Knowledge Interchange Format

Excises
How would you describe the following utterances in KIF
1.
2.
3.
4.
5.
53
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)
54
©Gao Yang, Ai Lab NJU
Ontology

Ontology Inference Layer – OIL
–
OIL is used to specify and exchange ontologies
–
Three roots of OIL:
–
1.
Description Logics
2.
Frame-based Systems
3.
Web-standards: XML and RDF
Small, not too expressive (as possibly the case
with Ontolingua)
55
©Gao Yang, Ai Lab NJU
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
56
©Gao Yang, Ai Lab NJU
FIPA ACL, introduction
57

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
58

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
59

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:
1. Extensible Markup Language – XML
2. Proprietary Binary format
3. Lisp-like format

60
Separates between Envelopes and Messages
©Gao Yang, Ai Lab NJU
Example - XML-encoded FIPA ACL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
61
<?xml version="1.0"?>
<envelope>
<params index="1">
<to>
<agent-identifier>
<name>[email protected]</name>
<addresses>
<url>http://foo.com/acc</url>
</addresses>
</agent-identifier>
</to>
<from>
<agent-identifier>
<name>[email protected]</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
1.
2.
3.
4.
5.
6.
7.
8.
9.
62
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






63
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:
(inform
:sender I
:receiver J
:content
“weather(today,raining)”
:language Prolog
:ontology weather42)
64
©Gao Yang, Ai Lab NJU
Comparison, KQML vs. FIPA ACL
65

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

66
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
67

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
68
©Gao Yang, Ai Lab NJU
References
69

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
70

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