background image

Agents 

Agents 

The Communication 

The Communication 

Aspects

Aspects

NZDIS Team
November 2000
University of Otago

background image

Outline

Outline

Introduction to Agent Communication

Agent Messaging

Agent Communication Language (ACL)

Ontologies

Conversations

Standards bodies

Comparison to other technologies

background image

Introduction

Introduction

Agents and Objects

What is messaging?

What is Communication Language 
(ACL)?

Why not to use API instead of ACL?

background image

Agents and Objects

Agents and Objects

Better and more tight encapsulation 
of the behaviour and control

More goal/task oriented design and 
modelling approach

More process and behaviour-centric 
programming model

Independence from the underlying 
implementation machinery

background image

Agent Messaging

Agent Messaging

The concept of a message

Message delivery

– push vs. pull models
– peer-to-peer 
– tuple spaces
– content based addressing

The message structure

– outer layer (routing, encoding, type)
– inner layer (content, ontology)

background image

Pull vs. Push models

Pull vs. Push models

Push

Pull

sender

receiver

Delivery notification

Delivery failure recovery

Participant crash recovery

background image

Peer-to-peer messaging

Peer-to-peer messaging

Drawbacks

– Explicit addressing schema
– The need for facilitators
– Not fully decoupled participants

Solutions

– Tuple spaces
– Content based addressing

background image

Tuple Space

Tuple Space

Fully decoupled senders and receivers

No bootstrapping problem

Easy backup and recovery

But single point of failure

Space

receiver

senders

background image

Content-based addressing

Content-based addressing

Combines some of the elements from pure peer-to-peer and tuple space 
models

No need for explicit addressing

More flexible routing than in peer-to-peer model

The need for facilitators

sender

receivers

Routing 

background image

Agent 

Agent 

Communication

Communication

 

 

Language

Language

Language Elements

– Communicative Acts
– Actions and Propositions
– Logical Operators an predicate logic

Communicative acts

– denote the actions related to communication; 

this is based on the speech act theory 
(Searle, et al) and related utterance theories

background image

Example of 

Example of 

Communicative Acts

Communicative Acts

Inform

– informs the recipient about a proposition 

which the senders believes is true

Query-if

– asks the recipient if a given proposition 

is true or not 

Request

– requests the recipient to execute a given 

action 

background image

Message Example

Message Example

text-based format for:

– human readability
– cross-process compatibility (the 

participant implementation language is 
irrelevant)

ongoing work on binary formats 
and specific API for a given 
programming language

background image

Example Inform Message

Example Inform Message

(inform
   :sender AgentA
   :receiver AgentB
   :content (and 
                   (is_a AgentCommunication presentation)
                   (is_in_progress AgentCommunication))
   :ontology PresentationOntology
)

The need to agree on meaning of
                                   objects: presentation, 
                       and predicates: is_a, is_in_progress

background image

Ontology

Ontology

Conceptualization of the domain of 
discourse

Defines the meaning and relations 
between all the concepts (objects, 
actions, predicates, relations, 
associations, etc) in the domain of 
discourse

background image

Example Ontology

Example Ontology

presentation

– class of objects which denote the 

presentation. Subclass of a class: action. 
Can contain associations to concepts: 
venue, date, time, subject.

is_a

– relationship between an object and its 

class

is_in_progress

– state of the object of class action, which 

denotes that the action is in progress

background image

Ontology (cont.)

Ontology (cont.)

The need for:

– formal ontology specification
– formal ontology language
– ontology interchange
– reasoning and inference capabilities
– easy management and human readability

Solution:

– Unified Modelling Language and Object 

Constraint Language (UML+OCL)

background image

Protocols and 

Protocols and 

Conversations

Conversations

Protocol

– Complex and dynamic interaction schemas
– Interoperability issues for the standard 

interactions schemas

– Reducing the complexity of the full ACL by 

constraining the possible interactions

Conversation

– ongoing sequence of communicative acts, 

conforming to one or several protocols

background image

Modelling Conversations

Modelling Conversations

Terminated

Process request

Preprocess request

Terminated

Refuse

Agree

Done

Prepare request

Sender (initiator)

Receiver 

background image

Modelling Conversations

Modelling Conversations

Robust and easy modelling formalism

Graphical representation of static and 
dynamic structures

complex and concurrent structures 
support

direct mapping to the implementation

possibility of reusing the structures as 
building blocks of complex conversations

easy monitoring of the progress of a 
conversation

background image

Standards Organizations

Standards Organizations

ACL standards:

– Foundation of Intelligent Physical Agents 

(FIPA-ACL)

– Knowledge Query and Manipulation Language 

(KQML)

Ontology

– FIPA 
– Open Knowledge Base Connectivity (OKBC) and 

Ontolingua (Stanford University)

– Knowledge Interchange Format (KIF)

FOR MORE INFO...

FIPA - http://www.fipa.org

background image

FIPA - architecture

FIPA - architecture

Peer-to-peer messaging model

Specified delivery model

Specified standard services: ACC, DF, 
AMS, 

Semantic Language (SL) as a content 
language

Work in progress on formal ontology 
specifications

background image

Messaging technologies

Messaging technologies

Peer-to-peer

– Java Messaging Service, CORBA 

Messaging Services

– Remote Procedure Calls (RPC), Simple 

Object Access Protocol (SOAP)

Tuple spaces

– TSpaces from IBM
– JavaSpaces from Sun Microsystems

background image

ACL vs. API

ACL vs. API

Full featured language

– high flexibility, robustness
– expressive power
– encapsulation of domain specific 

concepts inside ontology

– implementation/efficiency 

considerations

Mapping the language to the API


Document Outline