qwertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfgh jklzxcvbnmqwertyuiopasdfghjklzxcvb nmqwertyuiopasdfghjklzxcvbnmqwer Agents on mobile devices tyuiopasdfghjklzxcvbnmqwertyuiopas Gi ng viên: Tr n ình Qu

dfghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasdfghj klzxcvbnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc
4/20/2011 Sinh viên: Lê Minh H i L p: D07CNPM2

Agents on mobile devices
Contents 
 I. 1. 2. 3. 4. L IM U ..................................................................................................... 4 GI I THI U CHUNG ....................................................................................... 5 Gi i thi u v Agent ............................................................................................. 8 Agent là gì? ....................................................................................................8 c i m c a agent .......................................................................................8 Các ki u ki n trúc c a agent ........................................................................9 Giao ti p và ph i h p ..................................................................................12 4.1. 4.2. 5. 6. Giao ti p ................................................................................................ 12 Ph i h p ................................................................................................. 13 ng d ng c a Agent ...................................................................................15 L ch s c a Jade ..........................................................................................18 Ki n trúc Jade .............................................................................................21 T i sao chúng ta nên s d ng JADE??? ....................................................24 Môi tr Môi tr ng di ng di ng và các gi i h n ............................................................... 25 ng .....................................................................................25 ng di ng: ........................................................25

Ngôn ng l p trình và công c ...................................................................13

II. Gi i thi u v Jade Platform ............................................................................. 18 1. 2. 3. III. 1. 2. IV. 1. 2.

Các gi i h n c a môi tr

Leap Add-on ................................................................................................... 26 Gi i thi u Leap Add-on ..............................................................................26 Jade và Jade Leap .......................................................................................34 2.1. 2.2. S khác nhau gi a Jade và j2se c a Jade ± leap ...................................... 34 Leap IMTP ............................................................................................. 35 th c thi container tách riêng ..........................................................37

V. 1. 2. 3. 4.

S d ng Jade Leap ........................................................................................... 37 Ch Mediator(B ph n trung gian) ...................................................................41 Các cách c u hình split container ...............................................................43 Building LEAP ............................................................................................44 Page 2

Lê Minh H i_D07CNPM2

Agents on mobile devices
VI. 1. 2. 3. Công ngh J2ME ............................................................................................ 46 Gi i thi u chung ..........................................................................................46 Lý do ch n J2ME ........................................................................................47 Ki n trúc J2ME ...........................................................................................47 3.1. 3.2. 4. Máy o java( hay KVM) ......................................................................... 50 T ng CLDC( Connected Limited Device Configuration) ........................ 51 ng phát tri n J2ME ......................................................................53

Môi tr

VII. MIDP( Moble Imfomation Device Profile) .................................................... 56 1. 2. 3. 4. Gi i thi u .....................................................................................................56 B khung cho MIDlet ..................................................................................56 Tr ng thái c a MIDlet ................................................................................58 Chu kì s ng c a MIDlet ..............................................................................58 S ti n hóa t các mô hình ng d ng phân tán .........................................60 Các c tính c a mobile agent ....................................................................61 Xây d ng các Agent trên MIDP .................................................................... 62 Xây d ng MIDlet d a trên JADE-LEAP ..................................................62 Thi t l p c u hình: ......................................................................................63 ng d ng bán sách trên thi t b di H ng d n ch y ch ng ........................................................ 64 Xây d ng ng d ng .....................................................................................64 ng trình BookTrading ............................................65 K T LU N ....................................................................................................... 73 Tài li u tham kh o............................................................................................ 73

VIII. Mobile Agent .................................................................................................. 60 1. 2. IX. 1. 2. X. 1. 2.  

Lê Minh H i_D07CNPM2

Page 3

