Trong quá trình nehiên cứu, phái iriển về tác tử và các phần mềm thông minh hướng tới khả năng hỗ trợ con người trong việc ra quyết định đế giải quyết các bài toán phức tạp thi có rất nhiều hướng phát triển. Những bài toánn này đều xuất phát từ những yêu cầu thực tế cần phải giải quyết. Nhưng việc tìm ra một phương pháp luận thống nhất để xây dựng các hệ đa tác tử vẫn là một bài toán chưa có lời giải thỏa đáng. Trong quá trình đi tìm lời giải dó thì có rất nhiều trung tâm nghiên cứu trên thế giới đã đưa ra nhừng phương pháp luận những công cụ để giải quvết những bài toán cụ thể của mình và cùng hướng tới một mục tiêu là phương pháp luận này sẽ hướng tới việc giải quyết các bài toán một cách tổng quát và hỗ trợ nhiều công cụ nhất cho người phát triển và đạt được hiệu quả cao đối với người sử dụng. Qua quá trình nghiên cứu và phát triển thì JADE tỏ rò là một hệ đa tác tử có những tính năng nổi trội và rất phù hợp cho việc phát triển các bài toán đám phán và bài toán về thương mại điện tử,đây cũng là phần công nghệ được đưa ra giới thiệu và áp dụng trong việc xây dựng một ứng dụng mô phỏng trong luận văn nàỵ
JADE (Java Agent DEvelopment) là một phần mềm nền được viết hoàn toàn bằng nơôn nạữ Javạ Nó làm đơn giản hóa quá trình thực hiện của các hệ thống đa tác tử thông qua một lớp e;iữa và lớp giữa này tương thích với các đặc tả cua chuân FIFA đồng thời hỗ trợ một
loạt các công cụ dồ họa trợ giúp cho các giai đoạn gỡ lồi và triên khaị JADE là một phần mềm miền phí va dược phân phối bới phòng thí nghiệm T e ỉe c o m 1 taJiăhttp://iadẹtikih.com).
4. L ĩ - Đặc điểm của JA D E•
- JADE Có cơ chế xử lí phân tán. Platform các tác tử có thế được cài đặt lên nhiều máy chủ và chúng có thể kết noi vói nhau nhờ RMI4 do Java hỗ trợ. Chỉ cần duy nhất một máy ảo Java chạy trên mỗi máy chủ. Các tác tử thực hiện như các luồne của Java và chúng được chứa trong Agent Containers. Agent Containers là môi trường hỗ trợ cho quá trình thực hiện của tác tử.
- JADE có giao diện đồ họa hồ trợ việc quán lí các tác tử và các Agent
Container trên những máy chủ ở xạ
- JADE có các công cạ gỡ lỗi hỗ trợ cho việc phát triển các ứng dụng đa tác tử chạy trên nền JADẸ
- JADE hỗ trợ platform tác tứ di động, gồm có tính năng dịch chuyến các trạng thái và mà của tác tử khi cần thiét[ ! 9].
- JADE hỗ trợ việc thực hiện các hoạt động có tính chất phức tạp, xử lí song song và xứ ỉí tương tranh thông qua mô hình behavior. JADE lập lịch cho các hành động của tác tứ
- JADE có cấu trúc platform tương thích với chuẩn FIPA, gồm AMS
(Agent Management System- Hệ thống quán ỉ í tác từ), D F (Directory
F a c i l i t a t o r), v à A C C (A g e n t C o m m u n ic a tio n C h a n n e l- K ê n h g i a o tiế p
cùa ỉảc từ). Ba thành phần này được khởi tạo lúc khởi động nền của
hệ tác tử.
- J A D E có hhiều D F tương, thích với FIPA có thể thực hiện các ứng dụng đa miền, ở đây một miền là một tập họp logic các tác tử, các
tlịch vụ cua chíinu dược quánẹ bá lỉiông qua một tác nhân điều phối chung. Mồi DF kế ill ira một t>iao diện dồ họa và tất cả tương thích với chuẩn FiPĂVI): khả nãnẹ dánti kị luiy dănii kí, sửa đối, lìm kiếm dựa trên các mô tá của tác tứ và khá năng kết hợp lại bên trong một mạng DF).
- JA D E có quá trình truyền các ihônii diệp ACL tron" cùng một nền là rất hiệu quá. Các thông điệp trao dối được mã hóa như là các đối tượng của Java nhàm tránh nhìrnu sai lầm trong quá trình truyền thông. Khi truyền ihỏne điệp gỉ ira cúc nền các thông diệp sẽ được chuyển đổi sang dạng cú pháp tương thích với chuẩn F1PA, nó sẽ được mã hóa và thiết lập một giao thức truvền thông. Sự quy đối này rất đơn sian và naười lập trình chi can quan tâm tới việc eiai quyết các mối quan hệ của dối tượng.
- JA D E hồ trợ llnr viện các giao thức giao liêp tương tác theo chuẩn FIPA có sẵn đế sứ dụng.
- Các tác tử có thể tự động đăng kí hoặc hủy dăng kí với AMS [19].
4.1.2 - Kiến trúc cùa JA D E
4.1.2.1 - Agent Platform
AMS(Ai»ent Management System: I lệ thong quail lí tác tir): là tác tir được dira vào đê giám sát va diêu khiên việc Imy cập, sứ dụng Agent Platform. Chi có duv nhất một A .VIS tronLì, một platform Mỗi tác tử phải đăng kí với AMS dê nhận một AID( Agent IDentiíìer).
D F (Directory Facilitator) là lác tử CUI1G, cấp các thông tin dịch vụ tronạ Plat form la có thê hiêu nỏ như ỉà dịch vụ cunu câp tranü vàng theo nghĩa một tác lử có thê tìm thây các tác tử khác cung cấp dịch vụ. Message Transport System (CÒI1 uọi là Aíient Communication Chanel (ACC): Kênh giao tiếp tác tứ) là thành phần kiêm soát tất cá các quá trình trao đối thông diệp bên trong hệ thống tác tử, gồm các thông điệp chuyên đến và chuyên di các platform ó' xạ
4.1.2.2 - Container và Main Container
Mồi một môi trườnạ thực thi JADE được ÍÌỌÌ là một Container vì nó chứa một số tác tứ. Tập hợp các Container đang hoại động được gọi !à một Platform. Luôn có một Container đặc biệt luôn hoạt động để các container khác chạy trong platform đăng kí việc hoạt động và các thôna tin đặc biệt đặc biệt dược gọi là Main Container. Hình vỗ phía dưới mô tả hoạt động cua hệ thống phân lán các tác tử hoạt động trong cùng một Platform trên mạng.
b \o<A i ũ X* T 5T * o J "X “ “ •r rỉ ! -• I I r H o« S RMỈ Re Ĩ!'-try
Jade Mam Container
Ja d e distributed Agent Platform
Jade Agent Ccutainei Jade Agent Container
■TRE - .2 TîŒ : :
N e n v c i l : ü r o to c o l i t a c k
Hình 21. Ja d e chạy trên nhiều host
Nốu có một Main Container khác ơ dâu dó trên mạng thì nó sè thiết lập thèm một Platform để các Container khác có thể đăng kí và tạo thành mô hình multi-platform. ( a i ) ( o f ) : Q ) P ” ) Đượ«: đ á n g ki v ớ i C ontainer 2 P la tfo rm 1 (ẠIVIS r x ._ J _ L .. |[v]ain C o n t a in e r m■- -I - F 'lU 'O t I 'l.S n q KI V Ơ I ( A2 ) ( A3 ) Ẽ "[c o n ta in e r í ỉ P la tfo rm 2
Hình 2 2 mô la mô hình mul ti -p la ii bnn : l á c tư A 2 , A 3 năm Irong container 1, A4 nám troim Container 2 , tác tứ A M S , AI và Dĩ' nam
tron g Main Container. Củ 3 Container này nam trên cùng một
Platform I và chúng chạy trên các m á y tinh khác nhaụ A5, AMS, DF năm trên một Main Container khác thuộc Platform 2 hệ thống nàv giao tiếp với nhau qua mạng vật lị
4.1.2.3 - Giao tiêp cùa các tác tử
Một trong những đặc điểm quan trọng nhất của JADE là cung cấp khả năng giao tiếp. Mỗi tác tử có một hàng đợi liru các thông điệp, hàng đợi này sè là nơi JADH Runtime gưi các thông điệp cửa các lác tử khác gửi vàọ Bất cứ khi nào có một thông, diệp dược dira vào trong hàng đợi thi tác tử nhận thông điệp sè được thông báọ Khi nào thì lấy thông điệp ra khỏi hàng đợi đế xứ ií thì hoàn toàn phụ thuộc vào người lập trình diều khiển việc thao tác của tác tử lúc viết mã cho nó.
: _L,1V thon" «lier» tú h.1112 đọi va xử li
' OhiiiM bi ẹui liiónạ điẹp cho AI ■ / ■ s \^
/ .____,
’ A ^ ■
v : y * - 1
rui Miona <1ie j> \ M0 fions 11.111” tloi cun A2
Hình 23. Mô hình gửi thông tin và xử lí thông tin
4.2 - Xây dựng ứng dụng mô phỏng h ệ thố Mị mua và bản
4.1.3.1 -H ệ thong mua và bán
Trong quá trình mua bán trên thị trường thi có nhiều nhà cung cấp bán cùng một loại mật hànẹ nhưng với ỉĩiá khác nhaụ Ní>iíời mua thì
muốn mua một mặt với chi phi iluip nhaị C ò n người bán thì muốn bán những mặt hàng mình có troim khọ
Vậy bài toán đặt ra là như sau:
Xây dựng một hệ thông tự clộnu đàm phún với hai kiêu tác tư đại diện cho người mua vả ngirời bán ihụv hiện quá irình dàm phán đê dạl được kết quả mong muốn.
SellerAgent - tác tứ bán hàng: Đóng vai trò người bán hàng - Tác tử này muốn bán nhìriiũ mặt hàng có trong khọ - Các mặt h à n Ị có ỉiiú khác nhaụ
- Tác tứ bán phai thôim bao nhừn« mặt hàng mình có đế người mua có thê tìm thâỵ
BuyerAgent - tác tứ mua hànu: Đóng vai trò người mua hàng
- Tìm kiếm: tỉm kiêm lái ca các tác tư Seller Agents - tác tứ bán hàng.
- Đua ra đề xuất: hỏi tấl ca những tác tử bán về giá cả của một mặt hàng.
- Tác tử bán sẽ đưa ra nluìnu ũiá chào hàng khác nhaụ - Tác tử BuyerAạent Lilli một dơn dặt hànẹ cho tác tử bán
SellerAgenl mà mặt hànu được bán ra với oiá rẻ nhất. Từ những mô tả này chúng la có thê áp dụng mô hình bài toán đàm phán tương tranh và phương pháp lìiãi bài toán này đê xây dựng hệ đa tác tử.
4.1.3.2 - Kiến trúc hệ thống mua ~ báu
Các tác tử bán sẽ cung cấp những mặt hàng muốn bán ỉên hệ thống thông qua DF của JADẸ
C á c lác tư m ua muốn mua hàng theo \êu câu sẽ tìm k iế m tron” D F nhừnii mặt h à n s theo yêu cầu, sau khi tìm thấy mặt hàng cần thi tác tử
bán sè lim đến những tác tư num dô hoi giá (đàm phán). Trong số nhừng người bán cúnụ, loại mặt hàrìũ thi tác tứ mua sè lìm ra mặt hàng nào có chi phí thấp nhất thì sẽ thực hiện muạ
B u y e rA g e n t 1 S e lie -A g e n í 1 Sel le ' A g e n t 2 Q u á n g bá S e ũ e r A g e n t 1 : • T O E F L - H e a d w a y - SellerAgent 2: • T O E F L - C D - V O A - C h i P h è o • T h e p đã :ò - jn é đ á y B u y e rA g e n t 2 S e lle rA g e n t 3 I c ã c d|Ch v ụ có th ề c u n g cắ p ch o kh ã ch h à n g S e i l e r A g e n t 3: Ị- Ja va p .-o g ra m m r.g - T h in kin g *n c + + 10 s - C ỉf O b je c t O rie n te d Pro • P H P & M y S Q L I Ị Tiin kiém ‘ th e o yẻ u c ả n Ị B u y e rA g e n t 3 A O l d 'VỊI c u n g cáp c á c đ ã n g Ki *1
■Thirc h ié n đ á m phan-
Hình 24. Mô hình túc úi’mua - bán
Ví dụ: SellcrAgent 2 và SellerAgent l trên hỉnh vẽ giao bán các loại tài liệu trône đó chúng cùng bán loại lái liệu có tiêu đề là : TOEFL Sau khi một lác tư BuyerAgent ] cần tim loại lài liệu nàỵ Nó sẽ tìm thấy 2 tác tử bán sách và nó sẽ ihực hiện công việc hoi giá của 2 tác tử và chọn ra tác tứ nào bán với giá tháp nlìàt thì sè thực hiện muạ
4.3 - Mot số hình ảnh về hoai đông của tác tử mua và bán• ♦ « o
Khởi tạo JADE* platform vả tác tử bán đầu tiên có tên là nguoỉbanì
C:snarketplace>jaua jadẹBoot nguoihanlsSellerflgent
Apr 27, 2006 11-04:30 AM jadẹcorẹRuntime betfinContaineí
INFO : ---
This is JADE3.4 - revision 5874 of 2006/03/09 14:13:11 downloaded in Open Source, under LGPL r e s tric tio n s , at h ttp ://ja d e .tila b .c o m /
Apr 27, 2006 11:04:31 AM jadẹcorẹBaseSeruice i n i t
INFO: Service jadẹCDM.management-ftgentManagement in it ia liz e d flpi* 27, 2006 11:04:31 ftH jade .corẹBaseService i n i t
INFO: Service jadẹcorẹmessaging.Messaging in it ia liz e d ftpr 27, 2006 11:04:31 fiM jadeTcorẹBaseSerüice i n i t
INFO: Se 1*Wice jadẹcorẹnobilitỵA gentM obility in it ia lis e d
Apr 27, 2006 11:04:31 AM jadẹcorẹBaseSeruice i n i t
INFO: Seíuice jadẹcorẹevent.N otification in it ia lis e d
Opr 27, 2006 11:04:32 AN jade-corẹmessaging.MessagingSei*uice hoot
INFO: MTP «adressés: 7
ht t p :/ / t ran huncf : 7778/ac c
ftpi* 27, 2006 11:04:32 .ftM jade .pqre .AgentContainerlmpl jo in P la tfo rn INFO: ---— ---
flgent container Main-GontaineíữJflDE-IHĨP://ti*anJiung is readỵ
Hình 25. Túc tử nguoibanỉ tham gia vào h ệ thống
Cửa sô nhập liệu đê nhập tên hànụ và uiá liền của mặt hàng do người bán 1 cuna cap.
Ten hany: Gia tíert:
Thom moi
Hình 26. Giao diện cập nhật thỏriíỊ tin hàng h óa và giá cá
Danh sách các hàng hóa và giá tiền của nụười bán được nhập vào kho NFO:---— ---
This is JADE3.4 - revision 5874 of 2006/03/09 14:13:11 downloaded in Open Source, under LGPL r e s tric tio n s , at h ttp :/V ja d e .tila b .c o n /
lay 16, 2006 4:27:44 PH jadẹcorẹBaseSeruice i n i t
NFO: Service jadẹcorẹmanagement-AgentManagenent in it ia liz e d lay 16, 2006 4:27:45 PM jade-corẹBaseSeruice i n i t
NFO: Service jadẹcorẹmessaging.Messaging in it ia liz e d
lay 16, 2006 4-27:45 PM jade-corẹBaseSerwice i n i t
NFO: Service jadẹcorẹ nobilitỵA gentM obility in it ia liz e d
lay 16, 2006 4-27:45 PM jadẹcorẹBaseSeruice i n i t
NFO: Service jadẹcorẹevent.N otification in it ia liz e d
lay 16, 2006 4-27:45 PH jadẹcorẹmessaging.MessagingSeruice boot
NFO: MIP ađresses -
It t p : //t I*an hun g : 7778/ac c
lay 16, 2006 4:27:45 PM jadẹcorẹAgentContainerlmpi joinPlatform
NFO: ---—- —- - - —
Igent container Main-Contaỉnep0JflĐE-ỊMTP://tranliung is readỵ
- Mat hang: CD CO gfia tie n = 8000 duoc then vao kho hang
- Mat hang: UCD CO gria tie n = 1200 duoc then vao kho hang
- Mat hang: DUD C D gia tie n = 13000 duoc then vao kho hang
- Hat hang: CDUC C O gia tie n - 10001 duoc then vao kho hang
Kh ới tạo tác tử và nt>irò'i bán thứ 2 với nluìnụ thao tác nhập liệu tương
C:\t1aíketplace>java jadẹBoot -container nguoiban2:Sellertìgent
Hay 16, 2006 4:32:40 PM jade .corẹRuntime beginContainer
INFO: _
This is JADE3.4 - revision 5874 of 2006/03/09 14:13:11 downloaded in Open Source, under LGPL r e s tr ic tio n s , at h ttp ://ja d e .tila b .c o in /
May 16, 2006 4:32:40 PM jadẹcorẹBaseService i n i t
INFO: Service jadẹcore .management-flgentManagenent in it ia lis e d May 16, 2006 4-32:40 PH jadẹcorẹBaseSergice i n i t
INFO: Seruice jadẹcorẹmessaging.Messaging in it ia lis e d Nay 16, 2006 4:32:41 PH jadẹcore-BaseSerwicẹ i n i t
INFO: Service jade .core .nobilitỵA gentM obility in it ia lis e d
May 16, 2006 4:32:41 PM jadẹcorẹBaseSeruice i n i t
INFO: Service jadẹcorẹevent.N otification in it ia liz e d
May 16, 2006 4:32:42 PH jade .cpt»e -Agent Container I npl joinPlatform
INFO : ---
Agent container Container-10JflDH“ IHIPs//ti*anhung is readỵ
- Mat hang: CD C O gia tie n = 3000 duoc then Mao kho hang
- Mat hang: UCD CO gia tie n = 1201 duoc them uao kho hang
- Mat hang: DUD CO gia tie n = 15000 duoc then vao kho hang
- Mat hang: CUDC CO gia tie n = 1000 duoc then vao kho hang
Hình 28. Danh sách hùng hóa rà giá cá cua tác tử bán thứ 2
Tác từ mua có lên là nguoìnuta cần tìm mua mặt hàng đĩa CD. Sau một thời gian tìm kiếm và kết quả cua quá trình đàm phán giao dịch là như hình dướị
dpi* 2?, 2006 11:22:58 fill jadẹcorẹBaseSeruice in it
INFO: Seru ice jadẹcorẹmanagement. Agentflanagenent in i t ialiaed
Apr 27, 2006 11:22:58 AM jadẹcorẹBaseSerụice in it
INFO: Seruice jadẹcorẹmessaging.Messaging in itia lize d Rpi‘ 27, 2006 11:22:58 fitt jadeTcorẹBaseSeriice in it
INFO: Service jadẹcorẹmobilitỵftgentMobility in itia lize d Apr 27, 2006 11:22:58 fill jadẹcorẹBaseService in it
INFO: Service jadẹcorẹevent.Notification in itia lise d
Apr 27, 2006 11:22:58 AM jadẹcoíẹftgentContainerlmpl joinPlatform
INFO: ---