You are on page 1of 73

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 vi t c ng a ra m t ví d c th làm rõ h n nh ng v n trê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. 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. Trong ó h a Agent c phát tri n trên n n JADE (Java Agent Development Framework). UMTS. 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ý. JADE« Lê Minh H i_D07CNPM2 Page 4 . 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 liên t c..). m t ph n trên m ng c nh (nh máy ch .tính h ng ích chúng có th c s d ng trong nhi u l nh v c nh Internet.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. WLAN) nh i n tho i di ng và PDA ngày nay ã tr nên vô cùng ph bi n. Nh nh ng c tr ng nh tính t v n hành. b nh . LEAP. ngày nay chúng ta c n ph i tri n khai các ng d ng phân tán. Nh ng thi t b v i kh n ng k t n i không dây (GPRS. Agent là 1 l nh v c quan tr ng và có ng d ng l n trong trí tu nhân t o. 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). ph c v t t nh t cho công vi c c a con ng i. m t khung làm vi c c th c thi hoàn toàn trong ngôn ng Java. 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. 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. MIDPlet . 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. . Trong bài này. 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. 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 .. 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. T khóa: Mobile agent. các ng d ng phân tán. Bên c nh ó. tính c ng tác. th ng m i i n t . các c m bi n.

t ch c m ng. l n v ki n trúc. 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. tr cao c a ng i n tho i. ‡ Nhu c u chuyên bi t hoá: Vi c khai thác thông tin.. tài kho n c a mình t b t c âu. các d ch v h tr hi u qu cho l p thi t b di ng (laptop. c bi t là các gi i pháp m 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. ây s l i là m t khó kh n m i i v i ng i dùng khi truy v n. 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. h i u Lê Minh H i_D07CNPM2 Page 5 . 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. c ng nh vi c khai thác.) 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. s d ng d ch v ã không còn th a mãn v i các c ch th ng. m i lúc và trên m i thi t b là m t thách th c c t ra.. ‡ Ngu n tin a d ng. Internet là c s th c hi n mong mu n này. x lý thông tin ngày càng tr nên ph c t p và a d ng h n. hay m ng không dây. Các c i m c a ngu n thông tin. các m ng c c b vào Internet. 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 tr ng không ng nh t: Khi k t n i các máy tính. ‡ 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. 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. 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á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. 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 . PDAs n i n tho i di ng hay s tay i n t . và th ng d a trên các k t n i v i b ng thông th p.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. ‡ 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.

V i t t c các c i m trên ây. 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. Ý t ng ch o c a mobile agent là di chuy n x lý n g n ngu n d li u. tr th p và cu i cùng là các d ch v thi u linh ng. òi h i ng truy n b ng thông cao. Lê Minh H i_D07CNPM2 Page 6 . 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]. và cho ra i các lo i cáp quang v i t c truy n t i nhanh áng k . Mobile agent v i các u i m này h a h n m t gi i pháp m i. nh ó có th gi m t i m ng. 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. 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.Agents on mobile devices hành«Và bài toán t ng thích. Mobile Agent là m t mô hình trong ó các ti n trình c g i là agent . Cu i cùng là k t lu n. khó thay i hay b sung. ‡ 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. kh c ph c tình tr ng tr . 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.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 . 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 . hi u qu và d dàng h n trong vi c phát tri n ng d ng phân tán. 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.

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 «.

Tuy nhiên hi n nay các h th ng agent bao g m nhi u agent. nh trong trí tu nhân t o. Lê Minh H i_D07CNPM2 Page 8 . 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ó.Agents on mobile devices I. 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ó. 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. Gi i thi u v Agent 1. Russel and Norvig[2003]) nh ng t t c các nh ngh a u th ng nh t r ng m t agent. 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). Wooldridge and Jennings[1995]. ã c s d ng r ng rãi và xu t hi n trong nhi u công ngh . các tài li u v h i u hành. 2. và m ng máy tính. 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. v b n ch t. M c dù không có nh ngh a riêng v agent( nh trong Geneseth and Ketchpel[1994]. Agent là gì? Thu t ng ³agent´ hay agent ph n m m. 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.

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 ó. 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. 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. 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. 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.  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 .  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. 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. và chúng có th c xây d ng hoàn ch nh v m t tính toán.Agents on mobile devices  Tính xã h i: t ng tác v i con ng nhi m v c a mình. 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. 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. không còn có ích n a. 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 . chúng không có b t kì mô hình t ng tr ng nào. 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. 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.1991).  Tính trung th c: cung c p s th t mà s không c ý truy n thông tin sai l ch. làm cho con ng i d dàng h n trong vi c hi u logic.

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. y Các ki n trúc BDI (Belief. Do ó. Nh ng agent c thi t k g p hi u c i u ki n và hành ng. vi c ra quy t nh t c a ra thông qua nh ng hành vi h ng ích. 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. 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. Các t ng này t o thành s phân c p các hành vi. intention): là nh ng ki n trúc agent ph bi n nh t (Rao and Georgeff. 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. nh ng không a ra c k ho ch. desire. vì th . 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. 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 . H n n a. 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. 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. Chúng có ngu n g c tri t h c và xu t m t lý thuy t logic. 1995).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.1). Tuy nhiên.trong ó.

