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