View
218
Download
1
Embed Size (px)
Citation preview
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
high-level strategy pursued by the agent Communication language
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)
Common language for expressing the content Shared Reusable Knowledge
Bases(Ontolingua) 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
KIF is a prefix version of first order predicate calculus with extensions to support nonmonotonic reasoning and definitions
Ontologies and Ontolingua 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 Both in speed and bandwidth
Interface 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
Actual content of the message The message layer
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 3.(p.305) Figure 4.(p.306) Figure 5.(p.306) Figure 6.(p.307) Figure 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