và m t b ph n phiên d ch (xem hình 2. Trong phân l p n m ngang. 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. Cu i cùng. Intentions th hi n nh ng mong mu n mà agent c n ph i t c. 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. beliefs bi u di n nh ng thông tin mà agent có v môi tr ng c a nó.Agents on mobile devices tin.3). có c s linh ho t này. Cu i cùng. chúng c g i là intentions. có th không y ho c không chính xác. 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. 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.2). intentions và plans. 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. 1991) và phân l p d c (Muller et al. 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. 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. 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. Trong h th ng PRS. v c b n là có m i t ng ho t ng gi ng nh m t agent. Ki n trúc này d a trên 4 c u trúc d li u chính: beliefs. mong mu n và d nh s d ng logic hình th c. 1987). sinh ra nh ng desire (tác v ) m i d a trên c s c a các belief m i. 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 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. 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. 1995).

c ng tác. 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. Trong ki n trúc hai chi u. Trong ki n trúc m t chi u. 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). 4. t ng nh n d li u t các sensor.Agents on mobile devices vi khác nhau. lu ng d li u i lên xuyên qua các t ng và i u khi n. t ng sinh ra u ra c a hành ng (xem hình 2. 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). ti p ó l i có lu ng d li u tr v theo th t ng c l i (xem hình 2. Giao ti p Trong th c t . Tuy nhiên. lu ng i u khi n i t t ng u. vì th n u m t t ng l i. thì ki n trúc ch yêu c u n t ng. các agent c n có kh n ng giao ti p v i ng i dùng. và v i agent khác n u chúng c n h p tác.mn (v i m là s l ng hành ng t i m i t ng). toàn b h th ng s l i. 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. àm phán« Page 12 Lê Minh H i_D07CNPM2 .3). v i tài nguyên h th ng. xu ng n t ng cu i. 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. b i vì m i t ng u b nh h ng b i agent.1. Giao ti p và ph i h p 4. 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.

1999). Trong th c t . l p h p ng (contracting). 1996). 1996). nó k t h p nhi u khía c nh c a KQML (Labrou et al. 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. 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. 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 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. 4. Ngôn ng l p trình và công c Ngôn ng l p trình. 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 . Hi n nay. 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ê Minh H i_D07CNPM2 Page 13 . Có khá nhi u lý do lý gi i t i sao nhi u agent c n ph i h p v i nhau. ngôn ng giao ti p agent c nghiên c u và s d ng nhi u nh t là FIPA ACL. 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. c g i là nh ng ngôn ng giao ti p agent. l p k ho ch và àm phán a agent (multi-agent planning and negotiation). Ph i h p - - Ph i h p là m t ti n trình mà trong ó. 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. d a trên lý thuy t l i nói hành ng (Searle.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. 5.2. - 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). 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.

vai trò (roles) và quy t c (norms). các agent chia s nhi u tính ch t v i các i t ng nh óng gói (encapsulation). m t s ngôn ng h ng agent ã xu t hi n (Bordinietal. 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). 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). 2005) là nh ng ví d i n hình).. chúng có th có hành vi linh ho t. 2005) là nh ng ví d c a lo i này). 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. 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. 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. 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 th c t . Ngôn ng l p trình h ng Agent là m t lo i ngôn ng l p trình m i. 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. tr c ti p mã hóa m t s lý thuy t v agent. 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. k ho ch (plans). m ng truy n thông và ki n trúc agent (ví d nh JADE (Bellifemine et al. Tuy nhiên. 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). 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. 2005) và ngôn ng Jack Agent (Winikoff. M ts c thi t k t u. T i thi u.2006). Lê Minh H i_D07CNPM2 Page 14 . 2001. 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).)). 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. Ngoài ra. Ngoài ra. Nó t p trung vào nh ng c i m chính c a h th ng a agent. 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. 1998)).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 ó. m c ích (goals). Ngày nay. 2005) và Jason (Bordini et al. Ngoài ra. và ôi khi có c k th a (inherition) và truy n thông i p (message passing). m t s c ng có m c tiêu h tr các lo i ph n c ng. ngôn ng h ng i t ng c coi là m t ph ng ti n phù h p. 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.

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. c bi t. 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. mà còn c s d li u. 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. 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 . ph c t p. trong ó thông tin có nh ngh a rõ ràng. 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. 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.) Semantic Web là m t ph n m r ng c a Web hi n t i. 2005. Greenwood et al. 2001). 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 . Sycara et al. 2002.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. 2006. c bi t. Do ó. và c bi t quan tr ng dành cho các ng d ng công nghi p. d ch v . x lý thông tin l n trong các vi c k t h p các quy trình (Labrou. 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. 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. 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 v y. t các h th ng t ng i nh h tr cá nhân n các h th ng m . Negri et al. 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. 2003. 2002. cung c p các d ch v d a trên agent cho các Web Service s d ng. 2003). 2002). n a môi tr ng (languageneurtral. các agent ã c ch ng minh r t h u ích khi hành ng tr c ti p nh là Web Service.. ch ng trình. 6. c m bi n.. ch n l c. do ó cho phép s ph i h p gi a máy tính và con ng i t t h n. 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. Silva et al. Weikum. 2005.

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. d ch v v n t i (Neagu.Agents on mobile devices minh ti m n ng ban u c a nó. 2006).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 . và qu n lý m ng (Greenwood. Giao thông và v n t i c ng là m t l nh v c quan tr ng. C th .. Ví d . 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. s n xu t (Parunak. 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. 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 .. 1987). 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 . 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 . các agent có th c s d ng tìm ki m và l c thông tin. 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 . h có kh n ng chi tr bao nhiêu. 2003). 1994). 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. chu n oán h th ng (albert. Trong th c t . 2006). tr c s gia t ng c a th ng m i i n t .

