Nhƣ đã đề cập trong phần đầu về phƣơng pháp và công cu ̣ phát triển , phƣơng
pháp luận đƣợc đƣa ra ở đây không cố gắng để đạt đến mƣ́c thực thi, và những vấn
đề có liên quan nhƣ triển khai và kiểm tra. Tuy nhiên, bằng việc hoàn thành những bƣớc phân tích và thiết kế, ngƣời thiết kế hệ thống đa tác tử nên cân nhắc việc sử
dụng môi trƣờ ng phát triển JADE nhƣ thế nào. Nhƣ vậy, ngƣời thiết kế các hệ
thống có thể xử lý bằng cách tra cứu một bộ sách hƣớng dẫn các APIs. Hơn nữa,
việc phát triển công cụ sản xuất mã tự động để xuất ra mã dựa trên những kết quả
của giai đoạn thiết kế sẽ rất có ích, và do đó, sẽ đƣợc giƣ̃ lại nhƣ là mô ̣t tiê ̣n ích cho
công việc sau này. Thêm vào đó , cuối cùng thì việc phát triển một hệ thống đa tác
tƣ̉ sử dụng JADE đƣợc thực hiện thông qua ngôn ngữ Java, do đó quá trình phát triển nên theo sát các thực hành mã hóa của Java chuẩn.
3.6. Ứng dụng các nền phát triển tác tử khác.
Những nội dung đƣợc trình bày trong các bƣớc phân tích và thiết kế có thể
đƣợc áp dụng vào những nền phát triển khác nhau. Đặc biệt các khái niệm về các hành vi của tác tử, ontology, các tƣơng tác giữa các tác tử, việc lựa chọn ngôn ngữ nội dung, v.v... tất cả đều là những khái niệm trừu tƣợng của hệ đa tác tử. Do đó, có
thể đƣợc áp dụng tất cả nhƣ̃ng kết quả trên vào các nền khác, các môi trƣờng hỗ trợ
những khái niệm nhƣ vậy. Nên chú ý rằng, nếu sử dụng các môi trƣờng tƣơng thích FIPA (giống nhƣ JADE) thì việc áp dụng phƣơng pháp luận này có thể sẽ dễ dàng hơn. Hơn nữa, nhƣ đã đề cập trong một số phần của phƣơng pháp luận, những bƣớc
trong giai đoạn phân tích và thiết kế có thể coi nhƣ một hƣớng dẫn mang tính điển
hình và có thể gỡ bỏ hoặc thêm vào những bƣớc khác nếu thấy cần thiết.
3.7. Kết luận
Nền tảng JADE là một nền tảng dựa trên FIPA phổ biến cho việc xây dựng các hệ thống đa tác tử. Tuy nhiên, trƣớc nền tảng này, chƣa có phƣơng pháp luận chính
thức nào đƣợc đƣa ra cho việc phân tích và thiết kế những hệ thống đa tác tử . Phƣơng pháp đƣợc trình bày trên đây chỉ đƣa ra những hƣớng dẫn cơ bản, cùng với những sách hƣớng dẫn và những nguồn khác đƣợc cung cấp bởi đội phát triển JADE và các cộng tác viên, cho phép ngƣời thiết kế hệ thống xây dựng đầy đủ một hệ thống đa tác tử từ những yêu cầu thực tế. Phƣơng pháp luận đƣợc đƣa ra cho rằng, một giải pháp dựa trên tác tử đã đƣợc lựa chọn nhƣ là sự lựa chọn tốt nhất từ một loạt các tùy chọn. Phƣơng pháp luận đƣợc đƣa ra không gợi ý về việc khi nào thì một giải pháp dựa trên tác tử nên đƣợc sử dụng, mà chỉ cung cấp những tham khảo mà có thể đƣợc tra cứu khi một ngƣời thiết kế nghĩ đến một giả pháp dựa trên tác tử.
Phƣơng pháp luận đƣợc đƣa ra đã đƣợc trình bày nhƣ một chuỗi các bƣớc, trong đó bao gồm những nguyên tắc cho việc tạo ra các yếu tố nhân tạo, những quy tắc mang tính kinh nghiệm, những ký pháp và những mẫu thiết kế để ngƣời thiết kế sử dụng và áp dụng vào tình huống riêng của họ khi cần thiết. Vì phƣơng pháp luận không phải là mô ̣t chuẩn chính xác nên không nhất thiết phải tuân theo nó một cách cứng nhắc mà chỉ nên dùng nhƣ một công cụ hƣớng dẫn trong qúa trình phát triển. Thêm vào đó, ngƣời thiết kế đƣợc khuyến khích sử dụng trí tƣởng tƣợng của chính họ, và thêm vào hay loại bỏ các bƣớc nếu họ muốn, nhằm mục đích điều chỉnh phƣơng pháp luận đã đƣợc đƣa ra sao cho phù hợp với mục đích của họ. Việc đi theo các bƣớc trong phƣơng pháp luận nên là một tiến trình chủ động và ngƣời thiết kế nên luôn luôn lặp lại các bƣớc và di chuyển đi lại giữa quá trình phân tích và thiết kế khi cần thiết.
Chƣơng 4 - VẬN DỤNG THỬ NGHIỆM BÀI TOÁN GIAO DI ̣CH THƢƠNG MẠI ĐIỆN TỬ
4.1. Phân tích bài toán
4.1.1. Mô tả bài toán
Với mục đích minh họa một cách cụ thể cách thức ứng dụng các bƣớc phân tích
và thiết kế một hệ đa tác tử trong thực tế, luận văn sẽ đƣa vào bài toán giao dịch
thƣơng ma ̣i điện tử để làm ví dụ. Yêu cầu của một bài toán là đơn giản:
Ngƣời bán có thể bán đƣợc với giá cao nhất có thể.
Ngƣời mua có thể mua với giá thấp nhất có thể.
Xây dựng một hệ đa tác tử mô phỏng hoạt động của một sàn giao dịch hàng hóa điện tử cho phép thực hiện các giao dịch tự động trên đó. Đây là mô ̣t bài toán lớn có đô ̣ phƣ́c ta ̣p cao . Hơn nƣ̃a , công nghê ̣ tác tƣ̉ hiê ̣n vẫn đang trong quá trình phát triển. Viê ̣c tiếp câ ̣n với các nguồn tài liệu cũng nhƣ các kết quả đầy đủ của các nghiên cƣ́u về tác tƣ̉ gă ̣p nhiều khó khăn . Vì vậy có rất nhiều khó khăn trong việc nghiên cƣ́u và thƣ̉ nghiê ̣m . Trong pha ̣m vi của luâ ̣n văn , tài liệu không có tham vọng giải quyết triệt để các vấn đề của bài toán mà chỉ dừng ở mức mô hình hóa bài toán dƣới dạng hệ đa tác tử, phân tích nhƣ̃ng thành phần cơ bản nhất trong bài toán.
4.1.2. Mô hình hóa bài toán dƣới dạng hệ đa tác tử.
Cũng xuất phát từ việc nảy sinh nhu cầu sử dụng dịch vụ:
Một tác tử sẽ đóng vai trò khách hàng và đƣợc gọi là tác tử sử dụng dịch vụ.
Tác tử sử dụng dịch vụ có nhiệm vụ là tìm kiếm đƣợc dịch vụ thỏa mãn tốt nhất các yêu cầu của khách hàng với chi phí nhỏ nhất.
Một tác tử đại diện cho nhà cung cấp dịch vụ (tác tử cung cấp dịch vụ). Mục tiêu của tác tử cung cấp dịch vụ sẽ là bán đƣợc dịch vụ đem lại lợi nhuận cao nhất cho nhà cung cấp dịch vụ.
Tác tử môi giới làm nhiệm vụ môi giới trung gian cho hai tác tử kia có thể
gặp nhau. Từ môi giới ở đây đƣợc sử dụng với ý nghĩa là trung gian, không có ý nghĩa trong quá trình đàm phán nên phần sau sẽ không đƣợc đề cập tới.
4.1.3. Phân tích chức năng nhiệm vụ
a) Các dạng thông điệp của tác tử cung cấp dịch vụ
Tác tƣ̉ cung cấp dịch vụ có thể gửi đi các thông điệp có performative thuộc
dạng {nhận, đề-xuất, cập-nhật, tìm-kiếm} là tập các thao tác mà tác tử cung cấp
dịch vụ có thể thực hiện trong quá trình thƣơng lƣợng.
Đề-xuất: đƣa ra một đề xuất cho tác tử sử dụng dịch vụ.
Nhận: tiếp nhận một đề xuất từ phía tác tử sử dụng dịch vụ.
Agent bán Agent mua
Agent môi giới Đƣa đề xuất Trả lời Danh sách agent mua Đăng ký bán Đăng ký mua Danh sách agent bán
Tìm-kiếm: tìm kiếm một sản phẩm từ cơ sở dữ liệu tri thức của nó để thỏa mãn tập ràng buộc của ngƣời mua. Nếu có nhiều sản phẩm thỏa mãn, sản phẩm có mức độ chấp nhận cao nhất sẽ đƣợc chọn. Nếu không tìm đƣợc sản phẩm, tác tử sẽ tìm kiếm sản phẩm “xấp xỉ” nhất đối với các ràng buộc.
Cập-nhật: sửa đổi các ràng buộc trong tập ràng buộc hiện tại. Trong quá trình đàm phán, thao tác này đƣợc thực hiện một cách liên tục nhằm đạt đƣợc sự thống nhất giữa hai bên.
b) Các dạng thông điệp của tác tử sử dụng dịch vụ
Tác tử sử dụng dịch vụ có các thông điê ̣p đi ̣nh da ̣ng nhƣ sau {chọn, kiểm-tra,
duyệt, đánh-giá, nhượng-bộ, nhận, đề-xuất} tập các thao tác mà tác tử sử dụng dịch vụ có thể thực hiện trong quá trình thƣơng lƣợng.
Chọn: sinh ra một ràng buộc có độ ƣu tiên cao nhất từ tập các ràng buộc của ngƣời mua. Nếu có nhiều ràng buộc có cùng độ ƣu tiên, nó có thể chọn ngẫu nhiên một ràng buộc.
Đề-xuất: Gửi một ràng buộc đến tác tử cung cấp dịch vụ.
Kiểm-tra: Kiểm tra các sản phẩm dịch vụ đƣợc giới thiệu từ phía ngƣời bán. Nếu có ít nhất một ràng buộc bị vi phạm, sản phẩm dịch vụ sẽ không đƣợc chấp nhận.
Đánh-giá: Tính toán mức độ thoả mãn tổng thể của sản phẩm dịch vụ đƣợc đề xuất từ phía ngƣời bán. Nếu mức độ này lớn hơn ngƣỡng chấp nhận thì sản phẩm sẽ đƣợc chấp nhận ngƣợc lại sản phẩm sẽ không đƣợc chấp nhận.
Nhượng-bộ: Giảm bớt mức độ đối với các ràng buộc khi có yêu cầu từ phía ngƣời bán.
c) Chức năng của tác tử cung cấp dịch vụ
Tiếp xúc với nhà cung cấp để thu thập, quản lí thông tin về sản phẩm có thể
cung cấp.
Mô hình hóa sản phẩm theo chiến lƣợc đàm phán của mình.
Thay mặt nhà cung cấp đàm phán với các tác tử sử dụng dịch vụ.
Mục đích chính là bán đƣợc sản phẩm đem lại giá trị lợi nhuận cao nhất có
thể.
4.1.4. Tác tử cung cấp dịch vụ có các loại tri thức nhƣ sau:
KB = {KBdomain , KBdynamic , KBtác tử}
KBdomain: Tri thức về miền của tác tử, bao gồm các tri thức tĩnh, ít thay đổi.
KBdynamic: Tri thức động, thay đổi theo thời gian trong suốt quá trình đàm phán.
KBtác tử: Tri thức về tác tử khác trong hệ thống.
1. Tri thức tĩnh của tác tử cung cấp dịch vụ bao gồm:
A) Tập O = {O1,O2,..,Om} các đơn vị sản phẩm có thể cung cấp, mỗi đơn vị
sản phẩm Oi có một giá trị lợi ích gi nếu bán đƣợc đơn vị hàng đó.
B) Tập R = {r1 ,r2,,…, rm} các ràng buộc đối với ngƣời mua của các đơn vị sản phẩm.
C) Tập C = {c1,c2,…..,cn} các hình thức khuyến mại cho các đơn vị sản phẩm tƣơng ứng.
B) Đối với mỗi tác tử sử dụng dịch vụ, có một tập các sản phẩm đã bị tác tƣ̉ sử dụng dịch vụ đó từ chối.
C) Đối với mỗi tác tử sử dụng dịch vụ, có một sản phẩm mới nhất vừa giới
thiệu cho tác tử đó.
D) Các thuộc tính và giá trị của các thuộc tính mà mỗi tác tử sử dụng dịch
vụ đã yêu cầu.
3. Tri thức về tác tử khác bao gồm:
A) Địa chỉ của mỗi tác tử sử dụng dịch vụ đang đàm phán với nó.
B) Khả năng của các tác tử sử dụng dịch vụ.
4.1.5. Hoạt động của tác tử cung cấp dịch vụ
Hoạt động của tác tử cung cấp dịch vụ đƣợc mô tả trong hình 7 và chi tiết các hoạt động đƣợc thực hiện nhƣ sau:
Khởi tạo: Trƣớc khi bắt đầu cuộc thƣơng lƣợng, tác tử cung cấp dịch vụ phải hoàn tất các thủ tục cần thiết để đăng kí vào hệ thống. Sau khi đã hoàn thành, tác tử cung cấp dịch vụ chuyển sang trạng thái tiếp theo là trạng thái
chờ đợi.
Chờ đợi: Trạng thái này chờ đợi các phản ứng từ phía tác tử sử dụng dịch
vụ (khách hàng). Tuỳ vào nội dung các thông điệp từ tác tử sử dụng dịch vụ mà tác tử cung cấp dịch vụ chuyển tới các trạng thái tiếp theo tƣơng ứng.
Cập nhật: Khi tác tử cung cấp dịch vụ nhận đƣợc thông điệp “tìm kiếm” từ phía ngƣời sử dụng, tức là nhận đƣợc một lời yêu cầu sản phẩm từ phía khách hàng. Nó cập nhật các yêu cầu của ngƣời sử dụng vào một tập hợp tập tƣơng ứng. Và sau đó chuyển sang trạng thái tìm kiếm, để tìm kiếm sản
Tìm kiếm: Trạng thái này đạt đƣợc khi tác tử nhận đƣợc thông điệp “tìm
lại” từ phía ngƣời dùng hoặc chuyển sang từ trạng thái “cập nhật”. Ở bƣớc
này, nó tìm kiếm các hàng hóa dịch vụ thoả mãn các yêu cầu của ngƣời dùng. Nếu có nhiều hơn một mặt hàng thoả mãn, nó chọn mặt hàng có mức độ chấp nhận cao nhất. Sau đó, tác tử cung cấp dịch vụ sẽ gửi thông điệp “kiểm tra” kèm theo mặt hàng để hỏi xem ngƣời mua có chấp nhận mặt hàng này không. Nếu không tìm thấy mặt hàng nào nó gửi thông điệp “nhượng bộ” để yêu cầu giảm bớt hay thay đổi các ràng buộc.
Tương tự: Trạng thái này đạt đƣợc khi tác tử sử dụng dịch vụ nhận đƣợc
thông điệp “không nhượng bộ”. Tức là lúc này nó không tìm đƣợc mặt
hàng nào thoả mãn ràng buộc và tác tử sử dụng dịch vụ cũng không thể giảm bớt ràng buộc hơn nữa, do đó tác tử cung cấp dịch vụ buộc phải tìm
kiếm trong miền tri thức của mình một số mặt hàng “tương đương” với các
ràng buộc. Khi đó, mặt hàng đƣợc tìm thấy sẽ đƣợc đề xuất cho tác tử sử
dụng dịch vụ kèm theo thông điệp “đề xuất”.
Chức năng của tác tử sử dụng dịch vụ:
Giao tiếp với ngƣời dùng mà nó làm đại diện để thu thập sở thích và mong
muốn của họ.
Mô hình hóa sản phẩm theo chiến lƣợc đàm phán và cách ra quyết định của
mô hình.
Mô hình hóa sở thích của ngƣời dùng để phục vụ cho việc tính toán và đàm
phán.
Đàm phán trực tiếp với đối tác (tác tử cung cấp dịch vụ).
Tri thức của tác tử sử dụng dịch vụ cũng bao gồm ba phần: KB = { KBdomain , KBdynamic , KBtác tử }
1. Tri thức tĩnh KBdomain bao gồm:
A) Tập A = { A1 ,A2 ,… An } các thuộc tính của sản phẩm, tập A này là đồng nhất với đối tƣợng hàng hóa O trong phần mô hình hóa sở thích của ngƣời dùng.
B) Mỗi thuộc tính Ai có một độ quan trọng wi đối với ngƣời dùng.
C) Mỗi thuộc tính Ai có một giá trị i gọi là ngƣỡng nhƣợng bộ của thuộc
tính. Giá trị của thuộc tính này có thể đƣợc nhƣợng bộ thêm nếu độ
thỏa mãn của nó chƣa thấp hơn ngƣỡng nhƣợng bộ i
D) Một giá trị đƣợc gọi là ngƣỡng chấp nhận, đặc trƣng cho khả năng
chấp nhận của ngƣời dùng. Nếu khả năng chấp nhận của ngƣời dùng
càng cao thì ngƣỡng chấp nhận có giá trị càng thấp. Mặt hàng chỉ
đƣợc chấp nhận nếu độ thỏa mãn tổng thể của nó không nhỏ hơn ngƣỡng này.
2. Tri thức động KBdynamic:
A) Một tập D chứa các cặp thuộc tính và giá trị của các thuộc tính đã yêu
cầu cho tác tử cung cấp dịch vụ. Tập D này là một tập con của tập A.
B) Sản phẩm O vừa đƣợc tác tử cung cấp dịch vụ giới thiệu cho trong lần
giao dịch gần nhất.
C) Giá trị ràng buộc của các thuộc tính tại thời điểm hiện tại.
D) Trạng thái hiện tại của bản thân mình.
A) Tên, địa chỉ của mỗi tác tử cung cấp dịch vụ.
B) Dịch vụ mỗi tác tử cung cấp dịch vụ có thể cung cấp.
4.1.6. Hoạt động của tác tử sử dụng dịch vụ
Các bƣớc hoạt động của tác tử sử dụng dịch vụ (mua) bao gồm:
Khởi tạo: Trƣớc khi bắt đầu thƣơng lƣợng, tác tử sử dụng dịch vụ phải hoàn tất các thủ tục cần thiết để đăng ký vào hệ thống. Sau khi đã hoàn
thành, tác tử sử dụng dịch vụ bắt đầu đi vào trạng thái lựa chọn.
Lựa chọn: Tác tử sử dụng dịch vụ lần lƣợt chọn các thuộc tính có độ ƣu tiên cao nhất (trọng số lớn nhất) để đƣa vào tập ràng buộc. Sau đó, nó sẽ
gửi tập ràng buộc này cùng với thông điệp “find” tới tác tử cung cấp dịch
vụ để yêu tìm kiếm sản phẩm thoả mãn ràng buộc này.
Chờ đợi: Sau khi đề xuất các ràng buộc cho tác tử cung cấp dịch vụ bằng
cách gửi đi các thông điệp. Tác tử sử dụng dịch vụ chuyển vào trạng thái