KQML as an Agent Communication Language Tim Finin, Yannis Labrou, James Mayfield.

Post on 22-Dec-2015

218 views 1 download

transcript

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