. Hayzelden and Bourne. Trong th c t . 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. 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 . 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. Nh ng thành ph n ó c n ph i c theo dõi và qu n lý trong th i gian th c. 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. 2006). 2001. 2005). trong ó th i gian robot di chuy n là th c o chính tính chi phí. 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. 2001. 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.. H n n a. 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. 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 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. Vì v y. Greenwood et al. nhanh h n ho c áng tin c y h n. 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. 2006). 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. Lê Minh H i_D07CNPM2 Page 17 . 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. 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. ph c t p và c bi t quan tr ng.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... 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. c tri n khai và c s d ng thành công t i sân bay Sydney Australia. 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).

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.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. 2003). II. 2002). 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. Trong th c t . Gi i thi u v Jade Platform 1. Tuy nhiên. truy c p và qu n lý thông tin y t và h tr quy t nh. 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 . ACTS AC317). 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. nh có s h tr tài chính m t ph n c a y ban châu Âu (d án FACTS . v i nhu c u c n thi t c a hãng c công nh n b i chu n FIPA. 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. 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. Ban u. ch m sóc s c kh e ng i cao tu i và c ng ng.

M t khác. 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. http://jade.Agents on mobile devices i m ó bao g m c a Fabio Bellifemine. 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. Lê Minh H i_D07CNPM2 Page 19 . l n nh ng ng i m i vào ngh .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.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. Không gi ng nh GPL. 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.com. hay b t k công vi c d a vào nó. 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. nên c tr l i cho c ng ng d i gi y phép gi ng nhau. ví d mã. s a l i.  Cung c p các báo cáo l i và khi nào có th . Agostino Poggi và Giovanni Rimassa).tilab. và quy n thay i mã và làm cho c i ti n cho nó.  óng góp các add-ons m i và các module cho c ng ng. 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. gi y phép c ng òi h i r ng b t k tác ph m phái sinh c a Jade. 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.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. Jade có m t trang web. nghiên c u d án ho c khóa h c có s d ng Jade.tilab. 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. Hai a ch mail luôn s n sàng: jadedevelop@avalon.  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. và nhi u thông tin v cách s d ng Jade ang có s n. 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. ch a n m b t sâu s c c ki n th c v chu n FIPA. gi y phép LGPL không t b t k h n ch v ph n m m Jade s d ng. 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. 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. quy n c truy c p vào mã ngu n. và jadenews@avalon. ch a các ph n m m. tài li u.

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. 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. 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 . Motorola. Lê Minh H i_D07CNPM2 Page 20 .Agents on mobile devices t o i u ki n t t h n s tham gia c a công nghi p. 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. 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. Ngày nay. 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. Whitestein Technologies AG và Profactor GmbH có t t c tr thành thành viên H i ng. Khi Jade l n u tiên c công b b i Telecom Italia. Vào th i i m vi t. Công vi c này là m t ph n l n do Giovanni Caire.10211). Telecom Italia. 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. do ó. c coi là m t trong nh ng tính n ng hàng u c a Jade phân bi t. 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. 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 . 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. 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. France Telecom R & D. s s n có c a m t ch y Jaderun-time cho nh ng n n t ng J2ME-CLDC và CDC.

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 . Lê Minh H i_D07CNPM2 Page 21 .Agents on mobile devices 2. 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. V nguyên t c. 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 .

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. 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. khôi ph c và h y chúng. 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 . 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. 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. t m d ng. Nó i u khi n vòng i c a các agent b ng cách t o ra. M t Agent Platform ( AP ) hoàn thành là sau ó bao g m m t vài agent container. 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 .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.

