You are on page 1of 8

5.

Knowledge Query Manipulation Language (KQML)


cc agent thng minh c th lin lc, phi c 1 ngn ng chung (ni cch khc, phi c 1 h thng thng nht: syntax (c php), semantics (logic/v mt ng ngha) v pragmatics (t chc ngn ng ) chung). Hin ti cha c 1 ngn ng chung no ph bin dng chia s thng tin: nhng ngn ng nh KIF, SQL m rng v LOOM c h tr, nhng hin ti cn qu sm c th tiu chun ha thnh 1 ngn ng i din. iu cn thit 2 agents c th lin lc c vi nhau l 1 ngn ng i din chung hoc ngn ng c th dch qua li c. K c gi s vic s dng ngn ng chung hoc ngn ng c th dch qua li c, th vn cn thit rng nhng agents lin lc vi nhau chia s 1 khun kh kin thc c th dch c nhng thng tin m h trao i. y khng hn ch l 1 semantics chung, m l ontology (l mt dang khun mu) chung, - ko ch 1, m c th nhiu. Ontology chung ang c xy dng trong rt nhiu ng dng trong nhiu lnh vc, nh ln k hoch, t thi gian biu, sinh hc v y hc. Pragmatics ca nhng agents chuyn v phn mm lin lc lin quan n nhng vn nh: bit c ni vi ai, lm th no tm ra h cng nh lm th no c th bt u v duy tr s trao i. KQML lin quan chnh n loi pragmatics ny, v tip theo n semantics. N l 1 ngn ng v 1 set cc giao thc h tr nhng agents chuyn v software trong vic nhn dng, kt ni v trao i thng tin vi nhng agents khc.

5.1. Miu t v KQML


Ngn ng KQML bao gm 3 mc: mc ni dung, mc thng ip v mc truyn thng. Mc ni dung mang ni dung ca thng ip, trong ngn ng ca ring chng trnh. KQML c th mang biu thc c m ha trong bt c ngn ng i din no, bao gm c ngn ng nh ASCII v nhng ngn ng s dng k hiu nh phn. Mt vi agents dng KQML ngn ng c th b qua phn ni dung ca thng ip, ngoi tr khi xc nh khi no n kt thc. Mc truyn thng m ha 1 tp cc thng ip, nhng ci miu t thng s giao tip mc thp hn, v d nh vic xc nh danh tnh ca ngi gi v ngi nhn. Mc thng ip c dng m ha thng ip, khi 1 ng dng mun trao i vi ng dng khc. Mc thng ip to thnh ct li ca ngn ng KQML, v quyt 1

