Contents l l Agent Communication and Language KQMLKnowledge

  • Slides: 21
Download presentation

Contents l l Agent Communication and Language KQML(Knowledge Query and Manipulation Language) features A

Contents l l Agent Communication and Language KQML(Knowledge Query and Manipulation Language) features A KQML Message n KQML Performatives n l l 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 and Language Communication among software agents is an essential property of agency. l Agent communication language allow agents to effectively communicate and exchange knowledge with other agents, despite differences in hardware platforms. l

KQML(Knowledge Query and Manipulation Language) A high-level communication language and protocol l Independent of

KQML(Knowledge Query and Manipulation Language) A high-level communication language and protocol l Independent of content syntax and ontology l An extension set of performatives expressing a belief or an attitude toward some information. l

3 Layers of KQML l Communication layer n low level, packet oriented, not stream

3 Layers of KQML l Communication layer n low level, packet oriented, not stream oriented l Message layer n logic of communication n performative or speech act l Content layer n Language and ontology variable -- specified in message layer

A KQML Message l The ASCII representation of Common Lisp Polish-prefix notation n Represents

A KQML Message l The ASCII representation of Common Lisp Polish-prefix notation n Represents a single performative n with an associated semantics and protocol n with a list of parameters and its value l readable by humans, simple for programs to parse, and transportable by many inter-application messaging platforms

A KQML Message Example l (ask-if : sender A Performative : receiver B :

A KQML Message Example l (ask-if : sender A Performative : receiver B : ontology std-geo Parameter : language prolog Value : content “spouse(adam, eve)”)

KQML Performatives The language’s primitives that define the permissible actions that agents may attempt

KQML Performatives The language’s primitives that define the permissible actions that agents may attempt in communicating with each other. l There are some reserved performatives l and reserved performative parameters l

Reserved KQML Performatives n Basic query performatives – evaluate, ask-if, ask-in, ask-one, ask-all n

Reserved KQML Performatives n Basic query performatives – evaluate, ask-if, ask-in, ask-one, ask-all n Multi-response query performatives – stream-in, stream-all n Response performatives – reply, sorry n Generic informational performatives – tell, achieve, cancel, untell, unachieve n Capability-definition performatives – advertise, subscribe, monitor, import, export n Networking performatives – register, unregister, forward, broadcast, route

Communication Models of KQML Agent l l l Address Routing Brokering ask(X) A tell(X)

Communication Models of KQML Agent l l l Address Routing Brokering ask(X) A tell(X) advertise(ask(X)) broker(ask(X)) A Recommending A B tell(X) F ask(X) B tell(X) recommend(ask(X))advertise(ask(X)) ask(X) reply(B) F tell(X) B

Framework for Semantics 1. a natural language description of the performative’s intuitive meaning 2.

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

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) l ask-if(A, B, X) 1. A wants to know what B

Semantics for KQML(example) l 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

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 l Market. Place Application n. A java-based Implementation of inter-agent communication about

KQML Implementation l Market. Place Application n. A java-based Implementation of inter-agent communication about buy-and-sell actions n Consists of a Facilitator. Agent, and several kinds of Buyer. Agents and Seller. Agents to interact there n Each agent class extends the CIAgent Framework, which is a Java. Bean, supporting event-processing capability.

Communication Model of Market. Place Application recommend_one(A, F, item 1) F advertise(S, F, item

Communication Model of Market. Place Application recommend_one(A, F, item 1) F advertise(S, F, item 1) tell(F, B) 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) S

Communication Model of Market. Place Application(2)

Communication Model of Market. Place Application(2)

Communication Model of Market. Place Application l 개선점 n KQML specification에 정확히 일치하지 않는

Communication Model of Market. Place Application l 개선점 n KQML specification에 정확히 일치하지 않는 다. – ex. advertise, recommend의 content는 performative message n 의미론적 통일성 필요 – ex. tell performative는 ask_if의 응답이다.

The Revised Communication Model recommend_one(A, F, ask_if(B, _, X) F advertise(S, F, _, S,

The Revised Communication Model recommend_one(A, F, ask_if(B, _, X) F advertise(S, F, _, S, X) reply(F, B, “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) S

The Revised Communication Model(cont’d) l 구현상의 한계 n KQML parsing module의 부재 n 따라서,

The Revised Communication Model(cont’d) l 구현상의 한계 n KQML parsing module의 부재 n 따라서, 어떤 performative는 content로서 다 른 performative를 가져야 하나, 기존의 메시 지 클래스는 중첩된 performative message 를 구현할 수 없다.