bao g m các platform không ph i JADE.Agents on mobile devices i p c a agent. 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 . 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. 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. v i i u ki n là có m t agent container ang ch y. Ph n m r ng này s c a ra FIPA xem xét chu n oán. các agent t RMA có th cùng s d ng ki m soát nh ng agent platform khác. 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ó. 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. 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. T t c các thông tin liên l c gi a agent và GUI . GUI c th c hi n nh m t agent g i là RMA ( Remote Monitoring Agent ). 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. 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 . 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. Khi xu t hi n nh m t th c th duy nh t v i th gi i bên ngoài. Front End container c ng là m t máy ch IIOP.

i s d ng có th Lê Minh H i_D07CNPM2 Page 24 . 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. 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. 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. 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. 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. 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 i mà tài nguyên và i u khi n logic c phân tán trong môi tr ng. 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. 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 i vì JADE agent v a là nhà cung c p v a là khách hàng. 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. 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. 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. du l ch. qu n lý nhanh. 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. y T ng tác gi a hai h th ng: JADE tuân th các c tr ng c a FIPA. qu n lý u giá. qu n lí k t n i m ng.Agents on mobile devices 3. 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. qu n lý h tr . i u khi n giao thông. 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. Nó c g i là ho t ng chuyên nghi p.

. kh n ng ch p nh. Bên c nh ó JADE còn giúp gi m th i gian phát tri n các ng d ng. 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. h n ch h a và giao di n ng i dùng. UMTS. nâng cao kh n ng t ng tác c a các thi t b di ng.. 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.  tr m ng cao và b ng thông th p vào kho ng 9. H n ch h tr v k t n i m ng. III. b x lý 16bit. quay phim. 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. c m bi n ánh sáng. Môi tr 1.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. b nh gi i h n. 2. ng nh t. 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. 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. 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. - 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. 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.. 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 .  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. 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. WLAN). c m bi n gia t c. 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. t c th ng nh h n 200Mhz.6 kbps (GSM) n 128 kbps (GPRS) và 1 Mbps (HSDPA). 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. Lê Minh H i_D07CNPM2 Page 25 .

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 .

y JADE c vi t hoàn toàn b ng Java. 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. d án ã ch n JADE làm c s cho LEAP. 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. Vi c l a ch n này do m t s lý do sau: y Hi n nay. Ngoài ra. Sau vài tháng ánh giá.Agents on mobile devices Telecom Italia: Italia. 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. 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. hi n nay JADE ã c ch p nh n b i Lê Minh H i_D07CNPM2 Page 30 .

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 . Vi c cài t LEAP c c u hình nh m t Jade add-on.4 và nh ng b n JDK sau này. Add-on này th c ch t là thay th nh ng thành ph n c a nhân 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 t thành viên c a d án LEAP. nh kh n ng th c thi nhi u tác v ng th i (behaviours) trong m t lu ng Java n.Agents on mobile devices c ng ng ng i dùng. 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. y Cu i cù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. 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. y M t s tính n ng trong JADE. vi c phát tri n JADE c th c hi n b i Telecom 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. 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.0 Lê Minh H i_D07CNPM2 Page 31 .

k t n i. máy nh n tin« y Các thi t b nh (CDC ± Connected Device Configuration): chia s . thông tin. nh i n tho i di ng.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. mobile. 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. thông tin nh : internet TV. c nh. Lê Minh H i_D07CNPM2 Page 32 . C t th 2 t ph i sang ± m t trong nh ng thi t k cho i n tho i di ng. k t n i.

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. 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.