bài báo c ng bàn t i n nh ng khó kh n và thách th c c n ph i gi i quy t có th a mobile agents vào ng d ng trong th c t . máy tr m hay các máy tính cá nhân) và m t ph n trên các thi t b di ng. Agent là 1 l nh v c quan tr ng và có ng d ng l n trong trí tu nhân t o. Trong ó h a Agent c phát tri n trên n n JADE (Java Agent Development Framework). Nh ng thi t b v i kh n ng k t n i không dây (GPRS. m t khung làm vi c c th c thi hoàn toàn trong ngôn ng Java. m t ph n trên m ng c nh (nh máy ch . Bên c nh ó. MIDPlet . LEAP. ph c v t t nh t cho công vi c c a con ng i. bài vi t c ng a ra m t ví d c th làm rõ h n nh ng v n trên. và các c u hình có th c i u khi n thông qua giao di n ng i dùng t xa. T khóa: Mobile agent. i u ó t o thu n l i cho chúng ta trong vi c tích h p môi tr ng có dây và không dây vào m t m ng l i chung. tính c ng tác. . WLAN) nh i n tho i di ng và PDA ngày nay ã tr nên vô cùng ph bi n. Mobile agents là m t trong nh ng h ng nghiên c u thu hút nhi u s quan tâm nh t t nh ng n m 90s n nay v i nh ng c i m r t thích h p cho vi c phát tri n các ng d ng phân tán. Chúng ngày càng phát tri n v c ngu n n ng l ng c ng nh tài nguyên c a máy (kh n ng x lý. UMTS. Nh nh ng c tr ng nh tính t v n hành. chúng ta i m l i nh ng khái ni m c b n v mobile agent ng th i c p n nh ng lo i ng d ng phù h p v i mô hình mobile agents ã và ang c nghiên c u và phát tri n trên th gi i. Trong bài này. tính liên t c. th ng m i i n t . b nh . N n t ng Agent có th c phân tán t i nhi u máy tính khác nhau ( ch y các h i u hành khác nhau). ngày nay chúng ta c n ph i tri n khai các ng d ng phân tán.tính h ng ích chúng có th c s d ng trong nhi u l nh v c nh Internet. Ti u lu n này s tìm hi u các v n trong vi c phát tri n các ng d ng trên thi t b di ng c ng nh phát tri n d a trên Agent trên thi t b di ng.). các c m bi n. Em nh n th y tài phát tri n d a trên Agent trên các thi t b di ng là m t tài hay và có tính ng d ng cao. JADE« Lê Minh H i_D07CNPM2 Page 4 . các ng d ng phân tán...Agents on mobile devices L I M U Công ngh Agent là công ngh m nh và ti m n ng trong phát tri n các ng d ng hi n nay và trong t ng lai. Thông qua vi c xem xét các h th ng h tr phát tri n ng d ng d a trên mobile agents.

Các kho d li u này l i c cung c p t nhi u ngu n nên th ng không ng nh t v t ch c. các d ch v h tr hi u qu cho l p thi t b di ng (laptop. ‡ Ngu n tin a d ng. hay m ng không dây. c ng nh vi c khai thác.. tr cao c a ng i n tho i. h i u Lê Minh H i_D07CNPM2 Page 5 . l n v ki n trúc.Agents on mobile devices GI I THI U CHUNG S phát tri n không ng ng c a các k thu t tiên ti n v máy tính. ‡ Môi tr ng không ng nh t: Khi k t n i các máy tính. s d ng d ch v ã không còn th a mãn v i các c ch th ng. kh i l ng c c l n: ã xu t hi n s bùng n thông tin trên m ng v i s xu t hi n c a nhi u kho d li u kh ng l . vì Intranet cho phép vi c thi t l p an toàn h th ng d dàng h n trong m t t p h p mang tính c ng tác và tin c y. tài kho n c a mình t b t c âu. ây s l i là m t khó kh n m i i v i ng i dùng khi truy v n. PDAs n i n tho i di ng hay s tay i n t . có th k n các khuynh h ng chính y u [KOT-99]: ‡ Các thi t b di ng (Mobile devices): Vi c cung c p các ph n m m. và th ng d a trên các k t n i v i b ng thông th p. các m ng c c b vào Internet. ‡ Ng i dùng di ng (Mobile users): Ngày nay ng i dùng th ng có nhu c u truy c p vào máy tính c a mình.. Các c i m c a ngu n thông tin. v n còn l i là kh n ng h tr chuyên bi t hoá c a các ng d ng m ng dành cho ng i dùng. cùng v i s bùng n nhanh chóng các d ch v và ngu n thông tin trên m ng ã làm gia t ng s ng i s d ng Internet n con s hàng tr m tri u (theo International Data Corp. ‡ Nhu c u chuyên bi t hoá: Vi c khai thác thông tin. Internet là c s th c hi n mong mu n này. các ng d ng và ng i dùng ph i i m t v i m t môi tr ng không ng nh t c v ph n c ng. ‡ Gia t ng s d ng m ng c c b : Vi c các m ng Intranet c xây d ng ph bi n là m t i u ki n t t tri n khai các k thu t m i trong vi c xây d ng các ng d ng m ng. vì th vi c h tr k t n i m i n i. c bi t là các gi i pháp m ng. tính n cu i n m 2002 s có h n 600 tri u ng i trên toàn th gi i k t n i Internet). m i lúc và trên m i thi t b là m t thách th c c t ra. x lý thông tin ngày càng tr nên ph c t p và a d ng h n.) này v n ang ph i i m t v i nhi u khó kh n vì các thi t b di ng th ng có tài nguyên h n hep. t ch c m ng. mà ng i dùng th ng có khuynh h ng mu n chuyên bi t hoá nhu c u c a mình m t cách ch ng.

Agents on mobile devices hành«Và bài toán t ng thích. Ph n th o lu n s bàn n các v n m ang c ti p t c nghiên c u trong l nh v c hi n nay v mobile agents. Ph n 9 s trình bày v các l i th c a các ng d ng d a trên mobile agents và các l nh v c ng d ng y ti m n ng c a mobile agents. hi u qu và d dàng h n trong vi c phát tri n ng d ng phân tán. ‡ S kh p khi ng v ng truy n: M c dù ngành vi n thông ã t n nh ng ti n b áng kinh ng c. và cho ra i các lo i cáp quang v i t c truy n t i nhanh áng k . V i t t c các c i m trên ây. Mobile agent v i các u i m này h a h n m t gi i pháp m i. h tr x lý không ng b và t o ra s t ng thích m nh trên các môi tr ng không ng nh t [LAN-99]. kh c ph c tình tr ng tr . tr th p và cu i cùng là các d ch v thi u linh ng. Ý t ng ch o c a mobile agent là di chuy n x lý n g n ngu n d li u. òi h i ng truy n b ng thông cao. Trong bài này này em s gi i thi u các khái ni m c b n v mobile agent trong ph n ti p theo. Lê Minh H i_D07CNPM2 Page 6 .có tính t tr và kh n ng di ng t máy ch này sang máy ch khác hoàn t t tác v . Ph n 10 trình bày các kh o sát v m t s môi tr ng d a trên Java h tr phát tri n ng d ng mobile agents. Mobile Agent là m t mô hình trong ó các ti n trình c g i là agent . khó thay i hay b sung. a s ng i dùng v n b gi i h n v i các thi t b k t n i nh modem hay các ng truy n b ng thông th p v i m ng không dây. d mang chuy n s là v n c n gi i quy t ây. nh ó có th gi m t i m ng. các ng d ng phân tán phát tri n theo mô hình client-server truy n th ng t ra m t s b t l i vì òi h i làm vi c ng b . Cu i cùng là k t lu n.

Lê Minh H i_D07CNPM2 Page 7 .Agents on mobile devices  Thu t ng : y LEAP : Lightweight Extensible Agent Platform y IMTP : Internal Message Transport Protocol y CLDC (Connected Limited Device Configuration) //C u hình thi t b k t n i gi i h n y CDC (Connected Device Configuration) //C u hình thiêt b k t n i CLDC RAM ROM Ngu n n ng l K t n i m ng ng 32 KB ± 512 KB 128 KB ± 512 KB Có gi i h n Ch m CDC 256 KB + 512 KB + Không gi i h n Nhanh y y y y y y y y MIDP : Mobile Information Device Profile JICP : Jade Inter Container Protocol ICP : Internal Communication Peer SSL : Secure Sockets Layer MSA : Mobile Service Architecture WMA : Wireless Messaging API OTA : Over The Air «.

Wooldridge and Jennings[1995]. c i m c a agent  Tính t ch : ho t ng mà không có s can thi p tr c ti p c a con ng i ho c nh ng h th ng khác và có quy n ki m soát c hành ng và tr ng thái bên trong chính nó. c s d li u. là m t ph n m m máy tính c bi t có th t ch cung c p m t interface có kh n ng t ng thích v i m t h th ng b t kì và/ho c c x nh là m t agent con ng i. Nh ng agent này có th t ng tác v i agent khác m t cách gián ti p (b ng cách tác ng lên môi tr ng) ho c tr c ti p (thông qua giao ti p và th ng l ng).Agents on mobile devices I. Lê Minh H i_D07CNPM2 Page 8 . ã c s d ng r ng rãi và xu t hi n trong nhi u công ngh . 2. Gi i thi u v Agent 1. Nh ng h th ng a agent này (MAS) có th mô hình hóa nh ng h th ng ph c t p và các agent c a chúng có th có các m c tiêu chung ho c mâu thu n nhau. các tài li u v h i u hành. nh trong trí tu nhân t o. Agent là gì? Thu t ng ³agent´ hay agent ph n m m. làm vi c cho m t s khách hàng trong vi c theo u i các v n c a riêng mình M t h th ng agent có th ch c n d a trên m t agent n l làm vi c trong m t môi tr ng và t ng tác v i các user c a nó. v b n ch t. và m ng máy tính. Tuy nhiên hi n nay các h th ng agent bao g m nhi u agent. Russel and Norvig[2003]) nh ng t t c các nh ngh a u th ng nh t r ng m t agent. Các agent có th quy t nh h p tác cùng có l i ho c có th c nh tranh ph c v cho m i quan tâm c a mình. M c dù không có nh ngh a riêng v agent( nh trong Geneseth and Ketchpel[1994].

và chúng có th c xây d ng hoàn ch nh v m t tính toán. và vi c bi u di n và x lý d i d ng các kí hi u có th m t nhi u th i gian có c k t qu và th ng là c a ra quá mu n.  Tính trung th c: cung c p s th t mà s không c ý truy n thông tin sai l ch. Ki n trúc co tính ph n ng n i ti ng là ki n trúc g p c a Brook(Brook. agent còn có th có các c tính sau:  Tính di ng: kh n ng di chuy n gi a các node trong m t m ng máy tính.Agents on mobile devices  Tính xã h i: t ng tác v i con ng nhi m v c a mình. y Ki n trúc d a trên logic: l y n n t ng t k thu t d a trên tri th c truy n th ng mà trong ó. chúng không có b t kì mô hình t ng tr ng nào. i ho c các agent khác hoàn thành  Tính ph n ng: nh n th c c môi tr ng và áp ng m t cách k p th i v i nh ng thay i x y ra trong môi tr ng. ng nh m t c m c tiêu c a mình và không c m c tiêu c a mình. không còn có ích n a. làm cho con ng i d dàng h n trong vi c hi u logic.  Tính h ng ích: không ch n gi n là ho t ng ph n ng v i môi tr ng c a nó mà còn th hi n ho t ng h ng ích m t cách ch ng. Nh ng ý t ng chính mà d a trên ó Brooks ã tìm ra ki n trúc này: Lê Minh H i_D07CNPM2 Page 9 . môi tr ng c th hi n và v n hành m t cách t ng tr ng b ng cách s d ng các c ch l p luân. y Ki n trúc có tính ph n ng (reactive): th c thi quá trình a ra quy t nh khi ánh x tr c ti p tình hu ng sang hành ng và c d a trên m t c ch kích thích ± ph n ng c t o ra b i d li u c a thi t b c m bi n. Ngoài các c tính quan tr ng trên. u i m c a ph ng pháp này là tri th c c a con ng i là các bi u t ng vì th mà vi c mã hóa tr nên d dàng h n.  Tính t t b ng: luôn c g ng th c hi n nh ng gì  Tính sáng su t: luôn ho t bao gi ng n c n vi c t 3. Không gi ng nh ki n trúc d a trên logic. Nh c i m là r t khó biên d ch th gi i th c thành nh ng mô t hình t ng m t cách chính xác và y . Các ki u ki n trúc c a agent Các ki n trúc agent có th c chia thành 4 nhóm chính: c yêu c u.1991).

nh ng không a ra c k ho ch. i m m nh c a ph ng pháp ti p c n này là nó s th c thi t t h n (ví d : ph n ng nhanh h n nh ng không suy lu n t t h n) trong nh ng môi tr ng ng. Tuy nhiên. các d li u c a sensor có th không xác nh m t hành ng thích h p và thi u các tr ng thái c a agent khi n cho h u nh không th thi t k các agent có th h c h i t kinh nghi m.Agents on mobile devices  M t cách ng x thông minh có th c t o ra mà không c n bi u di n rõ rang và l p lu n tr u t ng c cung c p b i các k thu t c a trí tu nhân t o v bi u t ng  Thông minh là m t tính ch t n i b t c a nh ng h th ng ph c t p. m c th p nh t c i u khi n ít h n so v i m c cao h n trong ng n x p. c ng nh chúng th ng c thi t k n gi n h n so v i nh ng agent d a trên logic. Các t ng này t o thành s phân c p các hành vi. vi c ra quy t nh t c a ra thông qua nh ng hành vi h ng ích. vì th .1). H n n a. Ki n trúc g p xác nh các t ng c a các máy h u h n tr ng thái ± nh ng máy c k t n i v i thi t b c m bi n ± nh ng thi t b truy n thông tin theo th i gian th c (m t ví d c a ki n trúc g p c th hi n trong hình 2. Lý thuy t này a nh ng quan i m v tinh th n c a ni m Lê Minh H i_D07CNPM2 Page 10 . Nh ng agent c thi t k g p hi u c i u ki n và hành ng. desire. trên th c t nh c i m là nh ng agent có kh n ng ph n ng không áp d ng nh ng mô hình là k t qu c a môi tr ng c a chúng. nh ng hành ng c a agent d a trên c s c a s t ng tác c a nh ng hành vi khác nhau khi n cho các k s r t khó có th thi t k các agent có kh n ng ph n ng thi hành nh ng tác v c bi t khi nh ng agent ph i c nh n ra thông qua r t nhi u hành vi.trong ó. intention): là nh ng ki n trúc agent ph bi n nh t (Rao and Georgeff. 1995). Do ó. Chúng có ngu n g c tri t h c và xu t m t lý thuy t logic. y Các ki n trúc BDI (Belief.

2). các h th ng con c s p x p thành các t ng c a m t h th ng phân c p c s d ng thích ng v i c hai lo i hành vi c a agent. Trong phân l p n m ngang. Cu i cùng. beliefs bi u di n nh ng thông tin mà agent có v môi tr ng c a nó. 1987). v c b n là có m i t ng ho t ng gi ng nh m t agent. plans ch rõ m t vài quá trình c a hành ng mà agent s ph i làm t c m c ích. b ph n phiên d ch ph i l a ch n m t hành ng th c thi d a trên c s c a nh ng intention hi n t i c a agent và tri tr c v m t th t c. intentions và plans. B n c u trúc d li u này c qu n lý b i b ph n phiên d ch agent. M t trong nh ng ki n trúc BDI n i ti ng nh t là h th ng suy lu n theo th t c (PRS ± Procedural Reasoning System) (Georgeff and Lansky.3). sinh ra nh ng desire (tác v ) m i d a trên c s c a các belief m i. 1991) và phân l p d c (Muller et al. 1995). Ki n trúc này d a trên 4 c u trúc d li u chính: beliefs. Desires bi u di n nh ng tác v c phân công cho agent và t ng ng là nh ng m c tiêu. ho c là m c ích mà nó s hoàn thành. chúng c g i là intentions. i m m nh chính c a cách phân l p này là s d dàng trong thi t k b i vì n u agent c n n lo i hành Lê Minh H i_D07CNPM2 Page 11 . y Ki n trúc phân l p (layered architecture) (lai) cho phép hành vi c a agent v a mang tính ph n ng v a có tính th n tr ng. mong mu n và d nh s d ng logic hình th c. Trong h th ng PRS. có th không y ho c không chính xác. và m t b ph n phiên d ch (xem hình 2. các l p k t n i m t cách tr c ti p v i u vào c a sensor và u ra c a hành ng (xem hình 2. Cu i cùng. desires. Có hai lo i lu ng i u khi n trong môt ki n trúc phân l p: phân l p ngang (Ferguson. Intentions th hi n nh ng mong mu n mà agent c n ph i t c.Agents on mobile devices tin. và l a ch n trong t p nh ng desire hi n t i m t vài t p con ho t ng. cái mà ch u trách nhi m c p nh t belief t nh ng quan sát t môi tr ng. có c s linh ho t này.

t ng sinh ra u ra c a hành ng (xem hình 2. c ng tác. M t ki n trúc phân l p d c lo i tr m t s v n trên vì u vào c a sensor và u ra c a hành ng c gi i quy t ph n l n t i m i t ng. toàn b h th ng s l i. Giao ti p và ph i h p 4. vì th n u m t t ng l i. Nh c i m là ki n trúc này ph thu c vào t t c các t ng và không ch p nh n l i. ti p ó l i có lu ng d li u tr v theo th t ng c l i (xem hình 2. thì ki n trúc ch yêu c u n t ng. b i vì m i t ng u b nh h ng b i agent.Agents on mobile devices vi khác nhau. và v i agent khác n u chúng c n h p tác. Ki n trúc phân l p d c có th c chia nh thành nh ng ki n trúc i u khi n m t chi u và hai chi u. Trong ki n trúc m t chi u. t ng nh n d li u t các sensor. xu ng n t ng cu i. S ph c t p khác là m t l ng l n các t ng tác có th x y ra gi a nh ng t ng ngang .3). Trong ki n trúc hai chi u. v i tài nguyên h th ng.3). i m m nh ch y u c a ki n trúc phân l p d c là s t ng tác gi a các t ng c làm gi m áng k còn m2(n-1). 4. các agent c n có kh n ng giao ti p v i ng i dùng. àm phán« Page 12 Lê Minh H i_D07CNPM2 . lu ng d li u i lên xuyên qua các t ng và i u khi n. nên không c n có m t ch c n ng trung gian hòa gi i ki m soát các hành ng. Giao ti p Trong th c t .1. lu ng i u khi n i t t ng u.mn (v i m là s l ng hành ng t i m i t ng). Tuy nhiên.

1996). 1996). Hi n nay. Ngôn ng l p trình và công c Ngôn ng l p trình. Lê Minh H i_D07CNPM2 Page 13 . Trong th c t . ngôn ng giao ti p agent c nghiên c u và s d ng nhi u nh t là FIPA ACL. Ph i h p - - Ph i h p là m t ti n trình mà trong ó. 5. bao g m: ‡ ‡ ‡ ‡ Các m c ích c a các agent có th gây ra s xung t gi a các hành ng c a agent Các m c ích c a các agent có th ph thu c l n nhau Các agent có th có nh ng kh n ng và tri th c khác nhau Các m c ích c a các agent có th nhanh chóng t c n u có s c ng tác gi a các agent khác nhau. KQML c phát tri n vào u nh ng n m 1990 là m t ph n c a ARPA Knowledge Sharing Effort c a chính ph M . Có khá nhi u lý do lý gi i t i sao nhi u agent c n ph i h p v i nhau. 1999).2. c i m chính c a FIPA ACL là kh n ng s d ng nh ng ngôn ng n i dung khác nhau và s qu n lý các cu c h i tho i thông quan các giao th c t ng tác c xác nh tr c. d a trên lý thuy t l i nói hành ng (Searle. Ngôn ng giao ti p agent u tiên v i m t s bao quát r ng là KQML (Mayfield et al. các agent tham gia m b o r ng m t c ng ng các agent n l hành ng m t cách ch t ch (Nwana et al. 4. - S ph i h p gi a các agent có th c i u khi n v i nhi u ph ng pháp ti p c n khác nhau bao g m c c u t ch c (Organizational structuring). s thành công c a h th ng a agent ph n l n là ph thu c vào s s n có c a công ngh thích h p (t c là ngôn ng l p trình. n n t ng và các công c phát tri n c a h th ng a agent là thành ph n quan tr ng mà có th nh h ng n vi c s d ng r ng rãi các công ngh agent. l p h p ng (contracting). th vi n ph n m m và các công c phát tri n) cho phép th c thi các khái ni m và các k thu t ã hình thành c s cho h th ng a Agent. c g i là nh ng ngôn ng giao ti p agent. nó k t h p nhi u khía c nh c a KQML (Labrou et al. l p k ho ch và àm phán a agent (multi-agent planning and negotiation).Agents on mobile devices Các agent t ng tác v i agent khác b ng cách s d ng m t vài ngôn ng giao ti p c bi t. 1969) và cung c p s phân tách gi a hành ng giao ti p và ngôn ng n i dung.

2005) là nh ng ví d i n hình). Các ngôn ng lai khác k t h p c tính ch t khai báo l n tính ch t b t bu c c a ngôn ng khác (3APL (Dastani et al. C th . vì khái ni m v agent không khác nhi u so v i t khái ni m i t ng. m ng truy n thông và ki n trúc agent (ví d nh JADE (Bellifemine et al. vai trò (roles) và quy t c (norms). m t ngôn ng l p trình h ng agent ph i bao g m m t vài c u trúc t ng ng v i m t agent. trong khi m t s khác m r ng ngôn ng ã có phù h p v i tính ch t riêng bi t c a agent. Trong th c t . 1998)). 2005) và Jason (Bordini et al. 2005) là nh ng ví d c a lo i này). M ts c thi t k t u. các agent chia s nhi u tính ch t v i các i t ng nh óng gói (encapsulation). Ngoài ra. Ngoài ra. Ngôn ng l p trình h ng Agent là m t lo i ngôn ng l p trình m i. M t s các platform và framwork có m c ích chung là cung c p các ch c n ng theo các chu n FIPA h tr c ng tác gi a nhi u h th ng agent khác nhau.. Tuy nhiên. Ngoài ra. Platform và framework là nh ng ph ng ti n chính cho phép phát tri n các h th ng a agent. T i thi u. chúng có th có hành vi linh ho t. m t s ngôn ng h ng agent ã xu t hi n (Bordinietal. m t s c ng có m c tiêu h tr các lo i ph n c ng. m c ích (goals). các agent c ng khác v i các i t ng trong m t s i m chính: chúng có tính t tr (autonomous) (ngh a là chúng t quy t th c hi n hay không th c hi n m t hành ng theo yêu c u t các agent khác). Ngày nay. k ho ch (plans). và m t s h tr các lo i agent c bi t (ví d nh các agent i n tho i di ng (Lange và Oshima. ngôn ng h ng i t ng c coi là m t ph ng ti n phù h p. th ng là cung c p m t vi ch ng trình (midleware) h tr th c thi và ho t ng c n thi t c a chúng nh giao ti p (communication) và ph i h p (coordination).2006). Nó t p trung vào nh ng c i m chính c a h th ng a agent.Agents on mobile devices H th ng agent có th c cài t b ng cách s d ng m t lo i ngôn ng l p trình nào ó.)). và m i agent c a m t h th ng có th i u khi n lu ng c a riêng mình. 2001. tr c ti p mã hóa m t s lý thuy t v agent. m t s các ngôn ng này (ví d nh 3APL và ngôn ng Jack Agent) còn cung c p m t môi tr ng phát tri n tích h p n gi n hóa vi c cài t các h th ng d a trên agent b ng cách t ng mã hóa m t s nhi m v l p trình t nh t nh làm l i (refactoring) và th nghi m (testing). nh ng nhi u ngôn ng l p trình c ng cung c p các c ch h tr các thu c tính b sung c a agent nh ni m tin (beliefs). m t s ngôn ng mang quan i m l p trình hoàn toàn có tính ch t khai báo ho c có tính ch t b t bu c (FLUX (Thielscher. H u h t chún cung c p m t ph ng ti n tri n khai nhi u h th ng agent trên các ph n c ng và h th ng i u hành khác nhau. và ôi khi có c k th a (inherition) và truy n thông i p (message passing). 2005) và ngôn ng Jack Agent (Winikoff. Lê Minh H i_D07CNPM2 Page 14 .

ch ng trình. các agent ã c ch ng minh r t h u ích khi hành ng tr c ti p nh là Web Service.. n a môi tr ng (languageneurtral. mà còn c s d li u. thi t b cá nhân và th m chí c h gia ình v a l y d li u v a t o ra d li u trên Web (Hendler et al. Nhi u công trình quan tr ng khác ã xu t vi c tích h p gi a các công ngh agent và các công ngh Web Service thành m t ph ng ti n lý t ng h tr kh n ng t ng tác c a c hai và cung c p nhi u d ch v ph c t p h n..) Semantic Web là m t ph n m r ng c a Web hi n t i. 6. s s n sàng tích h p các công c ph n m m v i các công ngh khác có th là chìa khóa d n n thành công c a chúng. và c bi t quan tr ng dành cho các ng d ng công nghi p. và ph i h p m t cách ng vi c th c thi c a m t t p các Web Service b ng cách cung c p các d ch v m i là g p c a các d ch v khác (Buhler và Vidal. Sycara et al. 2005. 2002). Negri et al. Web Service là m t công ngh làm thay i Internet m t cách nhanh chóng thông qua vi c cung c p m t mô hình l p trình n a ngôn ng . c bi t. Nhi u t ch c khác nhau ang làm vi c d i s cài t c a các h th ng a agent n i công ngh Semantic Web c s d ng h tr các agent c trong vi c tìm ki m. ng d ng công nghi p là nh ng ng d ng r t quan tr ng cho các h th ng a agent b i vì chúng là n i mà công ngh a agent u tiên c th nghi m và ch ng Lê Minh H i_D07CNPM2 Page 15 . c m bi n. 2003. Silva et al.Agents on mobile devices M t c i m quan tr ng mà các h th ng a agent nên cung c p là kh n ng h tr s t ng tác gi a các h th ng ph n m m k th a t các h th ng tr c. Internet là m t trong các l nh v c ng d ng quan tr ng nh t và ph ng ti n truy n thông quan tr ng nh t mà nhi u h th ng a agent có th s d ng cung c p kh n ng t ng tác gi a các h th ng ph n m m k th a. Do ó. Weikum. environment-neutral) nh m s d ng Web tích h p các ng d ng c trong và ngoài doanh nghi p (Tsalgatidou và Pilioura. ng d ng c a Agent Các h th ng a agent ang ngày càng c s d ng r ng rãi trong r t nhi u các ng d ng. ch n l c. 2006. cung c p các d ch v d a trên agent cho các Web Service s d ng. c bi t. t các h th ng t ng i nh h tr cá nhân n các h th ng m . d ch v . trong ó thông tin có nh ngh a rõ ràng. 2002. 2003). Greenwood et al. x lý thông tin l n trong các vi c k t h p các quy trình (Labrou. r t nhi u công trình nghiên c u và phát tri n hi n nay h ng n vi c cung c p các k thu t và công c ph n m m thích h p cho vi c tích h p các h th ng a agent v i các công ngh web nh Web Service và Semantic Web. do ó cho phép s ph i h p gi a máy tính và con ng i t t h n. Semantic Web cung c p m t c s h t ng và m t t p các công ngh cho phép không ch các trang Web. do v y. ph c t p. 2001). 2005. 2002.

2003). C th . 2006). Các ví d v vi c áp d ng các h th ng a agent trong l nh v c công nghi p bao g m ki m soát ti n trình (Jenning. n i mà b n ch t phân tán c a các ti n trình giao thông và v n t i và s c l p m nh m gi a các th c th có Lê Minh H i_D07CNPM2 Page 16 . Ví d . 1987).Gi ây th ng m i i n t và tiên trình nghi p v ct ng hóa ang ngày càng óng vai trò then ch t trong nhi u t ch c b i vì chúng cung c p nh ng c h i c i thi n áng k cách th c mà các th c th khác nhau tham gia vào t ng tác c a ti n trình nghi p v .. chu n oán h th ng (albert. Internet ã ch ng t là m t mi n lý t ng cho các h th ng a agent nh b n ch t phân tán t nhiên c a nó và kh i l ng thông tin s n có ang ngày càng t ng lên m nh m . tr c s gia t ng c a th ng m i i n t . 1994). Trong k ch b n này các h th ng a agent ã ch ng t nó v a phù h p cho vi c mô hình hóa và thi t k các h th ng qu n lý ti n trình nghi p v . M t trong nh ng l nh v c ng d ng quan tr ng nh t c a h th ng a agent là qu n lý thông tin.Agents on mobile devices minh ti m n ng ban u c a nó.. Trong th c t . h có kh n ng chi tr bao nhiêu. d ch v v n t i (Neagu. 2006). v a là các thành ph n quan tr ng cho t ng hóa c a m t s ho c t t c các b c c a các ti n trình này. vi c qu n lý ti n trình nghi p v ã g n nh c i u khi n b i các t ng tác c a con ng i: con ng i quy t nh khi nào mua hàng hóa. và qu n lý m ng (Greenwood. Internet ã thúc y vi c s d ng công ngh agent trong l nh v c qu n lý ti n trình nghi p v và th ng m i i n t . s n xu t (Parunak. các agent có th c s d ng tìm ki m và l c thông tin. Giao thông và v n t i c ng là m t l nh v c quan tr ng.

T ng l p k ho ch trên cùng s d ng m t chi n l c d a trên th tr ng phân ph i các công vi c gi a các robot. FIRE ph i h p các hành ng c a nhi u robot nhi u m c tr u t ng hóa. 2001. 2006).. các h a agent c s d ng c trong vi c qu n lý các m ng l i phân tán l n cho vi c cài t các d ch v vi n thông tiên ti n (Fricke et al. Hayzelden and Bourne. Greenwood et al. nhanh h n ho c áng tin c y h n. K thu t l p k ho ch và l p l ch phân tán c s d ng t o ra các k ho ch c ng tác nhi u l n (multi-rover). Nhi u h th ng a robot c ng s d ng các k thu t l p k ho ch phân tán và a agent ph i h p các robot khác nhau. các h th ng vi n thông là các m ng l i l n và phân tán g m các thành ph n c k t n i v i nhau. H n n a. OASIS là m t h th ng i u khi n không l u ph c t p d trên mô hình agent BDI. 2005). Các h th ng vi n thông là m t l nh v c ng d ng mà các h a agent ã cs d ng thành công.. Các thành ph n thu c v h c máy c s d ng suy di n các quan h gi a nh ng d li u thu th p c và l a ch n các ho t ng khoa h c m i.. vi c th c thi k ho ch giám sát có hi u qu và th c hi n làm l i k ho ch khi c n thi t. ph c t p và c bi t quan tr ng. MISUS các ph i h p các k thu t t vi c l p k ho ch và l p l ch v i h c máy th c hi n vi c th m dò có tính khoa h c m t cách t ch (Estlin et al. 2001. nh ng h th ng này có th suy lu n v nh ng m c ích ph thu c l n nhau th c hi n t i u hóa k ho ch và t ng giá tr c a d li u thu th p c. Trong th c t . 2006). Vì v y.Agents on mobile devices liên quan trong các ti n trình ó làm cho các h th ng a agent tr thành m t công c có giá tr cho vi c th c hi n các gi i pháp th ng m i th c s có hi u qu (Neagu et al.. Lê Minh H i_D07CNPM2 Page 17 . trong ó th i gian robot di chuy n là th c o chính tính chi phí. M t s l nh v c ã c gi i quy t nh OASIS cung c p b ng ch ng m nh m r ng nhi u h th ng a agent là ph ng ti n lý t ng cho các h th ng m . c tri n khai và c s d ng thành công t i sân bay Sydney Australia. Nh ng thành ph n ó c n ph i c theo dõi và qu n lý trong th i gian th c. n i các công ty vi n thông và các nhà cung c p d ch v nh m n phân bi t chính h v i i th c nh tranh c a h b ng cách cung c p các d ch v t t h n. Các h th ng vi n thông c ng hình thành nên c s c a m t th tr ng c nh tranh.

Gi i thi u v Jade Platform 1. v i nhu c u c n thi t c a hãng c công nh n b i chu n FIPA. nh có s h tr tài chính m t ph n c a y ban châu Âu (d án FACTS . hãng không c k v ng t c m c tiêu c a phát tri n m t n n t ng này. Trong th c t . M t vài ng d ng ã cài t cho th y r ng h th ng a agent có th là gi i pháp úng n cho vi c xây d ng các h th ng h tr quy t nh y h c (Hudson và Cohen. 2002) và c i thi n s ph i h p gi a các chuyên gia khác nhau tham gia vào quá trình ch m sóc s c kh e (Lanzola và Boley. Tuy nhiên. truy c p và qu n lý thông tin y t và h tr quy t nh. các h th ng a agent ã c xu t gi i quy t v i nhi u lo i v n khác nhau trong l nh v c ch m sóc s c kh e. bao g m l p k ho ch và qu n lý b nh nhân. 2003). L ch s c a Jade Ph n m m c phát tri n u tiên theo c u trúc JADE c b t u b i hãng Telecom Italia-CSELT vào cu i n m 1998. cùng v i thi n chí và kh n ng c a nhóm phát tri n (t i th i Lê Minh H i_D07CNPM2 Page 18 . Ban u. 2002).Agents on mobile devices Vài ng d ng a agent áng quan tâm khác có th c tìm th y trong h th ng ch m sóc s c kh e (Moreno và Nealon. II. ACTS AC317). ch m sóc s c kh e ng i cao tu i và c ng ng.

nhóm ã thành công trong vi c chuy n t m c ích n thu n là c công nh n là 1 chu n FIPA sang phát tri n m t middle ware platform hoàn ch nh. Agostino Poggi và Giovanni Rimassa). Nhóm phát tri n mu n t p trung vào tính n gi n và kh n ng s d ng cao c a n n t ng i v i ng i dùng.tilab. Hãy tham kh o (GPL-H i áp) và các v n b n gi y phép cho m t phân tích toàn di n v các v n pháp lý và ý ngh a. và quy n thay i mã và làm cho c i ti n cho nó. D án c hoan nghênh s tham gia c a c ng ng mã ngu n m v i nhi u ph ng ti n tham gia và óng góp cho d án ví d :  G i email jade-contrib@avalon. M t khác. quy n c truy c p vào mã ngu n. tài li u. hay b t k công vi c d a vào nó. nghiên c u d án ho c khóa h c có s d ng Jade. Không gi ng nh GPL.  Tham gia vào các cu c th o lu n v danh sách g i th Jade b ng cách tr l i và h tr cho ng i dùng ít kinh nghi m.  Cung c p các báo cáo l i và khi nào có th .tilab. hay b t k h i th o công c ng ho c tr ng h p có th có ích cho c ng ng Jade. s a l i. Gi y phép này m b o cho t t c các quy n c b n t o thu n l i cho vi c s d ng các ph n m m có trong các s n ph m th ng m i: quy n làm b n sao c a ph n m m và phân ph i nh ng b n sao.tilab. ch a n m b t sâu s c c ki n th c v chu n FIPA.com cho th o lu n v các v n và ý t ng liên quan n vi c s d ng và phát tri n c a Jade. ví d mã. và nhi u thông tin v cách s d ng Jade ang có s n.com. D ch v này ph i d dàng truy c p và s d ng b i c nh ng chuyên viên phát tri n dày d n kinh nghi m.tilab. Hai a ch mail luôn s n sàng: jadedevelop@avalon. Jade có m t trang web. gi y phép c ng òi h i r ng b t k tác ph m phái sinh c a Jade. nên c tr l i cho c ng ng d i gi y phép gi ng nhau. http://jade. l n nh ng ng i m i vào ngh .  óng góp các add-ons m i và các module cho c ng ng.com v i m t b n mô t (mang tính công c ng) các tr ng h p s d ng Jade v i công vi c c a b n. Lê Minh H i_D07CNPM2 Page 19 . gi y phép LGPL không t b t k h n ch v ph n m m Jade s d ng. và nó cho phép ph n m m c quy n c h p nh t v i ph n m m bao ph c a LGPL. Jade công b mã ngu n m trong n m 2000 và ã c phân ph i b i Telecom Italia theo LGPL (Library Gnu Public Licence) gi y phép. c mu n lúc ó c a nhóm là phát tri n và cung c p d ch v cho gi i phát tri n ng d ng ph n m m. và jadenews@avalon. ch a các ph n m m.com c s d ng b i các qu n tr viên d án thông báo cho c ng ng v m i ph n m m b n phát hành và Jade s ki n.Agents on mobile devices i m ó bao g m c a Fabio Bellifemine.

Ban m c a v i các thành viên có th tham gia và l i theo nhu c u c a h . và s d ng a ch c a mình trong các v n và thách th c t ra b i vi n thông di ng. Công vi c này là m t ph n l n do Giovanni Caire. Lê Minh H i_D07CNPM2 Page 20 . do ó. Ban c thành l p nh là m t t p oàn c a h p ng v i các quy nh c ng xác nh tr các quy n và ngh a v h ng v quy n SHTT t o ra. Telecom Italia. Chúng tôi xem ây là m t trong nh ng i m m nh chính c a Jade i v i FIPA. i u thú v là Jade ã óng góp cho ph bi n r ng rãi c a các chi ti t k thu t FIPA b ng cách cung c p m t b các ph n m m và abstractions công c mà gi u các chi ti t k thu t chính mình.Agents on mobile devices t o i u ki n t t h n s tham gia c a công nghi p. m t t ch c phi l i nhu n t ch c c a các công ty cam k t óng góp vào s phát tri n và th ng ti n c a Jade. nó ã s d ng b i m t c ng ng nhà phát tri n c phân ph i trên toàn c u.10211). Motorola. Vào th i i m vi t. M t trong nh ng ph n m r ng chính c a lõi Jade ã c cung c p b i LEAP [LEAP] (IST 1999 . Whitestein Technologies AG và Profactor GmbH có t t c tr thành thành viên H i ng. m t d án tài tr m t ph n b i y ban châu Âu r ng ã óng góp áng k gi a các 2000 và 2002 v h ng porting Jade n Java Micro Edition và môi tr ng m ng không dây. s s n có c a m t ch y Jaderun-time cho nh ng n n t ng J2ME-CLDC và CDC. c coi là m t trong nh ng tính n ng hàng u c a Jade phân bi t. France Telecom R & D. Khi Jade l n u tiên c công b b i Telecom Italia. nó ã c s d ng h u nh ch b i c ng ng FIPA nh ng nh thi t l p tính n ng c a nó ã t ng tr ng v t xa các chi ti t k thu t FIPA. tháng 5 n m 2003 Telecom Italia Lab và Motorola Inc ã th ng nh t m t tho thu n h p tác và thành l p Ban Jade Ph m. l p trình c b n có th th c hi n theo các chi ti t k thu t mà không c n ph i nghiên c u chúng. Ngày nay.

ki n trúc c ng cho phép nhi u máy o c th c hi n trên cùng m t máy ch .Agents on mobile devices 2. cung c p m t môi tr ng th i gian ch y hoàn ch nh cho tác t thi hành và cho phép th c hi n m t s tác t th c hi n ng th i trên cùng m t host. M i máy o là m t container c b n c a tác t . V nguyên t c. Lê Minh H i_D07CNPM2 Page 21 . Ki n trúc Jade Các ki n trúc ph n m m d a trên s cùng t n t i c a m t s máy o Java (Java Virtual Machines) và giao ti p d a trên Java RMI (Remote Method Invocation) gi a các máy o khác nhau và s ki n báo hi u bên trong m t máy o duy nh t.

M t container h ng nh c bi t ang c tri n khai cho vi c thi hành các agent trong m t trình duy t web . t m d ng. khôi ph c và h y chúng. Nó i u khi n vòng i c a các agent b ng cách t o ra. nh tuy n theo l nh v c ích và a chúng vào hàng i tin nh n thông Lê Minh H i_D07CNPM2 Page 22 . M i agent container là m t i t ng RMI server qu n lí c c b m t t p h p các agent. M t Agent Platform ( AP ) hoàn thành là sau ó bao g m m t vài agent container. S phân ph i container trên m t m ng máy tính c cho phép v i i u ki n RMI truy n th ng gi a các máy c a h c b o t n. Bên c nh ó nh ng giao d ch v i t t c các khía c nh giao ti p b ng thông i p ACL. qu n lí ho t ng agent và trình bày cho toàn b platform t i th gi i bên ngoài.Agents on mobile devices M i agent container là m t môi tr ng th c thi a lu ng g m m t Thread cho t t c các agent và m t h th ng Thread sinh ra b i h th ng RMI runtime cho vi c g i tin nh n. M t container c bi t óng vai trò front-end.

v i i u ki n là có m t agent container ang ch y. Front End container c ng là m t máy ch IIOP. GUI c ng cho phép t o ra và b t u th c thi các agent trên m t máy ch t xa . N u nó c ch p nh n. các agent t RMA có th cùng s d ng ki m soát nh ng agent platform khác. Các agent platform cung c p m t giao di n h a ng i dùng GUI cho vi c qu n lí t xa. M t h th ng JADE c t o nên t m t ho c nhi u agent container m i agent container ho t ng trong m t máy o Java và giao ti p b ng cách s d ng Java RMI. ki m tra và ki m soát tình tr ng c a các agent. i v i thông i p g i i . Hình sau cho th y ki n trúc c a m t JADE Agent Platform: Ki n trúc ph n m m c a JADE Agent Platform Lê Minh H i_D07CNPM2 Page 23 . có th c phân chia thành nhi u ch th (host) v i m t trong s chúng ho t ng cho n n t ng quá trình liên l c IIOP. m t n n t ng tác t ADE (JADE agent platform) là m t h th ng phân ph i c a chính nó. bao g m các platform không ph i JADE. T t c các thông tin liên l c gi a agent và GUI .Agents on mobile devices i p c a agent. IIOP c s d ng chuy n ti p i các thông i p n các n n t ng tác t bên ngoài.t t c thông tin liên lacj gi a GUI và AMS c th c hi n thông qua ACL thông qua môt ph n m r ng Adhoc c a ontology Fipa-agent-management. Khi xu t hi n nh m t th c th duy nh t v i th gi i bên ngoài. GUI c th c hi n nh m t agent g i là RMA ( Remote Monitoring Agent ). Ph n m r ng này s c a ra FIPA xem xét chu n oán. thay vào ó các agent container duy trì thông tin tìm ki m v trí agent nh n và ch n m t ph ng pháp phù h p chuy n ti p thông i p ALC.

làm cho JADE tr thành môi tr ng cho vi c th c thi các ng d ng machine-tomachine(m2m) nh l p k ho ch s n xu t t ng. JADE agent c ng cho phép các client trao i v i các client khác mà không c n thông qua m t trung tâm server. i u khi n giao thông. M t s các công ty ã s d ng nó cho các ng d ng khác nhau bao g m qu n lý cung c p. Nó là m t ph n m m làm n d u t t c s ph c t p c a ki n trúc phân tán giúp cho ng i phát tri n ng d ng gi m c r t nhi u khó kh n. y Ho t ng chuyên nghi p(pro-activity): JADE agents i u khi n các thread c a chúng th c thi b i v y nó giúp các l p trình viên kh i t o các tác v bên ngoài s can thi p c a con ng i. y T ng tác gi a hai h th ng: JADE tuân th các c tr ng c a FIPA.Agents on mobile devices 3. du l ch. JADE làm n gi n hóa vi c phát tri n các ng d ng phân tán bao g m các th c th t ng. n i mà tài nguyên và i u khi n logic c phân tán trong môi tr ng. qu n lí k t n i m ng. nó c n liên k t và c ng tác theo th t hoàn t t công vi c c a h th ng th c th . Các u i m c a JADE: y ng d ng phân tán bao g m các th c th t ng: u tiên. qu n lý nhanh. Nó c g i là ho t ng chuyên nghi p. B i vì JADE agent v a là nhà cung c p v a là khách hàng. qu n lý u giá. T i sao chúng ta nên s d ng JADE??? JADE là m t công c cho phép phát tri n các ng d ng m t cách n gi n. y ng d ng a phe (multi-party): Ki n trúc P2P có hi u qu h n ki n trúc clientserver trong vi c phát tri n ng d ng multi-party. Trong th c t th vi n ph n m m easy-to-use cài t m ng P2P và giao th c t ng tác c cung c p b i JADE. y Mã ngu n m : JADE là có mã ngu n m nó giúp cho ng óng góp và c ng tác v i nhau. y Th a thu n và ph i h p: JADE h tr phát tri n các ng d ng yêu c u th a thu n và ph i h p gi a m t t p các agent. i s d ng có th Lê Minh H i_D07CNPM2 Page 24 . chúng có th chuy n i m t s cái c n thi t t o s khác nhau c a các client và server. qu n lý h tr . nó cho phép vi c t ng tác end-to-end gi a các agent c a các n n t ng agent khác nhau.

b nh gi i h n. Nh ng các m ng không dây nh GPRS và UMTS không th a mãn nh ng gi thi t này vì chúng có c i m:  K t n i b gián o n do nh ng vùng có bao ph kém. Môi tr 1. kh n ng ch p nh. c m bi n gia t c.. Lê Minh H i_D07CNPM2 Page 25 . Bên c nh ó JADE còn giúp gi m th i gian phát tri n các ng d ng. quay phim. c m bi n ánh sáng. Môi tr ng di ng di ng và các gi i h n ng Vi c xu t hi n các m ng k t n i không dây (GPRS.  a ch IP d thay i do a ch IP c a thi t b di ng không c n thi t ph i duy trì sau khi m t k t n i t m th i. nh ng môi tr ng b che ch n và c n ph i t t thi t b b o t n n ng l ng pin. UMTS. - Ngày nay.. Nh ng kh n ng này giúp cho i n tho i thông minh h n và nâng cao kh n ng t ng tác v i ng i s d ng. Các gi i h n c a môi tr ng di ng: ng h Gi i h n v ph n c ng: kh n ng x lý kém.Agents on mobile devices y Tính linh ho t: JADE cung c p m t t p API v i các phiên b n c a java. ng nh t. n ng l n cung c p gi i h n H n ch c a Java: JVM trên các thi t b c m tay hi n nay không cung c p y nh ng c tính nh trên laptop và máy tính bàn. H n ch v m ng: JADE gi thi t r ng k t n i gi a các container là y và liên t c. nó c l p v i m ng và y D s d ng và xây d ng các ng d ng di ng: T p API c a JADE d h c và d s d ng.6 kbps (GSM) n 128 kbps (GPRS) và 1 Mbps (HSDPA). cellphone« ã d n n s k t h p c a môi tr ng không dây và môi tr ng wire-line. III. t c th ng nh h n 200Mhz. b x lý 16bit.  tr m ng cao và b ng thông th p vào kho ng 9. 2. cùng v i s phát tri n không ng ng c a các thi t b c n tay nh PDA. JADE có thi t k giúp n gi n hóa vi c qu n lí liên k t và trao i thông i p. các hãng s n xu t còn tích h p trong ó nh ng c m bi n cho phép nâng cao tính n ng cho các thi t b nh : C m bi n nh v .. WLAN). H n ch h tr v k t n i m ng. h n ch h a và giao di n ng i dùng. Nhu c u v các ng d ng phân tán trên m ng và trên các thi t b c m tay ang ngày càng tr lên quan tr ng. nâng cao kh n ng t ng tác c a các thi t b di ng.

Agents on mobile devices
Nh ng ràng bu c quan tr ng khác bao g m b l u tr lâu dài th ng không có s n h th ng file và th i l ng c a pin ng n. M c dù các i n tho i di ng th h ti p theo ang c i thi n nh ng h n ch này và kho ng cách gi a kh n ng v i máy tính bàn và laptop ang b thu h p, nh ng th a mãn nh ng mong i c a ng i dùng trong t ng lai, các nhà phát tri n s ph i i m t v i v n b nh và kh n ng x lý.

IV.

Leap Add-on

1. Gi i thi u Leap Add-on Vào cu i n m 1999, các nhà cung c p l n trong ngành vi n thông di ng ã quy t nh k t h p nh ng l l c c a h phát tri n m t n n t ng chung h tr cho vi c phát tri n agent tuân theo FIPA trên các thi t b di ng. Nhóm này c lãnh o b i Motorola và g m hai nhà s n xu t chính khác là Siemens và Ericson, cùng hai hang British Telecommunication và Telecom Italia. K t qu c a vi c h p tác này là m t d án trong ch ng trình IST c a y ban châu Âu c tri n khai vào u n m 2000. Tên c a d án là LEAP (Lightweight Extensible Agent Platform), m c tiêu ban u c a nó là t o ra m t middleware ch y trên các thi t b h n ch v tài nguyên nh i n tho i di ng. H th ng này c ng c thi t k có th m r ng và cung c p y m t l ng l n các ch c n ng khi th c thi trên các thi t b l n h n. M t vài hình nh v các nhà phát tri n

Lê Minh H i_D07CNPM2

Page 26

Agents on mobile devices
Motorola center (M )

Simens (

c)

Lê Minh H i_D07CNPM2

Page 27

Agents on mobile devices
Ericsson (Th y i n), Sony Ericsson là m t công ty liên doanh gi a Nh t (Sony Corporation) và công ty vi n thông c a Th y i n (Ericsson)

British Telecom (Anh)

Lê Minh H i_D07CNPM2

Page 28

Agents on mobile devices British Telecom In Brussels Lê Minh H i_D07CNPM2 Page 29 .

mà ph i ch n m t n n t ng có s n và tùy ch nh nó cho phù h p v i các yêu c u c a d án. hi n nay JADE ã c ch p nh n b i Lê Minh H i_D07CNPM2 Page 30 . Ngoài ra. Vi c l a ch n này do m t s lý do sau: y Hi n nay. d án ã ch n JADE làm c s cho LEAP. Sau vài tháng ánh giá. J2ME ang nhanh chóng tr thành m t chu n phát tri n các ng d ng di ng d a trên client. i làm d án LEAP ã nhanh chóng nh n ra r ng cách phát tri n n n t ng hoàn ch nh t u không ph i là t i u. y JADE c phân ph i mã ngu n m do ó cho phép truy c p n m i tài nguyên m t cách t do. y JADE c vi t hoàn toàn b ng Java.Agents on mobile devices Telecom Italia: Italia.

ã làm th a mãn nh ng ràng bu c trên các thi t b gi i h n v m t tài nguyên. nh kh n ng th c thi nhi u tác v ng th i (behaviours) trong m t lu ng Java n. y Cu i cùng.4 và nh ng b n JDK sau này.Agents on mobile devices c ng ng ng i dùng. y MIDP (Mobile Information Device Profile): th c thi Jade-Leap trên các thi t b c m tay h tr MIDP 1. y pJava: th c thi Jade-Leap trên các thi t b c m tay h tr J2ME CDC ho c Personal Java. m t thành viên c a d án LEAP. do ó có th làm c s cho vi c ch p nh n m t n n t ng agent m r ng m i. Vi c cài t LEAP c c u hình nh m t Jade add-on. Jade-Leap c hình thành theo 3 cách t ng ng v i 3 ki u môi tr ng Java chính. t o thành môi tr ng run-time c g i là Jade-Leap và c tri n khai trên nhi u lo i thi t b .0 Lê Minh H i_D07CNPM2 Page 31 . vi c phát tri n JADE c th c hi n b i Telecom Italia. Add-on này th c ch t là thay th nh ng thành ph n c a nhân Jade. y M t s tính n ng trong JADE. y J2SE: th c thi Jade-Leap trên PC và máy ch trong m t m ng c nh ch y JDK 1.

máy nh n tin« y Các thi t b nh (CDC ± Connected Device Configuration): chia s . mobile. Lê Minh H i_D07CNPM2 Page 32 . k t n i. thông tin. C t th 2 t ph i sang ± m t trong nh ng thi t k cho i n tho i di ng. thông tin nh : internet TV. c nh.Agents on mobile devices N n t ng J2ME là m c tiêu c a hai nhóm s n ph m y Các thi t b (CLDC ± Connected Limited Device Configuration): cá nhân. h th ng nh v « Hình sau ây th hi n m t cách t ng quan các thành ph n c a công ngh Java ME và làm th nao nó liên quan n các công ngh Java khác. nh i n tho i di ng. k t n i.

Lê Minh H i_D07CNPM2 Page 33 . do ó nó cung c p m t t ng th ng nh t cho r t nhi u lo i thi t b và m ng khác nhau.Agents on mobile devices M c dù b n ch t khác nhau nh ng 3 phiên b n Jade-Leap u cung c p cùng m t t p con API cho các nhà phát tri n.

c n nh r ng các container trong JADE và các container trong JADELEAP không th c tr n l n trong m t platform.jar)  c t các agent t kh i ng (bootstrap) trên dòng l nh: khi kh i ng JADE t dòng l nh.Agents on mobile devices 2. S khác nhau gi a Jade và j2se c a Jade ± leap J2SE c a JADE-LEAP cung c p các API gi ng nh JADE. JADE-LEAP cho b n J2SE gi ng h t v i JADE v các API và vi c qu n tr run-time.1. các agent mà ph i c kích ho t giai o n t kh i ng (bootstrap) ph i c phân cách b i ký t tr ng (µ ¶).jar) l n các giao th c v n chuy n thông c ã có nh HTTP và IIOP (trong JADE có http. 2. C ng không c n tài li u h ng d n v JADE-LEAP hay v API. ký t (. ây là s thúc y chính d n n vi c có c phiên b n J2SE trong JADE-LEAP.) c s d ng làm ký t phân chia ranh gi i khi kh i ng JADELEAP. Ví d l nh JADE sau: Lê Minh H i_D07CNPM2 Page 34 .) c s d ng làm ký t phân cách trong JADE-LEAP.  Các file Jar: JADE-LEAP c t o ra khi xây d ng J2SE c a JADE-LEAP c ng s ch a các l p liên quan n c các công c qu n tr (trong JADE có jadeTools. Ví d l nh sau trong JADE: c thay th b ng Khi kh i ng JADE-LEAP. Các nhà phát tri n có th tri n khai các agent c a JADE trên JADE-LEAP và ng c l i mà không c n thay i m t dòng code nào. trong khi d u ch m ph y (. Tuy nhiên.  Các tham s c a agent: các tham s c a agent trong JADE c phân cách b i ký t tr ng (µ ¶).jar và iiop. Jade và Jade Leap T quan i m c a các nhà phát tri n và c a ng i dùng. trong c dòng l nh l n trong màn hình giao di n. N u không có nó thì không th tri n khai m t JADE-LEAP platform n l trong c môi tr ng không dây và môi tr ng có dây. Tuy nhiên có m t s khác nhau trong vi c qu n tr run-time. Trong khi ó. vì nh ng gì cung c p cho JADE u có th áp d ng cho JADE-LEAP.

M c dù JADE và JADE-LEAP khá gi ng nhau nhìn t bên ngoài. các tham s c a agent không ch a các ký t tr ng.Boot s không làm vi c. Do ó. ó là d a trên giao th c JICP (Jade Inter-Container Protocol). vì m t dòng l nh nh java jade. Nó ch u trách nhi m: y Serialize (n i ti p hóa) và deserialize các l nh ngang c a JADE (horizontal command) c trao i gi a các container.Agents on mobile devices c thay th b ng Khi kh i ng JADE-LEAP. là m t ph n c a platform gi i quy t các v n v t ng tác gi a các container. LEAP IMTP bao g m m t Command Dispatcher và m t ho c nhi u bên giao ti p n i (Internal Communication Peer .Boot xxxx c biên d ch v i xxxx là tên c a file c u hình. M t ví d i n hình là IMTP. Command Dispatcher là m t singleton và c chia s gi a m i container trong cùng JVM.ICP). JADE-LEAP s d ng IMTP theo cách khác.2. tùy ch n ±agents ph i c s d ng.  Các l a ch n dòng l nh:  N u JADE ph i c b t u mà không có các tùy ch n và ch ct c a các agent bootstrap.Boot ±agents john:MyClass ph i c s d ng. y Truy n các l nh nh n c b i các ICP ng m t i các container c c b . Trong JADE-LEAP. y nh tuy n các l nh ã c n i ti p hóa t các container c c b n ICP (theo các a ch c a container ích) truy n thông qua m ng. Lê Minh H i_D07CNPM2 Page 35 . nh ng v b n ch t bên trong chúng l i r t khác nhau.2) có th c c u hình b ng cách xác nh m t s l a ch n mà c b qua khi ch y JADE thô. IMTP trong JADE d a trên RMI và nó không phù h p v i các thi t b di ng.  Các l a ch n ±nomobility và ±dump không có trong JADE-LEAP  LEAP IMTP (xem ph n 1. ví d l nh java jade. Do ó. Leap IMTP 2. thay vào ó l nh java jade. S khác nhau gi a hai giao th c (RMI và JICP) là lý do chính gi i thích vì sao container trong JADE-LEAP không th ng ký v i main container trong JADE và ng c l i.

JICP. ICP m c nh d a trên JICP c cài t b i l p jade.http..leap.JICPPeer.JICPSPeer.Agents on mobile devices Các ICP có trách nhi m g i và nh n các l nh ã c n i ti p hóa (c th là các chu i byte thô) qua m ng s d ng m t giao th c cho tr c.imtp. và ICP d a trên HTTP c cài t b i l p jade. Ví d .imtp. vì có nhi u ICP có th c kích ho t trong Command Dispatcher. Hình sau minh h a các thành ph n chính c a LEAP IMTP LEAP add-on bao g m 3 cài t ICP.leap. và do ó chia s Command Dispatcher. Chú ý. m i container có th tìm th y b i các container khác a ch jicp://«và m t a ch khác là http://. phiên b n SSL c a JICP ICP c cài t b i l p jade.JICP.. có th tìm ra nhi u a ch .imtp. JICP thông qua SSL ho c HTTP làm giao th c truy n thông gi a các container.leap. trong hình phía trên.HTTPPeer. nên m i contain ang c trú trong JVM c c b . o C u hình LEAP IMTP Lê Minh H i_D07CNPM2 Page 36 . i u này ngh a là m t JADE-LEAP platform có th s d ng JICP.

Thông th ng. Ch th c thi container tách riêng Rõ ràng là các agent trong JADE c n m t môi tr ng run-time bên d i cung c p cho chúng các ch c n ng c n thi t các agent có th t n t i và giao ti p. S d ng Jade Leap 1. m t ICP s d ng giao th c JICP và l ng nghe các l nh ngang ang t i trên c ng m c nh 1099 và ICP còn l i s d ng giao th c HTTP và l ng nghe các l nh ngag trên c ng 2000.Agents on mobile devices Thu c tính c u hình chính c ch p nh n b i LEAP IMTP là icps ± xác nh ICP nào c kích ho t trong container cho tr c. nh ng các LEAP add-on l i cung c p m t ph ng ti n cài t môi tr ng run-time khác. ví d : L nh trên kh i ng m t main container trong JADE-LEAP v i 2 ICP. l nh T ng ng v i Khi s d ng giao th c HTTP (c th là khi kích ho t HTTPPeer ICP) l a ch n ± proto http ph i c xác nh trên các container peripheral cùng v i các thu c tính ± host và ±port. Do ó. ó là ch th c thi tách riêng (split) và c thi t k c bi t th a mãn các yêu c u c a các thi t b di ng. Giá tr m c nh c a tùy ch n icps là m t JICP ICP n l s d ng c ng m c nh 1099.) (có d ng t ng t nh các c t agent ho c các c t MTP). Giá tr c a thu c tính là m t danh sách các c t ICP c ng n cách b i d u ch m ph y (. Lê Minh H i_D07CNPM2 Page 37 . các môi tr ng run-time c a JADE luôn c cài t v i các container. V.

y Ch th c thi ³Split´ n i container ã c chia ra thành t ng ph n vào trong m t FontEnd (trên th c t ang ch y trên thi t b /host n i Jade runtime ã c kích ho t) và m t BackEnd ( ang ch y trên m t server t xa) liên k t v i nhau. nh ng ph i t o m t t ng r t m ng g i là front-end.Agents on mobile devices Môi tr ng Jade runtime có th th c thi trong 2 ch khác nhau. Front-end cung c p các tính n ng c ng gi ng nh c a container cho các Lê Minh H i_D07CNPM2 Page 38 . ng i dùng không c n t o m t container chu n. Khi kh i ch y môi tr ng JADE run-time s d ng ch th c thi riêng r . y Ch th c thi thông th ng ³stand-alone´ n i m t container hoàn ch nh th c thi trên thi t b /host n i Jade runtime ã c kích ho t.

Lê Minh H i_D07CNPM2 Page 39 . các thông i p n và i t các agent ang t n t i trên front-end c l u t m vào b m c trên backend l n trên front-end. nh ng ch cài t tr c ti p m t t p nh các tính n ng ó. N u front-end trông nh m t container chu n nhìn t quan i m c a các agent ang c trú trên ó.Agents on mobile devices agent. thì back-end trông gi ng nh m t container chu n nhòm t quan i m c a các container khác trong platform. Ch th c thi tách riêng th v tài nguyên vì: ng thích h p cho các thi t b không dây và gi i h n y Front-end ch y trên thi t b nh h n áng k so v i m t container hoàn ch nh. Ngh a là. t o nên ch th c thi tách riêng. n u k t n i gi a front-end và back-end b t. các thông i p ós c phân ph i t i ng i nh n d ki n. Frontend và back-end giao ti p v i nhau thông qua m t k t n i dành riêng nh trong hình 8. y C front-end và back-end c nhúng vào m t c ch l u tr và chuy n ti p làm cho vi c m t k t n i t m th i tr nên trong su t v i ng d ng. k c container chính.3. Ngay khi front-end thi t l p l i k t n i. K t qu c a vi c h p nh t front-end và back-end hình thành nên m t container b tách làm 2 ph n. y Vi c s d ng các liên k t không dây c t i u hóa. y Pha kh i ng nhanh h n nhi u vì m i giao ti p v i container chính tham gia vào platform c th c hi n b i b ph n back-end và do ó không th c hi n trên các k t n i không dây. trong khi các công vi c khác c giao cho m t b x lý t xa g i là back-end.

ng i ta khuy n khích s d ng ch th c thi tách bi t c ng nh c ch n p Lê Minh H i_D07CNPM2 Page 40 . B ng 8. ch th c thi tách bi t là ch b b t bu c trong MIDP và r t c khuy n ngh trong pJava.Runtime và các l p trong gói jade. Khi ch y JADE-LEAP trên thi t b PersonalJava/CDC và c n ph i có các tính n ng di ng.wrapper c thi t k i u khi n m t container c l p.  Tính di ng và s nhân b n agent không c h tr trong split container. Chú ý.Agents on mobile devices y a ch IP c a thi t b di ng không bao gi nhìn th y c b i các container khác trong platform. M t chú ý quan tr ng n a là các nhà phát tri n agent không ph i quan tâm n vi c các agent c a h ch y trên m t container chu n ho c trên front-end c a split container. Các ng d ng bên ngoài có th i u khi n m t split container b ng các ph ng ti n trong m t giao di n c cung c p b i l p jade.  L p jade. vì chúng luôn t ng tác v i back-end. vì ch th c thi tách riêng không t n t i trong JADE thông th ng. Tuy nhiên.MicroRuntime.core. L p này rõ ràng ch có s n khi làm vi c v i JADE-LEAP.1 t ng k t hai ch th c thi (ch bình th ng (hay còn g i là standalone) và ch tách bi t) c h tr trong các môi tr ng khác nhau mà JADELEAP h ng n.core. vì các API mà chúng cung c p v b n ch t là gi ng nhau. Th m chí nó có th thay i mà không nh h ng n ng d ng. có 3 v n mà nh ng ng i phát tri n này ph i bi t c:  Không th th c thi m t container chính s d ng ch th c thi tách riêng.

5 bi u di n th t c kh i ng split container. Ch khi i u này không phù h p v i nhu c u ng d ng thì ch th c thi c l p m i nên cs d ng. Khi ng i dùng kích ho t JADE-LEAP s d ng ch th c thi tách bi t trên i n tho i c a h thì front-end s kh i ng và k t n i t i mediator mà ang yêu c u t o m t back-end. nh trong hình 8. Vi c này c th c hi n b ng cách g i yêu c u CREATE_MEDIATOR qua k t n i m m i nh t s d ng giao th c JICP nh ã c p trong ph n 8. Mediator ph i ch y trên m t máy v i m t a ch cho tr c. C ch này c cài t b i m t thành ph n ki n trúc trong JADE-LEAP g i là mediator. m i ng d ng ch y các agent trên i n tho i di ng c a ng i dùng ó. Ng c l i.behaviours. 2. Lê Minh H i_D07CNPM2 Page 41 . back-end ng ký v i container chính.2. c nh và nhìn th y c tr c khi các front-end c kh i t o trên thi t b di ng. cho phép split container v a c sinh rat ham gia vào platform. T i th i i m này. mediator s g i l i m t ph n h i cho front-end mà ch a nh ng thông tin nh tên c a container. Mediator này s kh i t o m t back-end và truy n cho nó k t n i ã c m b i front-end. tên c a platform và a ch c a platform«Bi u tu n t trong hình 8.2. Mediator(B ph n trung gian) Khi xem xét m t ng d ng th c v i m t s ng i dùng.core. ph i có m t c ch t ng qu n lý các back-end c a m i front-end ang ho t ng trên các thi t b c a ng i dùng.Agents on mobile devices hành vi ng b i l p jade. Front-end và backend sau ó s s d ng k t n i này cho m i t ng tác v sau.LoaderBehaviour tr c tiên.4.

 BEManagementService trong LEAP add-on Lê Minh H i_D07CNPM2 Page 42 . thì l a ch n ±local ± port s c xác nh. n u mediator. Tuy nhiên. thì front-end s c g ng thi t l p l i k t n i m t cách nh k thông qua mediator. JADE-LEAP cung c p hai th c th có kh n ng óng vai trò mediator là:  Các ICP c a giao th c LEAP IMTP. Yêu c u này có ch a tên c a container. ch c n kh i ng m t container bình th ng trong JADE-LEAP (t t nhiên là c container chính). N u c ng không ph i là c ng m c nh (1099) c yêu c u ch p nh n k t n i t các front-end. Ngh a là có m t mediator ch y c.6. mediator duy trì m t b ng ánh x tên c a container v i các back-end t ng ng. do ó cho phép mediator truy n k t n i n úng back-end. Chú ý là trong c hai th t c kh i ng và k t n i l i. Do ó. nh trong bi u tu n t hình 8. N u vì m t s lý do nào ó (ví d nh i n tho i ngoài vùng ph sóng) mà k t n i gi a front-end và back-end b t. thì yêu c u duy nh t là ph i m c ng mà mediator s d ng l ng nghe k t n i ang t i. container chính và các container khác (n u có) ang ch y d i m t t ng l a.Agents on mobile devices Sau th t c kh i ng. m i t ng tác v sau gi a front-end và back-end u không liên quan n mediator. thành ph n duy nh t ch p nh n k t n i là mediator. Yêu c u CREATE_MEDIATOR c s d ng cho vi c này.

cách này xác nh các agent ph i c kích ho t trong pha kh i ng c a front-end. nó không thích h p trong nh ng ng c nh tri n khai th c t mà ó ng i ta quan tâm n vi c b o v container chính kh i t ng l a.Agents on mobile devices 3.exitwhenempty [true | false] khi thi t l p là true. nh ng thay vào ó nó ch ra máy và c ng c a mediator. Cách c u hình này th ng c s d ng khi cài t ch th c thi tách riêng. M c nh là false. Các cách c u hình split container Có m t s cách c xác nh khi kh i ng front-end c a m t split container. các cách này không ch ra máy và c ng c a container chính trong tr ng h p kh i ng container bình th ng. Ch trong tr ng h p Container chính làm vi c nh là mediator thì ± host và ± port cho split container và container bình th ng m i c ch rõ.agents<list of agent specifiers> v i container bình th ng. nh ng thông th ng. trong ó quan tr ng nh t là các tham s .host và ±port. Các cách áng chú ý khác có th container là: c s d ng i u khi n vi c kh i ng split y .msisdn<telephone number> cách này có ý ngh a là nói v i JADE i n tho i c trú trên front-end ang kh i ng có m t s i n tho i (msisdn là Lê Minh H i_D07CNPM2 Page 43 . y . Tuy nhiên. y . cách này có ý ngh a là b o front-end ph i k t thúc ngay khi không có agent nào n a c trú trên nó.

y . 4. pJava for Microsoft Windows c s thi t b c m tay nh ipaq. t o m t th m c g i jade-leap. trong BNF.  K t h p LEAP v i Jade Tr c khi b n có th biên d ch b n ph i k t h p Jade và Leap. y .  Building Jars và docs. c s d ng qu n lý ( phía back-end) k t n i gi a front-end và back-end. jade và leap. B n sau ó s th y hai th m c con c a jade-leap.Agents on mobile devices m t thu t ng trong vi n thông ch s i n tho i c a i n tho i di ng). Sau ó unzip Jade và Leap source vào trong th m c. K t qu là JADE s s d ng s i n tho i này làm tên cho split container v a c sinh ra. build ANT builder gi nh LEAP source và Jade source là trong cùng m c th m c. buildLEAP [{<devices>}* {actions}] Lê Minh H i_D07CNPM2 Page 44 .JICPMediator. B n c ng c n JADE 2.bat.FEConnectionManager. buildLEAP có m t cú pháp th hai cho b c này (mà gi ng nhau cho jar và doc).mediator-class<mediator class name> l a ch n này cho phép c t c a m t l p acài t giao di n jade.connection-manager<connection-manager class name> cách này cho phép c t c a m t l p mà cài t giao di n jade.JICP. ây là.leap. Cách này c s d ng qu n lý (trên front-end) k t n i gi a front-end và back-end. Building LEAP LEAP c phân ph i d i d ng mã ngu n và s d ng ANT build system và th c thi h th ng. và MIDP cho i n tho i di ng và thi t b c m tay Palm.core. M m t c a s l nh và ti n buildLEAP. B n có th còn s d ng unmerge and clean v i cú pháp này.5 ho c ngu n m i h n.imtp. B n s tìm K t h p buildLEAP (buildLEAP merge). B n có th biên d ch b t k ho c t t c 3 ích có th : Java 2 Standard Edition. Nh : n th m c leap th m c làm vi c c a b n.

ví d . ho c midp. set JAVA_HOME=c:\jdk1. so type.3.1 N u b n ang biên d ch cho pjava ho c midp b n còn c n tìm v trí c a các file liên quan trong buildLEAP. Building Jars và docs. type buildLEAP j2se midp compile This produces hordes of class files under the classes directory.properties. B n th s mu n gói chúng c (yêu c u ch t o và biên . trong file buildLEAP.  Compiling So. j2se. và javadoc. # th m c n i Sun J2ME Wireless Toolkit ã cài d ch Jade-Leap cho MIDP) J2me-wtk-home=c:/J2mewtk  Biên d ch Vì v y. biên d ch. jar. ki u:  Jaring buildLEAP j2se midp jar Lê Minh H i_D07CNPM2 Page 45 i th m c classes. biên d ch cho j2se và midp platforms.  Thi t l p môi tr ng B n c n b o buildLEAP n i java runtime b i thi t l p JAVA_HOME.properties. và actions có th có m t vài th bao g m. pjava. to compile for j2se and midp platforms. ki u buildLEAP j2se midp compile i u này t o ra các file class d l i trong các file Jar. Cho ví d . V i MIDP b n c n nh p v trí c a Java 2 Micro Edition Wireless Toolkit. You really wand to package them in jar files.Agents on mobile devices N i devices có th .

Embeded Java và Personal Java c a phiên b n Java 1. ch a các class c b n và b các công c l p trình. J2ME c phát tri n t ki n trúc Java Card. g n.B công c chu n biên d ch code J2ME c a Sun Microsystem. J2ME là n n t ng cho các thi t b có tính ch t nh . J2RE .Agents on mobile devices K t qu JadeLeapJ2se. úng v i tên g i. n s ra i c a Java 2 thì Sun quy t nh thay th Personal Java và c g i v i tên m i là Java 2 Micro Edition.1.Máy o ch y code Java J2ME wireless toolkit .jar trong th m c leap\lib  Documentation N u b n mu n b n c ng có th t o ra các lo i tài li u javadoc v i buildLEAP j2se midp javadoc K t qu d i th m c leap\doc. Khi cài y t J2ME c n có các công c sau: y y J2SDK . hay vi t t t là J2ME. VI.jar và JadeLeapMidp. Page 46 Lê Minh H i_D07CNPM2 .c n thi t cho vi c biên d ch. Gi i thi u chung J2ME( Java 2 Micro Edition) là m t nhánh c a ngôn ng l p trình Java phát tri n các ng d ng trên i n tho i di ng hay các thi t b c m tay nh g n khác.Công ngh J2ME 1.

sau ó là IDEA. J2RE và Wireless Toolkit ã cài. Lê Minh H i_D07CNPM2 Page 47 . J2ME wireless toolkit. thi t b gi i trí gia d ng « 3. c m r ng ra cho nhi u ch ng lo i thi t b nh : ng c a J2ME ‡ Các l ai th cá nhân nh Java Card ‡ Máy i n tho i di ng ‡ Máy PDA (Personal Digital Assistant . ti p theo b i J2RE. J2ME c xây d ng b ng các t ng (layer) khác nhau. r i thi t l p ng d n c n thi t trong IDEA t i v trí c a J2SDK. Lý do ch n J2ME a) Java ban b) Th tr u c thi t k dành cho các máy v i tài nguyên b nh h n ch .Agents on mobile devices y IntellJ IDEA . không c n quan tâm n ph n c ng th t s . Ki n trúc J2ME Các thành ph n trong J2ME M c tiêu c a J2ME là cho phép ng i l p trình vi t các ng d ng c l p trên thi t b di ng. 2.thi t b tr giúp cá nhân) ‡ Các h p i u khi n dành cho tivi.Công c biên so n code Java thông d ng Th t cài t là J2SDK.

Lê Minh H i_D07CNPM2 Page 48 . Mã bytecode này sau ó c chuy n thành mã ngôn ng máy c a thi t b di ng.Agents on mobile devices M i t ng trên t ng hardware là t ng tr u t ng h n cung c p cho l p trình viên nhi u giao di n l p trình ng d ng (API-Application Program Interface) thân thi n h n. T ng C u Hình( Configuration layer): T ng c u hình c a CLDC nh ngh a giao di n ngôn ng Java (Java language interface) c b n cho phép ch ng trình Java ch y trên thi t b di ng. T ng này cung c p m t s chu n hóa cho các thi t b di ng ng d ng J2ME sau khi ã biên d ch có th ho t ng trên b t k thi t b di ng nào có J2ME KVM. M c tiêu c a J2ME là cung c p m t chu n cho t t c các lo i thi t b di ng khác nhau. T d i lên trên: T ng ph n c ng thi t b (Device hadware layer): ây chính là thi t b di ng th t s v i c u hình ph n c ng c a nó v b nh và t c x lý. Các thi t b di ng khác nhau có th có các b vi x lý khác nhau v i các t p mã l nh khác nhau. T ng máy o java(Java Virtual Machine Layer): Khi mã ngu n Java c biên d ch nó c chuy n i thành mã bytecode. T ng máy o Java bao g m KVM (K Virtual Machine) là b biên d ch mã bytecode có nhi m v chuy n mã bytecode c a ch ng trình Java thành ngôn ng máy ch y trên thi t b di ng. ây là m t t p các API nh ngh a lõi c a ngôn ng J2ME. D nhiên th t ra nó không ph i là m t ph n c a J2ME nh ng nó là n i xu t phát. L p trình viên có th s d ng các l p và ph ng th c c a các API này tuy nhiên t p các API h u d ng h n c ch a trong t ng hi n tr ng (profile layer).

Các s n ph m này có th k n nh các máy PDA c p cao. CDC. ví d nh : ‡ Ki u và s l ng b nh ‡ Ki u và t c b vi x lý ‡ Ki u m ng k t n i Do ây là c t nên các nhà s n xu t thi t b nh Samsung. các ng d ng c t o ra có th mang tính c l p thi t b cao nh t có th . các hi n tr ng k trên và t p các API ang c xây d ng. MIDP nh ngh a các API riêng bi t cho thi t b di ng. Nokia «b t bu c ph i th c thi y các c t do Sun qui nh các l p trình viên có th d a vào môi tr ng l p trình nh t quán và thông qua s nh t quán này. Hi n nay Sun ã a ra 2 d ng Configuration: CLDC (Connected Limited Device Configuration-C u hình thi t b k t n i gi i h n): c thi t k nh m vào th tr ng các thi t b c p th p (low-end). Nh ng thi t b này có nhi u b nh h n (thông th ng là trên 2Mb) và có b x lý m nh h n. C ng có th có các hi n tr ng và các API khác ngoài MIDP c dùng cho ng d ng. Chu n hi n tr ng PDA là c t JSR . i n tho i web.Connected Device Configuration (C u hình thi t b k t n i): CDC c a ra nh m n các thi t b có tính n ng m nh h n dòng thi t b thu c CLDC nh ng v n y u h n các h th ng máy bàn s d ng J2SE.  Lê Minh H i_D07CNPM2 Page 49 . các thi t b gia d ng trong gia ình « T ng Hi n tr ng( Profile Layer): T ng hi n tr ng hay MIDP (Hi n tr ng thi t b thông tin di ng-Mobile Information Device Profile) cung c p t p các API h u d ng h n cho l p trình viên.75 và chu n bluetooth API là c t JSR . M c ích c a hi n tr ng là xây d ng trên l p c u hình và cung c p nhi u th vi n ng d ng h n. ví d nh là Midlet. s h n. các thi t b này thông th ng là máy i n tho i di ng và PDA v i kho ng 512 KB b nh .«). Vì tài nguyên b nh h n ch nên CLDC c g n v i Java không dây (Java Wireless ).82 v i JSR là vi t t t c a Java Specification Request. C ng có th có m t hi n tr ng nh ngh a các API cho vi c t o các ng d ng Bluetooth. Ví d .Agents on mobile devices nh ngh a v Configuration (C u hình): là c t nh ngh a m t môi tr ng ph n m m cho m t dòng các thi t b c phân lo i b i t p h p các c tính. d ng nh cho phép ng i s d ng mua và t i v các ng d ng Java. có th có hi n tr ng PDA nh ngh a các l p và ph ng th c h u d ng cho vi c t o các ng d ng PDA (l ch. Th c t . s a ch .

b n không th l y m t ng d ng vi t trên J2SE hay J2EE và ch y trên các máy h tr J2ME. Không có KVM. C 2 Configuration u có nh ng profile liên quan và t nh ng profile này có th dùng các class l n nhau. các ch ng trình Java ph i c biên d ch thành t p l nh cho m i thi t b di ng. Do ó MIDP s cung c p m t giao di n ng i dùng n gi n và các tính n ng m ng n gi n d a trên HTTP.Agents on mobile devices nh ngh a v Profile: Profile m r ng Configuration b ng cách thêm vào các class b tr các tính n ng cho t ng thi t b chuyên bi t. Máy o java( hay KVM)  Vai trò c a máy o Java hay KVM là d ch mã bytecode c sinh ra t ch ng trình Java ã biên d ch sang ngôn ng máy.1. Sau ây là các profile tiêu bi u: Mobile Information Device Profile (MIDP): profile này s b sung các tính n ng nh h tr k t n i. Có th nói MIDP là profile n i ti ng nh t b i vì nó là ki n th c c b n cho l p trình Java trên các máy di ng (Wireless Java) 3. Nh v y l p trình viên ph i xây d ng nhi u ích cho m i lo i thi t b di ng Hình 2. Ti n trình xây d ng MIDlet Quá trình phát tri n ng d ng MIDlet v i IDE (Môi tr Intergrated Development Environment): Lê Minh H i_D07CNPM2 ng phát tri n tích h p- Page 50 . n ây ta có th nh n th y do m i profile nh ngh a m t t p h p các class khác nhau. dung l ng ch a có h n. nên th ng ta không th chuy n m t ng d ng Java vi t cho m t profile này và ch y trên m t máy h tr m t profile khác. C ng v i lý do ó. Profile này c thi t k ch y u nh m vào i n th ai di ng v i c tính là màn hình hi n th h n ch . Chính KVM s chu n hóa output c a các ch ng trình Java cho các thi t b di ng khác nhau có th có b vi x lý và t p l nh khác nhau. các thành ph n h tr giao di n ng i dùng « vào CLDC.

mf) cung c p mô t v ng d ng cho b qu n lí ng d ng (application manager) trên thi t b di ng T p tin JAR c bán ho c phân ph i n ng i dùng u cu i Sau khi ã g r í và ki m tra mã l nh trên trình gi l p(simulator). mã l nh ã s n sàng c ki m tra trên i n tho i di ng và sau ó c phân ph i cho ng i dùng.t ng Lê Minh H i_D07CNPM2 Page 51 . M c ích c a t ng này là cung c p m t t p t i thi u các th vi n cho phép m t ng d ng Java ch y trên thi t b di ng. i dùng: download b cài ng d ng v thi t b di ng T ng CLDC( Connected Limited Device Configuration) T ng J2ME k trên t ng KVM là CLDC hay C u hình thi t b k t n i gi i h n. B ti n ki m tra s gán nhãn l p b ng m t thu c tính (attribute) c bi t ch r ng l p ó ã c ti n ki m tra. Nó cung c p c s h t ng cho t ng Hi n tr ng . Trên IDE: T o t p tin JAR IDE s t o t p tin JAR ch a: T t c các t p tin class Các hình nh c a ng d ng Các t p tin d li u có th có c yêu c u b i ng d ng M t t p tin kê khai(manifest.Mã bytecode ã biên d ch s c l u trong các t p tin *. Trên IDE: B biên d ch java( java compiler): Biên d ch mã ngu n thành mã bytecode B biên d ch java s biên d ch mã ngu n thành mã bytecode.2. M t trong nh ng yêu c u an toàn c a J2ME là b o m mã bytecode chuy n cho KVM là h p l và không truy xu t các l p hay b nh ngoài gi i h n c a chúng. Do ó t t c các l p u ph i c ti n ki m tra tr c khi chúng có th c download v thi t b di ng.java). có th có nhi u t p tin (*. Vi c ti n ki m tra c xem là m t ph n c a môi tr ng phát tri n làm cho KVM có th c thu nh h n. Mã bytecode này s c KVM d ch thành mã máy.Agents on mobile devices L p trình viên: T o các t p tin ngu n java B c u tiên là l p trình viên ph i t o mã ngu n Java. Ng 3.class và s có m t t p tin *. Thu c tính này t ng thêm kho ng 5% kích th c c a l p và s c ki m tra b i b ki m tra trên thi t b di ng.class sinh ra cho m i l p java Trên IDE: B ti n ki m tra (Preverifier): Ki m tra tính h p l c a mã bytecode.

Các CLDC API c nh ngh a v i s h p tác v i 18 công ty là b ph n c a JCP (Java Community Process). Nhóm này giúp b o m r ng các API c nh ngh a s h u d ng và thi t th c cho c nhà phát tri n l n nhà s n xu t thi t b di ng. m ng. input/output. Lê Minh H i_D07CNPM2 Page 52 . Các API h u d ng h n nh giao di n ng i dùng và qu n lý s ki n c dành cho hi n tr ng MIDP J2ME là m t phiên b n thu nh c a J2SE.30. M c tiêu c a J2ME là m t t p con 100% t ng thích c a J2SE. Quy nh CLDC phiên b n 1. s d ng ít b nh h n nó có th thích h p v i các thi t b di ng b gi i h n b nh .0 c gán s JSR . và b o m t c nh ngh a trong CLDC.Agents on mobile devices này s ch a nhi u API chuyên bi t h n. Ph m vi c a t ng này: nh ngh a: T ng Các th I/O M ng B om Qu c t thích ngôn ng java vi n lõ nh ngh a các th vi n t i thi u và các API t hóa Không ính ngh a: Chu kì s ng ng d ng Giao di n ng i dùng Qu n lí s ki n Giao di n ng d ng và ng i dùng Các l p lõi Java c b n. Các c t c a JCP c gán các s JSR (Java Specification Request).

Agents on mobile devices Hình 3.So n th o mã ngu n và các tài nguyên ‡ Build (Biên d ch) . tài li u và các ví d c n thi t phát tri n các ng d ng MIDP. công c . ph ng th c.obfuscate (tu ch n): s lo i b các thông tin không c n thi t trong class (nh tên c a các bi n c c b .óng gói các MIDlet thành các t p tin JAR và JAD ‡ Gi l p (emulation) .).G r i MIDlet Các J2ME IDE ph bi n và n i ti ng sau: ‡ Sun J2ME Wireless Toolkit 2.. Lê Minh H i_D07CNPM2 Page 53 .pre-verify (ti n ki m tra) ‡ óng gói (package) .5 (WTK) ‡ WTK là m t b công c phát tri n Java J2ME (Java Development Kit JDK) cung c p cho các l p trình viên môi tr ng gi l p.Qu n lý các t p tin ngu n và các thông s MIDlet ‡ Trình so n th o . obfuscate còn gi m kích th c c a các t p tin class..5 ‡ Borland Jbuilder ‡ NetBeans IDE ‡ IntelliJ IDEA 3089 ‡ Eclipse v i EclipseME plug-in Sun J2ME Wireless Toolkit 2. Ngoài vi c b o v mã ngu n.Th c thi các MIDlet v i m t trình gi l p ‡ G r i (debugger) . làm cho kích th c c a t p tin JAR c ng gi m i« . M t IDE cho J2ME c n ph i cung c p các ti n ích sau: ‡ Qu n lý project . Môi tr ng phát tri n J2ME M t môi tr ng phát tri n tích h p (IDE) nh m c i thi n n ng su t c a l p trình viên b ng cách cung c p m t t p các công c l p trình tích h p thông qua m t giao di n ng i dùng h a (GUI). Bi u di n m i quan h gi a J2SE và J2ME 4. các l p.

2_01.5 c ng cung c p các b gi l p ã c c i ti n v i các tính n ng gi l p. vì nó ã b các tính n ng so n th o và g r i v n c xem là b t bu c ph i có trong m t IDE.sun.Agents on mobile devices WTK không ph i là m t IDE hoàn ch nh. c cung c p trong b WTK là m t môi tr ng phát tri n t i thi u cung c p m t GUI dành cho vi c biên d ch.com/j2me/download. óng gói và th c thi các ng d ng MIDP. a ch t i J2SE http://java.5. ta m ch ng trình Lê Minh H i_D07CNPM2 Page 54 .sun. vào C:\WTK2. Cài t b J2SE vào máy tính. Nh ng KToolbar. ‡ WTK 2. Các th m c c a b toolkit c b trí nh hình sau: ‡ Sau khi cài t thành công. a ch http://java.html Gi i thi u t o MIDlet b ng cách s d ng Toolkit: Sau khi cài xong b Toolkit . Có m t c ch c thêm vào ti n trình build c a KToolbar cho phép vi c tích h p và th c thi b obfuscate Java byte code khi óng gói MIDlet suite.com/j2se/ Cài t J2ME Wireless Toolkit. monitor và debug m i.

5. ây s là n i ch a source c a ng d ng. ‡ Ch n MIDlets tab trong c a s dialog c u hình c a porject.. nh p tên c a Th m c : ³C:\WTK2. ‡ ng ý n tr ng "MIDlet-Jar-Size" (v i giá tr là "100" bytes)..Agents on mobile devices Ch n "New Project." trên toolbar vào menu c u hình cho project. Nh p tên project (tên c a file JAR và tên c a th m c project m i). Ti n hành build và run ch ng trình M t vài chú ý: Nh n vào "Settings. Chúng ta s làm cho giá tr t c thi t l p úng... Lê Minh H i_D07CNPM2 Page 55 ." t o m t project m i. Sau ó nh n vào nút "Edit³. Có th dùng b t k ch ng trình so n th o v n b n nào so n code.2_01\apps\Example\src´. ‡ Ch n hàng duy nh t trong b ng ("MIDlet-1") làm n i nó và ch n.

Nó c ng không b t bu c nhà s n xu t cách mà l p MIDP c th c hi n. Nó c ng không nh ngh a b t k lo i mô hình b o m t endto-end nào. timer. t p tin *. ng quên th c hi n b c 3 m i khi rebuild ‡ ‡ VII. M t thi t b di ng có th h tr nhi u hi n tr ng. (2)Build : Build t t c t p tin *. Có 22 công ty là thành viên c a nhóm chuyên gia t o ra chu n MIDP.JAD s t úng.JAR và *.PNG t vào t p tin JAR. hay a lên WWW site download.JAD. MIDP( Moble Imfomation Device Profile) 1. h a (m c cao và m c th p). Ch p nh n các thay i.Agents on mobile devices Xoá tr ng "Icon" n u không có t p tin *.JAR và *. tuy n o n. Khi làm 3 b c trên.JAR trong t p tin *. l u tr b n v ng (persistent storage). B khung cho MIDlet ng d ng MIDP g i là MIDlet Lê Minh H i_D07CNPM2 Page 56 . Tr ng kích th c c a *. L p trình viên có th vi t m t ng d ng cho m t hi n tr ng c th và không c n quan tâm n nó ch y trên thi t b nào Hi n t i hi n tr ng c công b là MIDP (Mobile Information Profile) v i c t JSR .JAD k t qu ã có th s n sàng c th c thi trong ch ng trình mô ph ng. (1)Project --> Clean: Xoá t t c t p tin *. Nó không nh ngh a cách mà ng d ng c n p trong thi t b di ng.class và preverify.37. MIDP cung c p các API cho phép thay i tr ng thái chu k s ng ng d ng. và m ng. Hi n tr ng là t p các API h u d ng h n cho các ng d ng c th . v n c n thi t cho ng d ng kinh doanh nh n s th tín d ng c a ng i dùng. ó là trách nhi m c a nhà s n xu t.class. (3)Project --> Package --> Create Package: Sinh ra t p tin *. Gi i thi u T ng J2ME cao nh t là t ng hi n tr ng và m c ích c a nó là nh ngh a các API cho các thi t b di ng. M t hi n tr ng có th áp t thêm các gi i h n trên các lo i thi t b di ng (nh nhi u b nh h n hay phân gi i màn hình cao h n). MIDlet( Mobile Imfomation Device applet) 2.

Trong ví d này MIDletExample là b t u c a ng d ng. 2) Ph n chính c a MIDlet: MIDlet c nh ngh a nh m t l p k th a l p MIDlet.midlet. bi u di n b khung yêu c u t i thi u cho m t ng d ng MIDlet 1) Phát bi u import: Các phát bi u import c dùng include các l p c n thi t t các th vi n CLDC và MIDP.MIDlet và th c thi (implement) các ph ng th c startApp(). pauseApp(). Lê Minh H i_D07CNPM2 Page 57 . trong tr ng h p có cu c g i n). và destroyApp(). Hình 4. L p MIDlet c trình qu n lý ng d ng trên i n tho i di ng dùng kh i ng. B khung MIDlet(MIDlet Skeletion) Thông báo import dùng truy xu t các l p c a CLDC và MIDP L p chính c a ng d ng c nh ngh a là l p k th a l p MIDlet c a MIDP. d ng.M t MIDlet là m t l p Java k th a (extend) c a l p tr u t ng java. và t m d ng MIDlet (ví d .Agents on mobile devices Hình 3. Có th ch có m t l p trong ng d ng k th a l p này.microedition.

N u tham s là false. các bi n toàn c c s c kh i t o l i tr hàm t o b i vì các bi n ã c gi i phóng trong hàm pauseApp(). b qu n lý ng d ng s th c thi MIDlet (thông qua l p MIDlet). Nó ch n thu n là thoát MIDlet. Chu kì s ng c a MIDlet Khi ng i dùng yêu c u kh i ng ng d ng MIDlet. B qu n lý ng d ng g i hàm t o và hàm startApp(). Khi ng d ng th c thi.  H y (Destroyed): Ph ng th c destroy() c g i. Hàm destroyApp() ch có th g i t tr ng thái ho t ng hay t m d ng. MIDlet có thêm tùy ch n t ch i thoát b ng cách ném ra m t ngo i l MIDletStateChangeException. N u không thì chúng s không c kh i t o l i b i ng d ng 5) pauseApp(): Ph ng th c pauseApp() c g i b i b qu n lý ng d ng m i khi ng d ng c n c t m d ng (ví d . Cách thích h p s d ng pauseApp() là gi i phóng tài nguyên và các bi n dành cho các ch c n ng khác trong i n tho i trong khi MIDlet c t m d ng. Lê Minh H i_D07CNPM2 Page 58 . Có th nh n các s ki n timer. 6) destroyApp(): Ph ng th c destroyApp() c g i khi thoát MIDlet. Tr ng thái c a MIDlet  T o (Created): Hàm t o MIDletExample() cg im tm tl n  Ho t ng (Active): Ph ng th c startApp() c g i khi ch ng trình b t u hay sau khi t m d ng  T m d ng (Paused): Ph ng th c pauseApp() c g i. Vi c này không c c p trong MIDP mà ó là do nhà s n xu t quy t nh s ch n cách nào. 4. C n chú ý r ng khi nh n cu c g i n h i u hành trên i n tho i di ng có th d ng KVM thay vì d ng MIDlet. (ví d khi nh n nút exit trong ng d ng). Nói chung. Hàm startApp() có th c g i nhi u l n trong su t chu k s ng c a ng d ng. và m i khi MIDlet tr v t tr ng thái t m d ng. Hàm t o s không c g i l i tr phi MIDlet thoát và sau ó kh i ng l i. trong tr ng h p có cu c g i ho c tin nh n n). Nó không th t s xóa ng d ng kh i i n tho i di ng. MIDlet c t t vô i u ki n. N u tham s này là true. 4) startApp(): Ph ng th c startApp() c g i b i b qu n lý ng d ng khi MIDlet c kh i t o. 3. nó s c xem là ang tr ng thái t m d ng.Agents on mobile devices 3) Hàm t o (Constructor) : Hàm t o ch c th c thi m t l n khi MIDlet c kh i t o l n u tiên. Ph ng th c destroyApp() ch nh n m t tham s Boolean.

