You are on page 1of 19

Phn tch v thit k phn mm hng agent s dng phng php lun MaSE v cng c agentTool. Scott A.

DeLoach Hc vin cng ngh Khng qun Khoa k thut my tnh v in t Cn c Khng qun Wright Patterson, OH 45433-7765 Sdeloach@computer.org Tm tt Bi bo ny cung cp ci nhn tng quan v cng vic ang c thc hin ti Hc vin cng ngh Khng qun v phng php lun k thut cc h a agent v cng c xy dng km theo l agent Tool. Nghin cu tp trung vo tm hiu cc phng php v k thut xy dng cc h a agent c th. Nghin cu s dng s tru tng c a ra bi cc h a agent xy dng cc h thng phn mm phn tn v thng minh. Gii thiu: Cc h a agent a ra nhiu nguyn tc n lc xy dng cc ng dng mnh m, thng minh v phn tn. Tuy vy, cc cch ngh v thit k phn mm truyn thng khng ph hp vi m hnh a agent. Trong vi nm qua, c mt vi n lc xy dng nhng h thng phn mm nh trn ((Iglesias, Garijo & Gonzalez 1998). Tuy nhin, hu ht cc cng c v cc phng php lun u tp trung vo cc kin trc agent c th hoc l khng chi tit h tr vic thit k cc h thng phc tp. Trong nghin cu ca chng ti, chng ti pht trin c phng php lun v mt chu trnh hon chnh v a ra mt mi trng h tr vic phn tch, thit k v pht trin cc h thng a agent hn tp. Phng php lun m chng ti xy dng c gi l phng php lun MaSE (DeLoach, Wood, & Sparkman 2000) v cng c chng ti xy dng h tr cho phng php lun l cng c agentTool (Wood & DeLoach 2001). Trong nghin cu ca mnh, chng ti khng a ra cch nhn nhn v tr tu nhn to ca agent theo mt agent phi c tnh t tr, tnh ch ng, tnh phn x v tnh x hi. i vi chng ti, agent ch l nhng tin trnh phn mm n gin giao tip vi nhau p ng c ch chung ca h thng. Thng xy ra

trng hp m cc nhiu agent khng phc tp c th tng tc vi nhau nh kiu n l h thng c hnh vi thng minh. Chng ti xem cc agent nh l khi nim tru tng m c th thng minh hoc khng thng minh. Theo cch xem xt ny, chng ti x l nhng thnh phn thng minh v khng thng minh ca h thng l ngang bng nhau trong cng mt framework. Cng vic ca chng ti hng n vn ln hn l xy dng cc h thng c kh nng linh ng, phn tn v phc tp m s tr nn ph bin trong ngnh tnh ton tng lai. xy dng c nhng h thng phc tp ny, cc agent phn tn phi lm vic mt cch hp tc vi cc agent khc trong mt mi trng khng ng nht. Sycara (Sycara 1998) m t 6 vn trong cc h a agent l: 1. 2. 3. 4. 5. 6. Vn phn r v giao nhim v cho cc agent ring r. Phi hp hot ng iu khin v giao tip ca agent. Lm cho cc h a agent hot ng mt cch cht ch. Lp lun v cc agent khc v trng thi phi hp. Ha gii xung t v ch gia cc agent. Xy dng cc h thng agent trong thc tin.

Nghin cu ca chng ti n lc tr li cho 6 vn nu trn, tm cch xy dng cc h a agent thc t v to nn mt framework 5 vn u tin. Chng ti s dng cc khi nim tru tng c a ra bi cc h a agent xy dng cc h thng phn mm phn tn v thng minh. t c ch ny, phng php lun MaSE s dng mt s m hnh da trn th m t cc loi agent trong h thng v giao din ca chng vi cc agent khc, cng nh nhng nh ngha c lp vi kin trc trong thit k bn trong agent. K thut xy dng h a agent Ni chung, nghin cu ca chng ti ti Hc vin Khng qun tp trung vo vic pht trin cc phng php lun, cc k thut v cc cng c xy dng cc h a agent c th. Cui cng, chng ti xy dng nn phng php lun MaSE v vic xy dng cc h thng a agent. Phng php lun MaSE nh ngha cc h a agent di dng cc lp agent v cch thc t chc ca chng. Chng ti nh ngha cch t chc ca chng v mt m nhng agent no c kh nng giao tip s dng hi thoi. C hai pha trong phng php lun MaSE: pha phn tch v pha

thit k. pha phn tch bao gm 3 bc: Xc nh cc Goal, xc nh cc use case v hon thin cc Role. Bc u tin, xc nh Goal tip nhn cc yu cu ngi dng ri chuyn nhng yu cu thnh cc Goal mc cao nht ca h thng. Sau khi nh ngha c cc Goal mc h thng, chng ta trch xut ra nhng use case mc h thng v nh ngha ra cc s tun t trong bc xc nh use case ny. Bc ny cng nh ngha tp khi to cc Role ca h thng v cc ng giao tip. S dng cc Goal h thng v cc Role c xc nh trong cc use case, chng ta hon chnh v m rng tp Role khi to v nh ngha ra nhng tc v t c mi Goal trong bc hon thin Role.

Hnh 1. Cc bc trong phng php lun MaSE

Trong pha thit k, chng ta chuyn i cc m hnh phn tch sang nhng kin trc hu ch cho vic thc hin ci t thc t h a agent. Pha thit k gm c 4 bc: to lp agent, xy dng cc phin hi thoi, hon thin cc agent v thit k h thng. bc u tin trong pha ny, to lp agent, chng ta nh ngha cc lp agent c th t nhng Role c xc nh bc 3 trong pha phn tch. Sau khi xc nh c s lng v cc loi lp agent, chng ta c th xy dng hi thoi gia nhng lp agent ny hoc l nh ngha nhng thnh phn bn trong m bao gm cc lp agent. Sau khi hon thnh nh ngha cu trc h thng, chng ta nh ngha vic h thng c trin khai nh th no. Trong bc ny, ngi thit k nh ngha ra s lng cc agent, v tr ca chng, v nhng i tng c th ca h thng. Xc nh cc Goal Bc u tin trong phng php lun MaSE l xc nh cc Goal. Bc ny tip nhn nhng yu cu ban u ca h thng v chuyn n thnh mt tp c cu trc bao gm cc Goal h thng. Cu trc ny c th hin trong mt m hnh phn cp Goal (hnh 2). Trong phng php lun MaSE, mt Goal lun c nh ngha l mt mc tiu mc h thng. Cc mc thp hn c th k tha hoc chu trch nhim v cc Goal, nhng cc Goal lun c ng cnh mc h thng.

Hnh 2. S phn cp Goal C 2 bc trong bc xc nh Goal l: xc nh cc Goal v phn cp Goal. Mt nh thit k c th xc nh cc Goal bng cch rt ra nhng iu cn thit trong tp cc yu cu. Nhng yu cu ny c th bao gm cc ti liu k thut chi tit, cc yu cu ngi dng hoc nhng c t c hnh thc ha. Khi xc nh v pht biu c mt cch tng minh th cc cc Goal c kh nng t thay i hn nhng bc chi tit v cc hot ng t c chng ((Kendall, lanivelan & Klikivayi 1998). Tip , ngi phn tch phn tch v to cu trc phn cp Goal vo s phn cp Goal da trn nhng Goal c xc nh. Trong s phn cp Goal, ngi phn tch thc hin sp xp chng da trn quan trng ca Goal. mi mc bao gm nhng Goal tng ng vi nhau v phm vi. Ngi phn tch cng xc nh cc Goal con cn c t c Goal cha. Thm ch, ngi phn tch s phi kt hp mi Goal vi mt Role v mt tp cc lp agent chu trch nhim hon thnh Goal . Xc nh cc use case Bc xc nh use case l mt bc quan trng trong vic chuyn i cc Goal thnh cc Role v cc tc v lin quan. bc ny, ngi phn tch thc hin v ra nhng use case t nhng yu cu h thng v ngi s dng. Use case l nhng m t v chui cc s kin m nh ngha ra hnh vi mong mun c ca h thng. Chng l cc v d v vic h thng s hot ng nh th no trong mt trng hp c th. gip cho vic xc nh cc giao tip thc t cn phi c trong mt h a agent, ngi phn tch t chc li cc use case vo biu tun t (hnh 3). Mt biu tun t m t chui cc s kin gia cc Role v nh ngha ra s lng ti thiu giao tip din ra gia cc Role. Cc Role c nh ngha bc ny to nn mt tp cc Role ban u v s c s dng nh ngha hon chnh cc Role h thng cc bc sau. Bc tip theo, ngi phn tch s s dng cc s kin c xc nh ti y nh ngha ra cc tc v v thm ch l cc hi thoi. Hon chnh cc Role Bc 3 trong phng php lun MaSE c a ra m bo chng ta xc nh c tt c cc Role v xy dng nhng tc v nh ngha nhng mu giao tip v hnh vi. Cc Role c nh ngha trong biu tun t l nhng Role

c xy dng trong sut bc xc nh use case cng nh bc xc nh cc Goal. Chng ta m bo tt c cc Goal h thng u c tnh n bng cch kt hp mi Goal vi mt Role c th m c thc hin bi t nht mt agent trong thit k cui cng. Mt Role l mt m t tru tng ca mt hm k vng ca thc th, n tng t nh khi nim mt din vin trong v kch hoc mt c quan trong mt t chc (Kendall 1998). Mi Goal c nh x sang mt Role n l. Tuy nhin, c nhng trng hp chng ta cn kt hp nhiu Goal trong mt Role n cho thun tin v hiu qu. Chng ti a trn cc tng xy dng phn mm tiu chun nh hm, giao tip, th tc hoc s gn kt v thi gian. Cc yu t khc bao gm s phn b t nhin ngun lc cho cc vn c bit. Cc Role c xc nh trong m hnh Role nh hnh 4:

Hnh 4: M hnh Role Khi Role c nh ngha, th tc v c to. Phn th v nht v cng l kh nht trong vic p dng phng php lun MaSE l vic chuyn i cc role thnh cc lp agent v vic nh ngha cc hi thoi v cc hnh vi ni ti ca agent. hon thnh c cng vic ny, chng ta cn c kh nng nh ngha ra nhng tc v cp cao m c th chuyn i c thnh nhng chc nng c th ca agent. Chc nng ny gip chng ta nh ngha c cc thnh phn bn trong ca agent cng nh chi tit ca cc hi thoi m cc agent tham gia. Hnh 5 ch ra phin bn chi tit ca m hnh Role theo phng php lun MaSE. Cc hnh bu dc bn di mi Role biu th cc tc v m Role cn phi thc thi c th t c

goal ca n. ng ni gia cc node l giao thc gia cc tc v. Cc giao thc ny nh ngha mt loi cc thng ip gia cc tc v cho php chng hot ng hp tc vi nhau. Mi tn mi giao thc ch t tc v khi to sang tc v p ng.

Hnh 5: M hnh Role trong MaSE Chng ta nh ngha nhng tc v ng thi (DeLoach 2001) nh l mt my trng thi hu hn m ch ra nhng thng ip c gi gia cc Role v cc tc v. Cc tc v ng thi cng cho php chng ta ch ra vic x l bn trong thng qua nhng hot ng cc trng thi. S dng nhng tc v ng thi, chng ta c th nh ngha cc giao thc tng tc phc tp v mc cao hn m cn c s phi hp gia cc agent. Chng ta cng ch ra rng chng ta thc s c th kim tra nhng hnh ng ng ca nhng giao thc tng tc trn da vo cc tc v ng thi (Lacey & DeLoach 2000a). Mt v d v s tc v ng thi trong MaSE m nh ngha ra tc v Notify User ca role AdminNotifier c th hin hnh 6.

Hnh 6. S tc v ng thi Cu trc ca s bin i c th hin di y. trigger(args1)[guard]/transmission(args2) S bin i trn c hiu l nu s kin trigger c nhn vi tham s args1 vi iu kin bin i guar, th vic chuyn thng ip s c gi vi tp cc tham s args2. Tt c cc tham s u l ty chn. Ly v d, mt chuyn i vi ch mt iu kin [guard] l hp l cng nh mt chuyn i ch c 2 tham s trigger/tranmission. Ta c th s dng nhiu bin i c vit phn tch bi du ;. Cc hnh ng s c thc hin theo trng thi v c vit nh l nhng hm. To lp agent Trong bc to lp agent, cc lp agent c xc nh t cc Role v c trnh by trong s lp agent c ch ra hnh 7. S lp agent m t cc lp agent nh nhng hp cha v cc hi thoi gia chng l nhng ng ni gia cc lp agent. Tng t vi cc Goal v Role, chng ta nh ngha mt cch tng quan nh x 1-1 gia cc Role m c lit k di tn ca lp agent. Tuy nhin, ngi thit k c th kt hp nhiu role trong mt lp agent n hoc nh x mt role n ti nhiu lp agent. Do cc agent k tha ng giao tip gia cc role nn bt k ng giao tip no gia 2 role tr thnh hi thoi gia cc lp tng ng. Do , t chc tng qut ca h thng c nh ngha khi ngi thit k gn cc role cho

cc lp agent. lm cho t chc hiu qu hn, ta thng kt hp 2 role m chia s mt lng ln lu lng thng ip. Khi xc nh kt hp cc role th s gn kt v khi lng lu lng thng ip l nhng khi nim quan trng cn phi cn nhc.

Hnh 7: S lp agent Xy dng hi thoi Ngi thit k c th thc hin 2 bc tip theo l xy dng hi thoi v hon thin agent mt cch song song vi nhau. Hai bc ny c mi lin kt gn gi, bi v kin trc agent c nh ngha trong bc hon thin agent phi thc hin cc hi thoi v cc phng thc c nh ngha trong bc xy dng hi thoi. Mt hi thoi trong phng php lun MaSE nh ngha mt giao thc phi hp gia hai agent. C th l, mt agent bao gm 2 s lp giao tip, mt cho lp khi to v mt cho lp tr li. Mt s lp giao tip l mt cp cc my trng thi hu hn m nh ngha mt hi thoi gia 2 lp agent tham gia. Mt bn ca cuc hi thoi c ch ra hnh 8. Bn khi to lun bt u cuc hi thoi bng cch gi thng ip u tin. C php dng trong s lp giao tip l tng t nh c php ca s tc v ng thi. S khc nhau chnh gia cc hi thoi v cc tc v ng thi l ch cc tc v ng thi c th bao gm nhiu hi thoi gia nhiu role khc nhau v cc tc v m hi thoi l cc trao i nh phn gia cc agent.

Hon thin agent bc ny, nhng thnh phn bn trong agent c to ra. Robinson (Robinson 2000) m t cc chi tit ca bc hon thin agent t mt tp tiu chun hoc t cc kin trc ngi dng c nh ngha. Qu trnh ny c n gin ha bng cch s dng mt ngn ng m hnh kin trc m kt hp s tru tng ca ngn ng m t kin trc truyn thng vi ngn ng rng buc i tng cho php ngi thit k ch ra cc chi tit mc thp.

Hnh 8. S lp giao tip Trin khai h thng Bc cui cng trong phng php lun MaSE nh ngha ra cu hnh ca h thng c th s c thc thi. Hin ti, chng ta ch xem xt cc h thng tnh, khng di ng mc d chng ta ang nghin cu c t v thit k cc h thng agent di ng v linh ng. Trong phng php lun MaSE, chng ta nh ngha kin trc h thng mt cch tng qut s dng s trin khai ch ra s lng, cc loi, v v tr ca agent trong h thng. Bc trin khai h thng cng l bc m tt c nhng quyt nh ci t cha c nh ngha trc nh ngn ng lp trnh s dng hoc framework giao tip phi c thc hin. Trong , theo ngha v k thut phn mm n thun, chng ta thc hin nhng quyt nh trn bc ny nhng cng c lc quyt nh trn c thc hin sm bc yu cu h thng. agentTool

cng c agentTool l n lc ca chng ti a ra mt cng c h tr v cng c phng php lun MaSE. Hin ti cng c agentTool thc hin 7 bc trong phng php lun MaSE cng nh vic h tr chuyn i cc m hnh phn tch thnh cc m hnh thit k mt cch t ng. Giao din ngi dng ca cng c agentTool c ch ra hnh 9. Cc menu bn trn cho php ta truy cp n mt vi chc nng ca h thng gm c c s tri thc (persistent knowlege base) (Raphael DeLoach 2000) xc minh hi thoi (Lacey & DeLoach 2000a) v chc nng sinh m. Cc nt pha bn tri dng thm item c th vo s v ca s ch bn di nhng nt ny hin th cc thng ip h thng. Cc s khc nhau trong MaSE c truy cp thng qua cc tab phn bn trn ca ca s chnh. Khi la chn mt s , ngi thit k c th thc hin thng qua vic chn cc i tng ha trong ca s. Mi tab c cc kiu i tng khc nhau v c th vit m t cho chng. Thng qua vic la chn mt i tng trong ca s ta c th truy cp n nhng biu c lin quan khc. Ly v d, hnh 10, c 3 role c nh ngha vi cc tp tc v ng thi. Khi ngi dng la chn tc v Register Researcher (bng cch nhn vo hnh bu dc), tab Task s hin ln. Ngi dng c th truy cp biu (hnh 11) bng cch la chn tab ph hp.

Hnh 9. S phn cp Goal trong agentTool

Hnh 10. M hnh Role trong agentTool

Hnh 11. S tc v ng thi trong agentTool. Phn hp dn nht trong agentTool l kh nng lm vic vi nhng thnh phn khc nhau ca h thng v nhiu mc tru tng khc nhau, n m phng kh nng b sung chi tit ca MaSE. Cc thao tc trn tab ca agentTool thc hin kh nng ny ca MaSE v bc m bn ang thc hin lun c th hin bng s hin ti v cc tab ch cho ta bit bn c th di chuyn qua cc bc trong phng php lun MaSE nh th no. Trong mi bc pht trin h thng, nhiu s phn tch v thit k c th truy xut thng qua cc tab ti ca s chnh. Th t cc tab da trn th t cc bc trong phng php lun MaSE, do vy vic la chn tab pha bn tri ca tab hin ti s tr li bc trc trong phng php lun, la chn cc tab bn phi chuyn sang cc bc sau. i tng hin ti c la chn iu khin vic hin th cc s c th truy xut (thng qua cc tab) m bao gm nhng biu m c th thc hin theo cc bc hp l ca MaSE. Ly v d, vic la chn la chn mt tc v lm hin tab ca s tc v ng thi. La chn tab s tc v ng thi truy xut s tc v ng thi. Thit k h thng s dng agentTool Vic thit k h thng a agent s dng agentTool bt u s lp agent c ch ra hnh 12. Do mt hi thoi ch xy ra vi cc lp agent, chng ta cn phi nh ngha cc lp agent trc khi chng ta nh ngha cc hi thoi. Do chng ta c th thm tt c cc lp agent vo s lp agent trc khi thm cc cuc hi thoi nn chng ta cng c th thm cc sections ca h thng vo lc ny, kt ni nhng lp agent thch hp vi cc hi thoi v sau chuyn sang phn sau.

Hnh 12. S lp trong agentTool Khi nh ngha c cc lp agent v cc hi thoi, chng ta c th nh ngha chi tit cho cc hi thoi s dng s lp giao tip (hnh 13). Nt Add State cho php thm mt trng thi v nt Add Trans cho php to ra hi thoi gia 2 trng thi. Ngi thit k c th kim tra cc hi thoi bt k im no trong khi to hi thoi bng cch dng lnh Verify Conversations t thanh menu Verify (Lacey & DeLoach 2000b). Qu trnh kim tra hi thoi ca cng c agentTool nhm m bo cc c t giao tip khng gp tnh trng deadlock. Nu c bt k li g xy ra, s c th hin qua phn c t m, nh c ch ra hnh 13 ti bin i Ack (c bi mu vng trn ng dng). Mi phn nh du m ch ra mt li tim tng c pht hin trong qu trnh kim tra.

Hnh 13. Li hi thoi trong agentTool Cc lp agent c nhng thnh phn bn trong m c th c thm vo loi b, thc hin theo cch tng t nh nhng tab khc trong agentTool (hnh 14). Tuy nhin, cc lp agent c thm mt lp phc tp do cc thnh phn c th c nhng s trng thi thnh phn bn trong v nhng thnh phn con bn di chng.

Hnh 14. Cc thnh phn lp agent trong agentTool Ngi thit k c th thm cc thng tin thit k chi tit cc mc tru tng thp hn. Trong hnh 14, s trng thi thnh phn v tab kin trc giao din thng ip (MessageInterface Architechture) dn n s trng thi thnh phn v s kin trc con (Sub-Architecture Diagram) tng ng. S trng thi thnh phn nh ngha hnh vi ng ca thnh phn trong khi s kin trc con cha cc thnh phn b sung v cc u kt ni nh ngha r hn v thnh phn. H tr thit k bn t ng Cng vic gn y vi cng c agentTool bao gm vic pht trin s h tr cho vic chuyn i bn t ng cho php chuyn i mt tp cc m hnh phn tch thnh cc m hnh thit k ph hp (Sparkman 2001). thc hin c qu trnh ny, ngi thit k trc tin phi gn cc role cho cc lp agent c th. Sau khi gn, ngi thit k phi p dng vic chuyn i bn t ng i vi cc m hnh phn tch. C 3 giai on c bn trong chuyn i. Giai on 1, vic chuyn i c gng xc nh cc s kin giao thc no trong cc tc v ng thi m n thuc v. Trong hu ht cc trng hp, iu ny c thc hin mt cch t ng. Tuy nhin, mt vi trng hp, h thng khng th xc nh mt cch chnh xc giao

thc ph hp cho mi s kin gi/nhn. Khi iu ny xy ra, h thng hi ngi thit k a ra s la chn nh hnh 15.

Hnh 15.Chuyn i bn t ng Yu cu ngi dng la chn Sau khi xc nh c giao thc cho mi s kin, vic chuyn i c tip tc bng cch to ra nhng thnh phn bn trong agent cho mi tc v ng thi i km vi cc role c thc hin bi agent. Sau , h thng sao chp nh ngha tc v ng thi vo my trng thi bn trong ca thnh phn ny. iu ny m bo hnh vi c nh ngha cho mi role c chuyn n agent m nhim role . giai on 2, my trng thi bn trong ca mi thnh phn c ch gii chun b cho vic trch xut cc hi thoi thc t. Pha chun b ny tm v tr bt u v kt thc ca mi hi thoi v m bo rng cc hi thoi gia cc agent l khp nhau. giai on cui, cc hi thoi c trch xut t cc thnh phn bn trong v c t ti cc s hi thoi ring r. Cc hi thoi ny c thay th bi cc li gi phng thc sao cho my trng thi thnh phn bn trong vn gi x l bn trong v cho php phi hp hi thoi.

Tnh di ng Cc cng vic khc gn y i vi phng php lun MaSE v cng c agentTool bao gm vic nghin cu a ra kh m hnh cc agent di ng. Bc khi u trong vic m hnh agent di ng l a ra hot ng di chuyn vo trng thi tc v ng thi. Hot ng di chuyn yu cu mt cch c bn rng agent c th di chuyn n mt v tr mi. Vic ci t thc t ca hot ng di chuyn c gi nh l thnh phn ca mi trng m trong agent thc thi. Hot ng ny tr v gi tr ng sai khi hot ng di chuyn thc s xut hin. Vic b sung n gin ny vo pha phn tch cho php cc nh phn tch ch ra khi no hot ng di chuyn xut hin, v tr c yu cu v kh nng quyt nh liu hnh ng di chuyn l thnh cng hay khng. V tnh di ng l n gin pha phn tch nn n phc tp hn pha thit k. pha thit k, MaSE phi cung cp kh nng thng bo mi thnh phn khi mt hnh ng di chuyn c yu cu v cung cp kh nng cho mi thnh phn lu tr trng thi ca n, tt v khi ng li sau khi di chuyn. gip ngi thit k thc hin nhng hot ng thit k phc tp th cc chuyn i bn t ng nh m t phn trc c pht trin v ci t trong agentTool (Self 2001). Tm tt Bi vit ny trnh by tng quan v phng php lun k thut xy dng cc h a agent v cng c mi trng agentTool. MaSE v agentTool c xy dng song song cung cp s hng dn v h tr thc t cho vic xy dng cc h thng ng, phn tn v phc tp. Nghin cu ny c h tr bi vn phng khng qun vin nghin cu khoa hc v vin nghin cu Dayton Area. Cc quan im trong bi vit ny ca cc tc gi khng phn nh chnh sch chnh thc hay v tr ca Khng qun M, b quc phng hay chnh ph M.

You might also like