Trong khi ó. 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. Ví d l nh sau trong JADE: c thay th b ng Khi kh i ng JADE-LEAP. trong c dòng l nh l n trong màn hình giao di 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.1. 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. C ng không c n tài li u h ng d n v JADE-LEAP hay v API. Jade và Jade Leap T quan i m c a các nhà phát tri n và c a ng i dù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. ây là s thúc y chính d n n vi c có c phiên b n J2SE trong JADE-LEAP. Tuy nhiên có m t s khác nhau trong vi c qu n tr run-time.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. 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.Agents on mobile devices 2.jar và iiop. 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. 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. 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 (µ ¶). vì nh ng gì cung c p cho JADE u có th áp d ng cho JADE-LEAP.) c s d ng làm ký t phân chia ranh gi i khi kh i ng JADELEAP. trong khi d u ch m ph y (. Tuy nhiên. ký t (.  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 (µ ¶). 2.

M t ví d i n hình là IMTP.  Các l a ch n ±nomobility và ±dump không có trong JADE-LEAP  LEAP IMTP (xem ph n 1. Do ó. ví d l nh java jade. Do ó. nh ng v b n ch t bên trong chúng l i r t khác nhau.Boot s không làm vi c. tùy ch n ±agents ph i c s d ng. thay vào ó l nh java jade.2. 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. các tham s c a agent không ch a các ký t tr ng. M c dù JADE và JADE-LEAP khá gi ng nhau nhìn t bên ngoài.ICP). JADE-LEAP s d ng IMTP theo cách khác.  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.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ô. 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 . 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 . 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. Trong JADE-LEAP.Boot ±agents john:MyClass ph i c s d ng. 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. vì m t dòng l nh nh java jade. ó là d a trên giao th c JICP (Jade Inter-Container Protocol). Lê Minh H i_D07CNPM2 Page 35 .Agents on mobile devices c thay th b ng Khi kh i ng JADE-LEAP. Command Dispatcher là m t singleton và c chia s gi a m i container trong cùng JVM. Leap IMTP 2. IMTP trong JADE d a trên RMI và nó không phù h p v i các thi t b di ng.Boot xxxx c biên d ch v i xxxx là tên c a file c u hình. 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.

phiên b n SSL c a JICP ICP c cài t b i l p jade. và ICP d a trên HTTP c cài t b i l p jade. trong hình phía trên.imtp. vì có nhi u ICP có th c kích ho t trong Command Dispatcher. và do ó chia s Command Dispatcher. ICP m c nh d a trên JICP c cài t b i l p jade. Chú ý.leap.leap. o C u hình LEAP IMTP Lê Minh H i_D07CNPM2 Page 36 .JICPPeer.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..JICPSPeer.http. i u này ngh a là m t JADE-LEAP platform có th s d ng JICP..JICP. có th tìm ra nhi u a ch . JICP thông qua SSL ho c HTTP làm giao th c truy n thông gi a các container.imtp.JICP. 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://.imtp.HTTPPeer. nên m i contain ang c trú trong JVM c c b . Ví d . 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.

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. ví d : L nh trên kh i ng m t main container trong JADE-LEAP v i 2 ICP. S d ng Jade Leap 1. 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. ó 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. Thông th ng. Lê Minh H i_D07CNPM2 Page 37 . Do ó. 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.) (có d ng t ng t nh các c t agent ho c các c t MTP). các môi tr ng run-time c a JADE luôn c cài t v i các container. 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 (.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. 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. 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.

Agents on mobile devices Môi tr ng Jade runtime có th th c thi trong 2 ch khác nhau. 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. nh ng ph i t o m t t ng r t m ng g i là front-end. ng i dùng không c n t o m t container chu n. 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. Khi kh i ch y môi tr ng JADE run-time s d ng ch th c thi riêng r . 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 .

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. các thông i p ós c phân ph i t i ng i nh n d ki n.3. 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.Agents on mobile devices agent. k c container chính. Ngh a là. t o nên ch th c thi tách riê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 ó. Lê Minh H i_D07CNPM2 Page 39 . 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 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. 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. y Vi c s d ng các liên k t không dây c t i u hóa. nh ng ch cài t tr c ti p m t t p nh các tính n ng ó. n u k t n i gi a front-end và back-end b t. 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. 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. 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. Ngay khi front-end thi t l p l i k t n i.

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.  Tính di ng và s nhân b n agent không c h tr trong split container.core. Th m chí nó có th thay i mà không nh h ng n ng d ng. 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. 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 .  L p jade. vì ch th c thi tách riêng không t n t i trong JADE thông th ng.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.wrapper c thi t k i u khi n m t container c l p.MicroRuntime. vì các API mà chúng cung c p v b n ch t là gi ng nhau. 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. Tuy nhiên.Runtime và các l p trong gói jade. 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. 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.core. vì chúng luôn t ng tác v i back-end. Chú ý. B ng 8. 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. L p này rõ ràng ch có s n khi làm vi c v i JADE-LEAP.

T i th i i m này.4.2. 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. 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. cho phép split container v a c sinh rat ham gia vào platform.Agents on mobile devices hành vi ng b i l p jade. 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.LoaderBehaviour tr c tiên. 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.core. 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. Ng c l i.behaviours.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. tên c a platform và a ch c a platform«Bi u tu n t trong hình 8. 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. Front-end và backend sau ó s s d ng k t n i này cho m i t ng tác v sau. m i ng d ng ch y các agent trên i n tho i di ng c a ng i dùng ó.5 bi u di n th t c kh i ng split container. Lê Minh H i_D07CNPM2 Page 41 . 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 ph i ch y trên m t máy v i m t a ch cho tr c. back-end ng ký v i container chính. nh trong hình 8. 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. 2.

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. thì l a ch n ±local ± port s c xác nh. nh trong bi u tu n t hình 8. mediator duy trì m t b ng ánh x tên c a container v i các back-end t ng ng. Do ó. Yêu c u này có ch a tên c a container. n u mediator. Chú ý là trong c hai th t c kh i ng và k t n i l i. thành ph n duy nh t ch p nh n k t n i là mediator. 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). do ó cho phép mediator truy n k t n i n úng back-end. Ngh a là có m t mediator ch y c. 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. 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. Tuy nhiên. m i t ng tác v sau gi a front-end và back-end u không liên quan n mediator. 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.6.  BEManagementService trong LEAP add-on Lê Minh H i_D07CNPM2 Page 42 . 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. Yêu c u CREATE_MEDIATOR c s d ng cho vi c này.Agents on mobile devices Sau th t c kh i ng. container chính và các container khác (n u có) ang ch y d i m t t ng l a.

host và ±port. 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.exitwhenempty [true | false] khi thi t l p là true. M c nh là false. nh ng thông th ng. 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. 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. 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 . trong ó quan tr ng nh t là các tham s . Tuy nhiên. nh ng thay vào ó nó ch ra máy và c ng c a mediator. y . 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õ. 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 .agents<list of agent specifiers> v i container bình th ng. 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.Agents on mobile devices 3.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 . 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.

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

Cho ví d . B n th s mu n gói chúng c (yêu c u ch t o và biên .Agents on mobile devices N i devices có th .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.3. biên d ch. ho c midp. ki u:  Jaring buildLEAP j2se midp jar Lê Minh H i_D07CNPM2 Page 45 i th m c classes. j2se. 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. biên d ch cho j2se và midp platforms. Building Jars và docs. set JAVA_HOME=c:\jdk1. V i MIDP b n c n nh p v trí c a Java 2 Micro Edition Wireless Toolkit.properties.properties. to compile for j2se and midp platforms. pjava. và actions có th có m t vài th bao g m.  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. trong file buildLEAP. type buildLEAP j2se midp compile This produces hordes of class files under the classes directory. jar. so type.  Compiling So. ví d . # 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. You really wand to package them in jar files. và javadoc.

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. 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. úng v i tên g i.Công ngh J2ME 1. g n. 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.c n thi t cho vi c biên d ch. VI. J2RE . ch a các class c b n và b các công c l p trình.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. J2ME c phát tri n t ki n trúc Java Card.Agents on mobile devices K t qu JadeLeapJ2se. Page 46 Lê Minh H i_D07CNPM2 .1. Embeded Java và Personal Java c a phiên b n Java 1. J2ME là n n t ng cho các thi t b có tính ch t nh .B công c chu n biên d ch code J2ME c a Sun Microsystem.jar và JadeLeapMidp.

thi t b gi i trí gia d ng « 3.Agents on mobile devices y IntellJ IDEA . 2. r i thi t l p ng d n c n thi t trong IDEA t i v trí c a J2SDK. sau ó là IDEA. 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. 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 .Công c biên so n code Java thông d ng Th t cài t là J2SDK. J2RE và Wireless Toolkit ã cài. Lê Minh H i_D07CNPM2 Page 47 .thi t b tr giúp cá nhân) ‡ Các h p i u khi n dành cho tivi. ti p theo b i J2RE. J2ME c xây d ng b ng các t ng (layer) khác nhau. 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 . J2ME wireless toolkit. không c n quan tâm n ph n c ng th t s .

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 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ý. 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. 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 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. 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. ây là m t t p các API nh ngh a lõi c a ngôn ng J2ME.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. 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. 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.

s a ch . 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). Chu n hi n tr ng PDA là c t JSR . 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. Các s n ph m này có th k n nh các máy PDA c p cao. 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 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.75 và chu n bluetooth API là c t JSR . d ng nh cho phép ng i s d ng mua và t i v các ng d ng Java. 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. CDC. Ví d . các hi n tr ng k trên và t p các API ang c xây d ng. 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.  Lê Minh H i_D07CNPM2 Page 49 . 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 . 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. i n tho i web.82 v i JSR là vi t t t c a Java Specification Request. ví d nh là Midlet.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. 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 ). s h n. 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 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. Th c t .«). 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. MIDP nh ngh a các API riêng bi t cho thi t b di ng.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.

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. 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. 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. 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. 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ác thành ph n h tr giao di n ng i dùng « vào CLDC. 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. 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. 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. 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ó 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. dung l ng ch a có h n. 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 .1.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. C ng v i lý do ó. 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. 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 . Không có KVM.