và m t s ki n timer xu t hi n.  notifyDestroyed(): S n sàng h y. Các MIDlet trong m t b MIDlet chia s các l p.  Ví d : X lý nút nh n Exit 5. Chu kì s ng c a MIDlet Các ph ng th c dùng i u khi n các tr ng thái c a MIDlet:  resumeRequest(): Yêu c u vào ch ho t ng. B MIDlet M t t p các MIDlet trong cùng m t t p tin JAR c g i là m t b MIDlet (MIDlet suite).  Ví d : Khi MIDlet t m d ng.  notifyPaused(): Cho bi t MIDlet t nguy n chuy n sang tr ng thái t m d ng.Agents on mobile devices Hình 5.  Ví d : Khi i m t s ki n timer. c p nh t m t MIDlet. và d li u l u tr b n v ng. toàn b t p tin JAR ph i c c p nh t Lê Minh H i_D07CNPM2 Page 59 . các hình nh.

M t s h th ng g n ây c ng ã gi i thi u khái ni m thông i p ch ng (active messages) có th di trú gi a các v trí trên m ng. Ba MIDlet trong b u tiên truy xu t các l p và d li u c a nhau nh ng không truy xu t n các l p hay d li u c a MIDlet4. thay vì yêu c u th c hi n các hàm t xa thì client ch vi c g i mã ngu n các hàm c a nó n server và yêu c u server th c hi n r i tr v k t qu . S ti n hóa t các mô hình ng d ng phân tán Theo truy n th ng. Bi u di n hai b MIDlet Trong hình trên.Agents on mobile devices Hình 4. Các mô hình giao ti p này th ng ph i ng b . M t ki n trúc ti n b h n là Remote Evaluation (REV) do Stamos và Gifford [STA-90] a ra vào n m 1990. MIDlet4 c ng không truy xu t c các l p. m t b MIDlet ch a MIDlet1. Ng c l i. ngh a là phía client t m ng ng ho t ng c a mình trong th i gian g i yêu c u n server và i n khi nh n c k t qu tr v t server. hình nh. m t ng d ng phân tán có c u trúc xây d ng trên mô hình client-server s th c hi n vi c giao ti p thông qua c ch truy n thông i p ho c các l i g i hàm t xa (RPCs). Trong mô hình REV. VIII. và d li u c a chúng. B kia ch ch a MIDlet4. Lê Minh H i_D07CNPM2 Page 60 . và MIDlet3. Mobile Agent 1. mang theo mã c a ch ng trình th c thi t i nh ng v trí này. Mobile agents là mô hình ti n hóa tiên ti n nh t so v i các mô hình tr c ó. MIDlet2.

