450 likes | 754 Views
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
E N D
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