có th có nhi u t p tin (*.t ng Lê Minh H i_D07CNPM2 Page 51 . 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.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).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.Mã bytecode ã biên d ch s c l u trong các t p tin *.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.class và s có m t t p tin *. Mã bytecode này s c KVM d ch thành mã máy. 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. 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. 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.java). 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.2. 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. 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. Nó cung c p c s h t ng cho t ng Hi n tr ng . 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. 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. Ng 3. 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.

0 c gán s JSR . Lê Minh H i_D07CNPM2 Page 52 . Quy nh CLDC phiên b n 1. m ng. và b o m t c nh ngh a trong CLDC. Các c t c a JCP c gán các s JSR (Java Specification Request). 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 . 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). 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.Agents on mobile devices này s ch a nhi u API chuyên bi t h n. M c tiêu c a J2ME là m t t p con 100% t ng thích c a J2SE. 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.30. 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. input/output.

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

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. Nh ng KToolbar. óng gói và th c thi các ng d ng MIDP.Agents on mobile devices WTK không ph i là m t IDE hoàn ch nh. 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. monitor và debug m i. Cài t b J2SE vào máy tí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. a ch t i J2SE http://java.2_01. ta m ch ng trình Lê Minh H i_D07CNPM2 Page 54 . 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.com/j2se/ Cài t J2ME Wireless Toolkit.sun.5. a ch http://java.sun.html Gi i thi u t o MIDlet b ng cách s d ng Toolkit: Sau khi cài xong b Toolkit . vào C:\WTK2.com/j2me/download.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. ‡ WTK 2.

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