nh cch thc lin lc vi 1 agent s dng KQML. Chc nng ch yu ca mc thng ip l nhn dng nhng giao thc c dng cung cp thng ip v 1 speech act hay performative (dng tng tc) m ngi gi nh km vo thng ip (v d nh mt cu khng nh, cu hi, 1 yu cu hay bt c tp performative bit). Ngoi ra, v ni dung c th khng r rng vi 1 agent s dng KQML, lp ny cn bao gm c nhng tnh nng ko bt buc miu t ngn ng ca ni dung, nhng ontology m n gi s, v 1 s cch miu t ni dung, v d nh 1 bn chi tit v 1 ch trong ontology ny. Nhng tnh nng ny cho php nhng ng dng s dng KQML c th phn tch, gi i v trao i thng tin mc d ni dung ca chng ko th truy cp c. C php ca KQML da trn 1 danh sch gi thit cn bng. Thnh phn nht thit ca danh sch ny l performative, v nhng thnh phn cn li l l lun ca performative nh keyword/cp gi tr. Bi v ngn ng kh n gin, c php thc khng quan trng v c th thay i nu cn thit. C php bc l ngun gc ca ng dng ban u, ci c lm trong Common Lisp, v n kh linh ho t. Mt thng ip KQML t agent joe i din cho cu hi v gi ca c phn IBM c th c m ha nh sau: (ask-one :sender joe :content (PRICE IBM ?price) :receiver stock-server :reply-with ibm-stock :language LPROLOG :ontology NYSE-TICKS) Trong thng ip ny, formative ca KQML l ask-one, ni dung l (price ibm?price), ontology s dng bi cu hi c nhn dng bi (token) nyse-ticks, ngi nhn c nhn dng bi stock-server v cu hi c vit trong ngn ng tn LPROLOG. Gi tr ca :content keyword l level ni dung, gi tr ca :reply-with, :sender, :receiver keywords to thnh lp giao tip v tn ca formative, vi :language v :ontology to thnh lp thng ip. Sau , stock-server c th gi n joe on KQML sau: (tell 2

:sender stock-server :content (PRICE IBM 14) :receiver stock-server :receiver joe :in-reply-to ibm-stock :language LPROLOG :ontology NYSE-TICKS) 1 cu hi tng t nh ask- all cng c th c truyn t, s dng Prolog tiu chun lm ngn ng ca ni dung, vi form yu cu 1 set cc cu tr li nh: (ask-one : content price (ibm,(Price, Time)) : receiver stock-server :language standard_prolog :ontology NYSE-TICKS) Thng ip th nht yu cu 1 cu tr li duy nht, thng ip th 2 yu cu 1 set cc cu tr li. N u chng ta mun t 1 cu hi, ci yu cu 1 set cc cu tr li, th chng c th c gi ring bit, thay v 1 tp hp nhiu cu bng cch thay i formative (1 s on code ging ht nh trn b lc b) (stream-all :comment ?VL is a large set of symbols :content (PRICE ?VL ?price) Performative stream-all yu cu rng 1 set cc cu tr li c chuyn thnh 1 set phn hi. iu khin set phn hi ny chng ta c th s dng 1 performative khc bao quanh thng ip trc: (standby :comment (stream-all :content (PRICE ?VL ?price) Performative stand-by yu cu 1 ni dung vit bng KQML v n yu cu rng agent nhn yu cu qun l dng (stream) thng ip: gi v th ng lot, mi ln agent gi (sending agent) trao i 1 thng ip vi performative tip theo. S trao i ca thng ip tip theo/thng ip phn hi c th tip tc n khi dng (stream) kt thc hoc n khi agent gi gi 1 discard message (lnh hy) hoc 1 rest message (gi ton b phn hi cn li ngay lp tc). 3

1 set cc tr li khc cho 1 cu hi ging ht c th c thao tc vi cu lnh: (subscribe :comment (stream-all :content (PRICE IBM ?price) Performative ny yu cu ton b nhng thay i n cu hi, v d: 1 dng thng ip v thay i ca gi c phn IBM. Mc d c 1 tp cc performatives mc nh trc, n khng phi l tp cn thit ti gin hoc tp c nh. 1 KQML agent c th la chn x l 1 vi (1 hoc 2) performatives. 1 tp c th gia hn c , 1 cng ng agents c th chn s dng thm performatives nu h nht tr c trong cch din t v giao thc gn vi mi performative. Tuy nhin, 1 performative dng thc hin performative mc nh trc phi c thao tc 1 cch tiu chun. 1 vi performatives mc nh Table 1. Bn cnh 1 s performative giao tip tiu chun nh ask, tell, deny, delete v mt s performative giao thc khc nh subscribe, KQML bao gm cc performatives lin quan n cc mng khng-giaothc khc ca t chc ngn ng (pragmatics) nh advertise cho php agents thng bo loi KQML thng ip no n mun x l, v recruit c dng tm agents thch hp cho 1 loi thng ip nht nh. V d, server (my ch) c lit k ra trong nhng v d bn trn c th thng bo:

iu ny cng tng ng vi vic thng bo rng c 1 stock ticker v ku gi yu cu lin quan n gi c phn. Thng ip qung co (advertise) ny kim nh thng ip stream-all ca ngi ng k nhn thng bo. C nhiu giao thc v qu trnh trao i thng tin trong KQML. n gin nht, 1 agent ng x nh 1 client (khch hng) v gi 1 yu cu n 1 agent khc ng x nh 1 server v i tr li, nh c th hin gi agents A v B trong Figure 2. Phn hi ca server c th bao gm 1 cu tr loi duy nht hoc 1 set cc cu tr li. Trong 1 trng hp khc, gia agent A v C, phn hi ca server khng hon chnh 4

nhng l 1 s x l cho php client yu cu thnh phn ca phn hi, ton b trong 1 ln. 1 v d bnh thng ca s trao i ny xy ra khi 1 client yu cu 1 database lin kt hoc 1 logic lin kt ci sn xut 1 set cu tr li. Mc d s trao i ny yu cu rng server duy tr 1 vi trng thi bn trong, nhng trao i n vn nh c yu cu 1 giao tip synchronous (ng lot) gia nhng agents. 1 trng hp khc xy ra khi client ng k nhn thng bo n 1 server v 1 s v cng ln asynchronous (t tri ngha ca synchronous) phn hi n trong 1 khong thi gian, nh gia agent A v D trong figure 2. Client khng th bit c khi no phn hi s n v c th ang bn vic khc khi n n. C nhiu bin th khc ca nhng giao thc ny. Thng ip c th khng c nh hng ti 1 host c nh no, nhng c pht ti 1 s hosts. Phn hi, c th synchronous hoc khng, c x l v hp nht, gn vi yu cu m n ang tr li.

5.2. Thnh phn iu phi, trung gian v mi trng c a cc agent dng KQML
Mt tiu ch thit k cho KQML l cung cp 1 ngn ng c th h tr nhiu kin trc agent. Cch thc y l gii thiu 1 s lng nh KQLM performatives c dng bi agents miu t meta-data (s lng ln data) xc nh yu cu thng tin v kh nng v ri gii thiu 1 tng lp c bit cc agents c gi l xc tc giao tip (communication facilitators). Facilitator l 1 agent thc hin nhiu dch v giao tip, v d nh duy tr s ng k ca tn dch v, chuyn tip thng ip ti cc dch v khc, lu truyn thng ip da vo ni dung, cung cp matchmaking (s kt ni) gia bn cung cp thng tin v khch hng,v cung cp trung gian hoc dch v phin dch. V d, agent A mun bit ngha ca cu X, v agent B c X trong database, v 1 facilitator agent F c sn trn th trng. N u A bit rng n c th gi yu cu hp l v X ti B, th n c th s dng 1 giao thc n gin trc tip ti B. Tuy nhin, nu A khng bit c s tn ti ca A, hoc cch thc lin lc c vi A, th v s cch thc trong Figure 4 ch ra cch A dng yu cu facilitator F qun l ngha ca X. N u B thng bo vi F rng X c th ng, th F c th thng bo li vi A.

Figure 5 ch ra 1 trng hp khc na. A yu cu F tm 1 agent c th x l 1 performative ask(X). B c lp thng bo vi F rng n ng x l ask(X). Khi F c c 2 thng tin, n gi cho B yu cu ca A, ly phn hi v tr li li n A. Hnh 6, A s dng 1 performative khc thng bo vi F rng n mun c thng tin v X. Performative tuyn dng yu cu ngi nhn tm 1 agent mun v c th x l c yu cu ny. Phn hi ca agent sau c gi trc tip n agent bt u. Mc d s khc nhau gia v d trong figure 5 v 6 l rt nh cho 1 yu cu n gin, hy suy ngh v thc t nu performation l subscribe(ask-all(X)). Mt v d cui cng, s trao i thng tin trong figure 7, A yu cu F gi 1 agent ph hp gi performative ask(X). Khi F bit rng B mun chp nhn performative ask(X), n tr li li n A tn ca agent B. Sau A c th c lp hi thoi vi B. T nhng v d trn, ta c th thy rng 1 trong nhng chc nng chnh ca facilitators l gip nhng agents khc tm c client v server ph hp. Vn l lm th no agents tm c facilitators khng ch l vn cho ring KQML, v n c 1 s nhiu cc cu tr li kh thi. Nhng ng dng hin ti da trn KQLM s dng 1 hoc 2 k thut n gin. project PACT, tt c cc agents s dng chung 1 facilitator trung tm m v tr ca n l 1 tham s c bt u khi cc agents tham gia. ng dng ARPI, tm v bt u lin h vi facilitator trong khu vc l 1 chc nng ca KQLM API. Khi mi agent bt u, KQML router (thit b chuyn tip gi data n phn ph hp ca network) module thng bo s tn ti ca n n cc facilitator trong khu vc ng k trong database ca khu vc. Khi 1 ng dng tn ta, router gi KQML thng ip khc n facilitators, xa ng dng t database ca facilitators. Theo quy c th 1 facilitator phi chy trn my ch vi a ch biu tng facilitator.domain v theo cc cng KQML tiu chun.

6. nh gi KQML vi cc tiu ch c a mt ngn ng giao tip Agent


nh gi 1 ngn ng l ngn ng giao tip gia cc Agent, chng ta da vo 7 tiu ch 1. nh dng KQML c th c xem l ngn ng khai bo Cc message ca KQML l chui gm cc k t vi c php ging vi c php ca ngn ng Lisp

Ngn ng KQML d dng c hiu, phn tch v c kh nng chuyn i sang cc nh dng khc C php n gin, cho php b sung thm cc tham s trong trng hp cn thit.

2. Ni dung Ngn ng KQML c th c chia thnh 3 tng o Tng ni dung o Tng thng ip o V tng truyn thng Tng message ca KQML khng quan tm n ni dung m chng mang theo l g Ngn ng a ra mt tp ti thiu cc performatives (biu hin) bao ph hu ht cc trng hp ca cc hnh ng giao tip

3. Ng ngha Vn ng ngha trong KQML vn l mt vn m. Ngy nay, chng ch l nhng m t ngn ng t nhin ca cc biu hin v vic s dng chng. 4. Ci t Trong 2 ng dng ci t cho KQML hin nay, Lockheed KQML API v Loral/UMBC API, mi API cung cp mt b nh tuyn v facilitator bn tin c lp vi ni dung. Cc ng dng phi cung cp chc nng kim sot cho cc performative vic giao tip c x l bi ng dng v cui cng tr v mt kt qu ph hp. Khng cn thit 1 ng dng phi kim sot tt c cc performatives bi v khng phi tt c cc ng dng s dng KQML giao tip s c sc mnh tng ng vi nhau. 5. Mng Cc agent s dng KQML c kh nng giao tip trc tip vi cc agent khc, c th qung b cc bn tin ca chng hoc yu cu mt dch v no ca 1 agent ng hnh hoc t facilitator cho vic chuyn cc message bng vic s dng mt performative ph hp. KQML cho php c tng tc ng b hay bt ng b v cc message dng khi hoc phi khi gi i din cho mt ng dng thng qua vic ch nh ca gi tr ph hp cho cc tham s trong KQML message 6. Mi trng KQML c th s dng bt k giao thc giao vn no trao i (HTML, SMTP, TCP...). Cng nh vy, bi v KQML message khng quan tm n ni dung, v th khng c mt gii hn no trong ni dung ca ngn ng 7. tin cy

Vn bo mt v xc thc vn cha c xem xt mt cch ng n bi cng ng KQML. Cha c mt quyt nh no c a ra ni rng chng nn c kim sot bi tng giao thc giao vn hay tng ngn ng. tng ngn ng, cc performative mi hoc cc tham s ca bn tin c th c a ra cho php m ha ni dung hoc ton b bn tin KQML. Bi v cc agent s dng KQML giao tip l nhng agent cha thc s hon ho, nn vic mt s performative (nh error hoc sorry ) c th c s dng ging nh 1 phn hi t 1 ng dng khng th x l c

You might also like