Hai c tính h ng ích (goal-oriented) và tính ch ng (pro-activeness) [LAN-98] th ng c dùng Lê Minh H i_D07CNPM2 Page 61 . Khi di chuy n. Các c tính c a mobile agent Các c tính chính c a mobile agent bao g m : Tính t tr (autonomous): là kh n ng t ki m soát b n thân c a agent sau khi c giao vi c mà không c n s can thi p nào c a ng i dùng ho c c a agent khác [JEN-98]. d li u và c tr ng thái thi hành.Agents on mobile devices Mobile agent [LAN-98] là danh t ghép gi a agent (tr lý) và mobile (di ng). di chuy n sang máy khác và khôi ph c l i s thi hành t i máy ích. Hình 1 cho th y s khác bi t c a Mobile agents so v i RPC và REV. nh v y mobile agent có th d ng vi c thi hành ang th c hi n t i máy này. 2. các mobile agent óng gói mã ngu n. Có nhi u h ng ánh giá v s t tr c a agent. M t mobile agent là m t ch ng trình có kh n ng di chuy n m t cách t tr t nút m ng này sang nút m ng khác và th c hi n các x lý thay th cho con ng i t c m c tiêu c giao phó.

ph i h p ho t ng c a các agent v i các agent c a cùng môi tr ng khác hay v i các lo i i t ng khác trong nh ng môi tr ng khác. Xây d ng các Agent trên MIDP Các ng d ng vi t b ng java c tri n khai trên i n tho i di ng có h tr MIDP ph i c óng gói thành các b MIDlet. Tính di ng (mobility): là kh n ng di chuy n t môi tr ng thi hành này sang môi tr ng khác khác c a m t agent.OutputViewer: MIDlet này cho phép b n xem l i u ra ã in ra trong su t phiên th c thi JADE-LEAP Quá trình t o ra m t b MIDlet d a trên JADE-LEAP c th c hi n qua các b c sau: Biên d ch mã ngu n c a mi n ng d ng.midlet.lep.Config: MIDlet này cho phép s a ch a các thu c tính c a c u hình JADE-LEAP y JADE. M t b MIDlet c b n là m t file Jar ch a: y M t s o n code trong l p m r ng : javax.microedition. IX. c th là trong classpath.MIDlet y M t file manifest xác nh m t b n ghi MIDlet-<n> y Các tài nguyên c n thi t khác 1. Tính thích ng (reactiveness): là kh n ng c a agent có th th c thi trên nh ng môi tr ng l .util. JADE-LEAP phiên b n MIDP c c u hình nh m t b MIDlet: y Jade. Kh n ng t tr c a agent ch y u c quy t nh b i tri th c trang b cho agent. và c m nh n c s thay i c a môi tr ng. Di ng y u (weak mobility) là kh n ng c a h th ng ch có th di chuy n mã ch ng trình gi a các môi tr ng thi hành v i nhau. tri n khai các ng d ng trên thi t b di ng có MIDP . Kh n ng di ng c a m t agent c phân thành hai lo i.MicroBoot : MIDlet này kh i ng font-end c a split container y Jade.lead. Di ng m nh (strong mobility) là kh n ng mà h th ng có th di chuy n c mã ch ng trình và tr ng thái thi hành c a agent n m t môi tr ng khác.until. Gi i nén m i l p c a JADE-LEAP Ti n xác minh Lê Minh H i_D07CNPM2 Page 62 .0 ho c cao h n thì phiên b n MIDP c a JADE-LEAP ph i c s d ng. Xây d ng MIDlet d a trên JADE-LEAP Khi làm vi c trên thi t b di ng ch y MIDP 1. [FUG-98].Agents on mobile devices ánh giá m c t tr c a agent. mã ngu n có th mang kèm theo m t s d li u kh i t o nh ng tr ng thái thi hành thì không th di chuy n. Kh n ng c ng tác(collaboration): là kh n ng liên l c.