JAR trong t p tin *. l u tr b n v ng (persistent storage). 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. (3)Project --> Package --> Create Package: Sinh ra t p tin *. 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. Nó không nh ngh a cách mà ng d ng c n p trong thi t b di 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 . (2)Build : Build t t c t p tin *. 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).JAD. timer.class.37. Ch p nh n các thay i.Agents on mobile devices Xoá tr ng "Icon" n u không có t p tin *. h a (m c cao và m c th p). ó là trách nhi m c a nhà s n xu t. và m ng. tuy n o n. MIDP( Moble Imfomation Device Profile) 1. ng quên th c hi n b c 3 m i khi rebuild ‡ ‡ VII. 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. Nó c ng không nh ngh a b t k lo i mô hình b o m t endto-end nào. Khi làm 3 b c trên.JAR và *. 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 *. 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.JAD s t úng.class và preverify. M t thi t b di ng có th h tr nhi u hi n tr ng.JAR và *. hay a lên WWW site download. MIDP cung c p các API cho phép thay i tr ng thái chu k s ng ng d ng. MIDlet( Mobile Imfomation Device applet) 2.PNG t vào t p tin JAR. (1)Project --> Clean: Xoá t t c t p tin *. 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.

và destroyApp().microedition. trong tr ng h p có cu c g i n). 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.Agents on mobile devices Hình 3. 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. Hình 4.MIDlet và th c thi (implement) các ph ng th c startApp().M t MIDlet là m t l p Java k th a (extend) c a l p tr u t ng java. d ng.midlet. Lê Minh H i_D07CNPM2 Page 57 . 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. 2) Ph n chính c a MIDlet: MIDlet c nh ngh a nh m t l p k th a l p MIDlet. Có th ch có m t l p trong ng d ng k th a l p này. pauseApp(). và t m d ng MIDlet (ví d . Trong ví d này MIDletExample là b t u c a ng d ng.

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. Nói chung. Chu kì s ng c a MIDlet Khi ng i dùng yêu c u kh i ng ng d ng MIDlet. 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. Lê Minh H i_D07CNPM2 Page 58 . nó s c xem là ang tr ng thái t m d ng. 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. Ph ng th c destroyApp() ch nh n m t tham s Boolean. 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. 3. Hàm destroyApp() ch có th g i t tr ng thái ho t ng hay t m d ng. N u tham s là false. Nó không th t s xóa ng d ng kh i i n tho i di ng. Hàm startApp() có th c g i nhi u l n trong su t chu k s ng c a ng d ng. 6) destroyApp(): Ph ng th c destroyApp() c g i khi thoát MIDlet. Có th nh n các s ki n timer. B qu n lý ng d ng g i hàm t o và hàm startApp(). MIDlet c t t vô i u ki n. 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. 4. và m i khi MIDlet tr v t tr ng thái t m d ng. N u tham s này là true. 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á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(). (ví d khi nh n nút exit trong ng d ng).  H y (Destroyed): Ph ng th c destroy() c g i. trong tr ng h p có cu c g i ho c tin nh n n). Nó ch n thu n là thoát MIDlet. Hàm t o s không c g i l i tr phi MIDlet thoát và sau ó kh i ng l i. b qu n lý ng d ng s th c thi MIDlet (thông qua l p MIDlet). 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.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. Khi ng d ng th c thi.

 Ví d : Khi MIDlet t m d ng.  Ví d : X lý nút nh n Exit 5. và d li u l u tr b n v ng. và m t s ki n timer xu t hi n.  notifyPaused(): Cho bi t MIDlet t nguy n chuy n sang tr ng thái t m d ng. Các MIDlet trong m t b MIDlet chia s các l p.  Ví d : Khi i m t s ki n timer. các hình nh. toàn b t p tin JAR ph i c c p nh t Lê Minh H i_D07CNPM2 Page 59 .  notifyDestroyed(): S n sàng h y. 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). c p nh t m t MIDlet.Agents on mobile devices Hình 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.

