210 likes | 564 Views
다중 에이전트의 의사소통 모델에 관한 연구 - KQML 언어의 의미론을 중심으로 -. 인지과학 협동과정 98132-502 김 경수. Contents. Agent Communication and Language KQML(Knowledge Query and Manipulation Language) features A KQML Message KQML Performatives Communication Models of KQML Agent Framework for Semantics KQML Implementation
E N D
다중 에이전트의 의사소통 모델에 관한 연구- KQML 언어의 의미론을 중심으로- 인지과학 협동과정 98132-502 김 경수
Contents • Agent Communication and Language • KQML(Knowledge Query and Manipulation Language) features • A KQML Message • KQML Performatives • Communication Models of KQML Agent • Framework for Semantics • KQML Implementation • Conclusion
Agent Communication and Language • Communication among software agents is an essential property of agency. • Agent communication language allow agents to effectively communicate and exchange knowledge with other agents, despite differences in hardware platforms.
KQML(Knowledge Query and Manipulation Language) • A high-level communication language and protocol • Independent of content syntax and ontology • An extension set of performatives expressing a belief or an attitude toward some information.
3 Layers of KQML • Communication layer • low level, packet oriented, not stream oriented • Message layer • logic of communication • performative or speech act • Content layer • Language and ontology variable -- specified in message layer
A KQML Message • The ASCII representation of Common Lisp Polish-prefix notation • Represents a single performative • with an associated semantics and protocol • with a list of parameters and its value • readable by humans, simple for programs to parse, and transportable by many inter-application messaging platforms
A KQML Message Example • (ask-if :sender A :receiver B :ontology std-geo :language prolog :content “spouse(adam, eve)”) Performative Parameter Value
KQML Performatives • The language’s primitives that define the permissible actions that agents may attempt in communicating with each other. • There are some reserved performatives • and reserved performative parameters
Reserved KQML Performatives • Basic query performatives • evaluate, ask-if, ask-in, ask-one, ask-all • Multi-response query performatives • stream-in, stream-all • Response performatives • reply, sorry • Generic informational performatives • tell, achieve, cancel, untell, unachieve • Capability-definition performatives • advertise, subscribe, monitor, import, export • Networking performatives • register, unregister, forward, broadcast, route
Communication Models of KQML Agent ask(X) • Address Routing • Brokering • Recommending A B tell(X) advertise(ask(X)) broker(ask(X)) F A ask(X) B tell(X) tell(X) recommend(ask(X)) advertise(ask(X)) F ask(X) reply(B) A B tell(X)
Framework for Semantics 1.a natural language description of the performative’s intuitive meaning 2. An expression which describes the content of the illocutionary act 3. Preconditions that indicate the necessary state for an agent: Pre(A)
Framwork for Semantics(cont’d) 4. Postconditions that describe the states of both interlocutors after the successful utterance of a performative(sender), and after the receipt and processing of a message(receiver): Post(A) 5. A completion condition for the performative: completion 6. Any explanatory comments that might be helpful
Semantics for KQML(example) • ask-if(A, B, X) 1. A wants to know what B believes regarding the truth status of the content X 2. WANT(A, KNOW(A, S)) where S may be any of BEL(B, X) or ¬BEL(B, X) 3. Pre(A): WANT(A, KNOW(A, S) ^ KNOW(A, INT(B, PROC(B, M) where M is ask-if(A, B, X) Pre(B): INT(B, PROC(B,M)) 4. Post(A): INT(A, KNOW(A, S)) Post(B): KNOW(B, WANT(A, KNOW(A, S))
Semantics for KQML(example) 5. Completion: KNOW(A, S’) where S’ is either BEL(B,X) or ¬ BEL(B,X) , but not necessarily the same instantiation of S that appears in Post(A), for example 6. Pre(A) and Pre(B) suggest that a proper advertisement is needed to establish them
KQML Implementation • MarketPlace Application • A java-based Implementation of inter-agent communication about buy-and-sell actions • Consists of a FacilitatorAgent, and several kinds of BuyerAgents and SellerAgents to interact there • Each agent class extends the CIAgent Framework, which is a JavaBean, supporting event-processing capability.
Communication Model of MarketPlace Application advertise(S,F,item1) recommend_one(A,F,item1) F tell(F, B) S B ask_if(B,S,X) make_offer(S,B,Y) or deny(S,B,X) make_offer(B,S,Y’) accept_offer(S,B,Y’) or reject(S,B) tell(B, S, Z)
Communication Model of MarketPlace Application • 개선점 • KQML specification에 정확히 일치하지 않는다. • ex. advertise, recommend의 content는 performative message • 의미론적 통일성 필요 • ex. tell performative는 ask_if의 응답이다.
The Revised Communication Model recommend_one(A,F,ask_if(B,_,X) advertise(S,F,_,S,X) F reply(F, B, “S”) S B ask_if(B,S,X) tell(S,B,X) or deny(S,B,X) request(B,S,make_offer(S,B)) make_offer(S,B,Y) make_offer(B,S,Y’) accept_offer(S,B,Y’) or reject(S,B) achieve(B, S, Z) tell(B, S, Z)
The Revised Communication Model(cont’d) • 구현상의 한계 • KQML parsing module의 부재 • 따라서, 어떤 performative는 content로서 다른 performative를 가져야 하나, 기존의 메시지 클래스는 중첩된 performative message를 구현할 수 없다.
Conclusion • 에이전트간 의사소통 언어가 다양한 어플리케이션 간에 통용되려면, 더욱 형식적인 의미론적 기술이 필수적 • 의미론적 기술(description)은 performance modeling을 위한 의사소통 모형을 제공할 수 있어야 한다. • 특정 분야에서 이루어지는 의사소통 행위의 화행분석으로부터 유용한 performative의 형식을 구축해야 한다.