Các l a ch n c u hình có th c xác nh nh các entry trong file manifest c a b MIDlet v i cú pháp sau: LEAP-<option>: <value> Ví d m t file manifest nh sau: Sau khi m file manifest ra ta s nhìn th y nó có d ng sau: Lê Minh H i_D07CNPM2 Page 63 . Thi t l p c u hình: Các b MIDlet d a trên JADE-LEAP th ng yêu c u m t s l a ch n c u hình nh ± host. và ±port.Agents on mobile devices T o m t file Jar n ch a các l p c a m t mình xác nh và các l p JADELEAP v i m t file manifest thích h p. 2. nên ta c n m t cách xác nh các tham s này. JADE-LEAP cung c p hai kh n ng. S a file JAD ch a URL và size Jar úng.Tuy nhiên vì i n tho i có cài MIDP không có c a s dòng l nh.

Agents on mobile devices X. Xây d ng ng d ng ng Lê Minh H i_D07CNPM2 Page 64 . ng d ng bán sách trên thi t b di 1.

L a ch n agents b o JADE-LEAP kh i ch y book buyer agent trong th i gian kh i ng.5. th i i m kh i ng.OutputViewer. Cách này m b o tên c a agent c nh t quán và th ng c dùng khi k t n i mediator t i m t h th ng có kh n ng phát hi n s i n tho i (msisdn) c a thi t b khi front-end ang kh i ng nh c c p trong ph n 8.MicroBoot. H ng d n ch y ch ng trình BookTrading Cài t classpth .3. %C c s d ng gán tên cho book buyer agent ang c kh i ch y. c th là front-end c a JADE-LEAP.5. JADE s thay th %C b ng tên c a split container vì v y book buyer agent s có tên là <container-name>-book-buyer.Agents on mobile devices M t vài chú ý khi xây d ng file c u hình: MIDlet b t u c kh i ng kích ho t ng d ng bool buyer trên thi t b là jade. book buyer agent s có tên <user-phone-number>-book-buyer.cài t bi n môi tr ng cho jade . ây là m t ti n ích ki m tra l i nh ng cái ã in ra 2. Trong tr ng h p này.util. B MIDlet c ng ch a MIDlet jade. L a ch n exitwhenempty b o JADE k t thúc ngay khi ng i dùng óng book buyer agent.leap.cài t bi n môi tr ng cho jdk Lê Minh H i_D07CNPM2 Page 65 .