MIDlet2. Mobile Agent 1. 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 ó. 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 .Agents on mobile devices Hình 4. 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. 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. mang theo mã c a ch ng trình th c thi t i nh ng v trí này. Bi u di n hai b MIDlet Trong hình trên. S ti n hóa t các mô hình ng d ng phân tán Theo truy n th ng. B kia ch ch a MIDlet4. Lê Minh H i_D07CNPM2 Page 60 . 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. hình nh. và d li u c a chúng. m t b MIDlet ch a MIDlet1. 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). VIII. Ng c l i. Trong mô hình REV. và MIDlet3. MIDlet4 c ng không truy xu t c các l p. 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. Các mô hình giao ti p này th ng ph i ng b .

Hình 1 cho th y s khác bi t c a Mobile agents so v i RPC và REV.Agents on mobile devices Mobile agent [LAN-98] là danh t ghép gi a agent (tr lý) và mobile (di ng). các mobile agent óng gói mã ngu n. 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ó. 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]. 2. di chuy n sang máy khác và khôi ph c l i s thi hành t i máy ích. Có nhi u h ng ánh giá v s t tr c a agent. d li u và c tr ng thái thi hành. 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. 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 .

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.midlet. Kh n ng t tr c a agent ch y u c quy t nh b i tri th c trang b cho agent. Kh n ng di ng c a m t agent c phân thành hai lo i.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.until.util. IX. Kh n ng c ng tác(collaboration): là kh n ng liên l c. JADE-LEAP phiên b n MIDP c c u hình nh m t b MIDlet: y Jade. c th là trong classpath. [FUG-98].lep. 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. Gi i nén m i l p c a JADE-LEAP Ti n xác minh Lê Minh H i_D07CNPM2 Page 62 . 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.lead. 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.0 ho c cao h n thì phiên b n MIDP c a JADE-LEAP ph i c s d ng. 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.microedition.MicroBoot : MIDlet này kh i ng font-end c a split container y Jade.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. 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. và c m nh n c s thay i c a môi tr ng. tri n khai các ng d ng trên thi t b di ng có MIDP . 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. 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 .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. 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.

S a file JAD ch a URL và size Jar úng. JADE-LEAP cung c p hai kh n ng. 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.Tuy nhiên vì i n tho i có cài MIDP không có c a s dòng l nh. nên ta c n m t cách xác nh các tham s này. 2. 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.

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

5. ây là m t ti n ích ki m tra l i nh ng cái ã in ra 2.OutputViewer. 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.3.cài t bi n môi tr ng cho jade . 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.leap.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.5. c th là front-end c a JADE-LEAP. th i i m kh i ng. L a ch n agents b o JADE-LEAP kh i ch y book buyer agent trong th i gian kh i ng. H ng d n ch y ch ng trình BookTrading Cài t classpth .MicroBoot. B MIDlet c ng ch a MIDlet jade.util. book buyer agent s có tên <user-phone-number>-book-buyer. Trong tr ng h p này. L a ch n exitwhenempty b o JADE k t thúc ngay khi ng i dùng óng book buyer agent. %C c s d ng gán tên cho book buyer agent ang c kh i ch y.cài t bi n môi tr ng cho jdk Lê Minh H i_D07CNPM2 Page 65 .

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

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