KQML as an Agent Communication Language

Download Report

Transcript KQML as an Agent Communication Language

KQML as an Agent
Communication Language
Tim Finin, Yannis Labrou, James Mayfield
Overview(1)



Personal assistant is a agent…?_?
Interaction and interoperation is
desirable
Intelligent interaction is knowledge
sharing that includes both


mutual understanding of knowledge
communication of that knowledge
Overview(2)

Effective interaction and interoperation
requires three components




a common language
a common understanding of the knowledge
exchanged
the ability to exchange whatever is
included in above
Knowledge Sharing Effort consortium
Overview(3)

This paper will present





The Approach and Solutions of the KSE
Communication Language and their
Desired Features
Knowledge Query and Manipulation
Language(KQML)
Other Communication Languages
Conclusions
The Approach of the KSE(1)

Figure1.(p.293)

Components of interoperating software
agents are grouped into:



Representation components
Communication components
Components not directly related to shared
understanding
The Approach of the KSE(2)

Mutual understanding can be divided
into two subproblems:


Translating from one representation
language to another
Sharing the semantic content of the
represented knowledge among different
application
The Approach of the KSE(3)

Communication is a threefold problem
involving knowledge of

Interaction protocol


Communication language


high-level strategy pursued by the agent
what the content of the communication is
Transport protocol

TCP, SMTP, HTTP
The Approach of the KSE(4)

Other components to help the agent
carry out it’s business




Reasoning
Meta-knowledge
Planning activities
Modeling other agents
The Approach of the KSE(5)

KSE is organized around the three
working groups

Interlingua(KIF)


Shared Reusable Knowledge Bases(Ontolingua)


Common language for expressing the content
Repository for sharable ontologies and tools
External Interfaces(KQML)

Run-time interaction in knowledge-based system
The Solutions of the KSE(1)

Knowledge Interchange Format


Ontologies and Ontolingua


KIF is a prefix version of first order predicate
calculus with extensions to support nonmonotonic
reasoning and definitions
Ontolingua is the framework for the
development of ontologies
KQML
The Solutions of the KSE(2)

Knowledge Interchange Format(KIF)


The Language description includes both a specification for it's
syntax and one for its semantics
examples





(salary 026-40-9152 grommets 36000)
(>(*(width chip1)(length chip1))(*(width chip2)(length chip2)))
(=> (and(real-number ?x)(even-number ?n)) (>(expt ?x ?n)0))
(interested joe '(salary ,?x,?y,?z))
(progn (fresh-lint t)(print "Hello!")(fresh-line t))
The Solutions of the KSE(3)

Ontologies and Ontolingua


The SRKB is building knowledge-based
software reused as off-the-shelf technology
Ontologies are written in KIF, using the
definitional vocabulary of Ontolingua
(classes, function, object constants, and
rules to constrain the interpretation)
The Solutions of the KSE(4)

KQML



KQML messages are opaque to the content
they carry
Performatives define the permissible
actions that agents may attempt in
communicating with each other
An environment of KQML speaking agents
may be enriched with special agents, called
facilitators
Communication Languages
and their Desired Features(1)







Form
Content
Semantics
Implementation
Networking
Environment
Reliability
Communication Languages
and their Desired Features(2)

Form






Declarative
Syntactically simple
Readable by people
Concise
Linear
extensible
Communication Languages
and their Desired Features(3)

Content

Communication language


Communicative acts
Content language

Facts about the domain
Communication Languages
and their Desired Features(4)

Semantics



Unambiguous
Canonical form
Model of communication
Communication Languages
and their Desired Features(5)

Implementation

Efficient


Interface


Both in speed and bandwidth
Easy to use
Amenable

To handle partial implementation
Communication Languages
and their Desired Features(6)

Networking





Point to point
Multi-cast
Broadcast
Synchronous
Asynchronous
Communication Languages
and their Desired Features(7)

Environment



Distributed
Heterogeneous
Dynamic
Communication Languages
and their Desired Features(8)

Reliability



Reliable communication
Secure communication
Robust to malformed messages
KQML




A Description of KQML
Facilitators, Mediators, and the
Environment of KQML Agents
Evaluation of KQML as an Agent
Communication Language
Application of KQML
A Description of KQML(1)

The KQML language can be thought of
as consisting of three layers

The content layer


The message layer


Actual content of the message
Interactions with KQML-speaking agent
The communication layer

Lower level communication parameters
A Description of KQML(2)


Table 1.(p.303)
Figure 2.(p304)



A B
A C
A D
Facilitators,Mediators and the
Environment of KQML Agents

Facilitators, Mediators






Figure
Figure
Figure
Figure
Figure
3.(p.305)
4.(p.306)
5.(p.306)
6.(p.307)
7.(p.307)
Environment

KQML API, register, facilitator.domain
Evaluation of KQML as an
ACL(1)







Form
Content
Semantics
Implementation
Networking
Environment
reliability
Evaluation of KQML as an
ACL(2)

Form




Declarative(performatives)
Linear(Lisp-like syntax)
Easy to read, parse, and convert to other
Simple and extensible
Evaluation of KQML as an
ACL(3)

Content


The content layer
The message layer



Providing a small set of primitives thereby
requiring overloading at the content level
Providing an extensive set of acts, where
inevitably acts will overlap one another and/or
embody fine distinctions
The communication layer
Evaluation of KQML as an
ACL(4)

Semantics


Still an open issue
For now there are only natural language
descriptions of the intended meaning of
the performatives and their use(protocol)
Evaluation of KQML as an
ACL(5)

Implementation





Content-independent message router
Facilitator
Handler functions
KQML speaking interface
Efficiency(message sizes, substantial
fraction of symbol lookup and string
duplication)
Evaluation of KQML as an
ACL(6)

Networking





Communicate directly with other agents
Broadcast their messages
Solicit the services of facilitators
Synchronous-asynchronous interactions
Blocking-nonblocking message sending
Evaluation of KQML as an
ACL(7)

Environment



Any transport protocol(TCP/IP, HTTP,etc…)
KQML messages are oblivious to content
Facilitators can cooperate with other
knowledge discovery applications available
in the World Wide Web
Evaluation of KQML as an
ACL(8)

Reliability


No decision has been made on whether the
issues of security and authentication
should be handled at the transport protocol
level or at the language level
New performatives can be introduced at
the language level(encryption, error, sorry)
Applications of KQML


Integration of design and engineering tools
ARPA Rome Lab Planning Initiative






Technology integration
SIPE agent, Common Lisp scheduler, tools
CoBASE, SIMS, LIM
Agent-Based Software Integration
KQML implementation ACL(Stanford)
KQML URL for the World Wide Web
Other Communication
Language

Agent-Oriented Programming




Theoretical
Intentional(beliefs,capablilities,etc…)
AOP paradigm need to be proven
Telescript


Applied
Do NOT communication(predefined script)
Conclusions


There is no silver bullet for the problem of
knowledge sharing
KSE approach




Translating between representations(KIF)
Sharing the semantic content of the knowledge
that is represented(Ontolingua)
Communication attitudes about the shared
knowledge(KQML)
Facilitators