Boot ±gui Lê Minh H i_D07CNPM2 Page 66 .Agents on mobile devices Ch y GUI c a jade b ng l nh cmd Java ±cp <path> jade.Boot ±gui Path: là ng d n n file jade.jar jade.jar trong th vi n jade Ví d : java ±cp C:\jade\lib\jade.

Agents on mobile devices Build sourcecode Ch y file filename.jad trong th m c dist c a sourcecode Lê Minh H i_D07CNPM2 Page 67 .

Agents on mobile devices Lê Minh H i_D07CNPM2 Page 68 .

Agents on mobile devices Ch n start Lê Minh H i_D07CNPM2 Page 69 .

Agents on mobile devices T o 2 agent buyer và seller Lê Minh H i_D07CNPM2 Page 70 .

Agents on mobile devices Lê Minh H i_D07CNPM2 Page 71 .

Agents on mobile devices Sau ây là hình nh mua bán sách thành công trên di ng: Lê Minh H i_D07CNPM2 Page 72 .

Microprocessor and Microsystems Journal. Milojicic. Tài li u tham kh o [1] Fabio Bellifemine." 2002. Qua ây. 2007. gi ây chúng ta ã có th phát tri n các ng d ng d a trên Agent trên các thi t b di ng nh m t ph n c a h th ng c a chúng ta. [4] D. JADE. Experiences and the future challenges in the mobile agent programming. chúng ta hi u k h n v các thành ph n chính c a j2me. Mobile agent applications.pdf [3] http://www. N.edu/burge/pdf/huc/01_J2ME_Overview. chúng ta ã bi t c cách s d ng mobile agent và ngôn ng n i dung trong JADE xây d ng các ng d ng a agent phân tán và ph c t p. Các link tham kh o: [1] http://today. Xin chân thành c m n th y giáo ã t o i u ki n em hoàn thành tài này. [2] Giovanni Caire.html [4] http://developers. R. Dominic Greenwood.java. Qua vi c tìm hi u và nghiên c u. Ahmed. Tuy nhiên. July-September 1999.và vi c ra i LEAP trong vi c xây d ng ng d ng.: Willey. T. Elsevier.armstrong. vì th i gian có h n nên bài vi t ch d ng l i nh ng c tr ng c b n c a tài và không tránh kh i sai sót. [3] A. IEEE Concurrency. phát tri n d a trên Agent ngày càng c chú tr ng. Developing Multi Agent Systems with JADE. "Jade Tutorial: application .com/pub/a/onjava/2001/03/08/J2ME.net/pub/a/today/2005/02/09/j2me1. 2001. Karnik. Giovanni Caire. Không n m ngoài xu h ng ó.Agents on mobile devices K T LU N Hi n nay trên th gi i. Chúng ta c ng bi t c các lo i ngôn ng n i dung mà JADE h tr c ng nh s khác nhau c a chúng.com/techtopics/mobility/midp/articles/wtoolkit/ Lê Minh H i_D07CNPM2 Page 73 .defined content languages and ontologies. Tripathi.onjava.cs.sun.html [2] http://www.

Sign up to vote on this title
UsefulNot useful