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 tác tử, tài liệu 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 tác tử vào ứ
Trang 1NGUYỄN TRƯỜNG GIANG
PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ HƯỚNG TRÊN
NỀN TẢNG PHÁT TRIỂN JADE
LUẬN VĂN THẠC SĨ
HÀ NỘI - 2006
Trang 2NGUYỄN TRƯỜNG GIANG
PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ HƯỚNG TRÊN
NỀN TẢNG PHÁT TRIỂN JADE
Chuyên ngành: Công nghệ thông tin
Mã số: 1.01.10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS Nguyễn Văn Vỵ
HÀ NỘI - 2006
Trang 3Danh mục các chữ viết tắt
Chữ viết tắt Mô tả
ACL Agent Communication Languages (một định dạng chuẩn cho quá trình trao đổi thông điệp giữa các tác tử) API (Giao diện lập trình ứng dụng)
AUML (Ngôn ngữ UML cho ta ́c tử)
FIPA (Cơ sơ ̉ cho tác tử vâ ̣t lý và tác tử thông minh)
FSM (Máy trạng thái hữu hạn)
GUI (Giao diện người sử dụng đồ họa)
JADE (Môi trường phát triển tác tử trên Java)
KB Knownledge Base (Cơ sở tri thức)
LEAP Ngôn ngữ giao tiếp ta ́c tử LEAP do IST châu Âu phát triển, tương thích
với JADE
REV Remote Evaluation(Đa ́nh giá từ xa)
RPC (Lời gọi thủ tục từ xa)
SL Simple Language (Ngôn ngư ̃ tác tử đơn giản)
SQL Structured Query Language(ngôn ngư ̃ truy vấn có cấu trúc)
Trang 4MỤC LỤC
Danh mục các chữ viết tắt 1
Danh mục các hình vẽ và bảng biểu 4
Mở đầu Error! Bookmark not defined. Chương 1 - TỔNG QUAN VỀ TÁC TỬ 8
1.1 Tác tử và ứng dụng của tác tử 8
1.1.1 Tác tử 8
1.1.2 Lợi ích của việc ứng dụng công nghệ tác tử 13
1.1.3 Ứng dụng của tác tử 14
1.2 Các phương pháp luận xây dựng hệ đa tác tử 17
1.2.1 MAS-CommonKADS 17
1.2.2 Phương pháp Gaia 18
1.2.3 MaSE 19
1.2.4 Kết luận 21
Chương 2 - HỆ ĐA TÁC TỬ, CÔNG CỤ VÀ MÔI TRƯỜNG PHÁT TRIỂN 23
2.1 Các loại tác tử trong hệ đa tác tử 23
2.1.1 Khái niệm hệ đa tác tử 23
2.1.2 Phân loại tác tử trong hệ đa tác tử 23
2.1.3 Ngôn ngữ giao tiếp tác tử và ontology 24
2.2 Khái niệm đàm phán tự động và ưu điểm của đàm phán tự động 28
2.2.1 Khái niệm đàm phán tự động 28
2.2.2. Ưu điểm của đàm phán tự động 30
2.3 Các thành phần liên quan đến đàm phán 30
2.3.1 Kiến trúc tác tử và cơ chế tự đàm phán 30
2.4 Một số môi trường phát triển các hệ đa tác tử 32
2.4.1 AgentMom 32
2.4.2 Bộ công cụ Zeuz 32
2.4.3 JADE 33
Trang 5Chương 3 - PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ TRÊN NỀN TẢNG JADE
35
3.1 Tác tử và đối tượng 35
3.2 Ứng dụng UML trong việc phân tích và thiết kế các hệ thống đa tác tử 37
3.3 Giai đoạn phân tích 38
3.3.1 Sơ đồ tiến trình phân tích 38
3.3.2 Mô tả các bước 38
3.4 Thiết kế 47
3.4.1 Sơ đồ tiến trình thiết kế 47
3.4.2 Các bước của tiến trình thiết kế 48
3.5 Giai đoạn hậu thiết kế 66
3.6 Ứng dụng các nền phát triển tác tử khác 66
3.7 Kết luận 66
Chương 4 - VẬN DỤNG THỬ NGHIỆM BÀI TOÁN GIAO DỊCH THƯƠNG MẠI ĐIỆN TỬ 68
4.1 Phân tích bài toán 68
4.1.1 Mô tả bài toán 68
4.1.2. Mô hình hóa bài toán dưới dạng hệ đa tác tử 68
4.1.3 Phân tích chức năng nhiệm vụ 69
4.1.4 Tác tử cung cấp dịch vụ có các loại tri thức như sau: 71
4.1.5 Hoạt động của tác tử cung cấp dịch vụ 72
4.1.6 Hoạt động của tác tử sử dụng dịch vụ 75
4.2 Kết luận 76
KẾT LUẬN 77 TÀI LIỆU THAM KHẢO 79 PHỤ LỤC 81
Trang 6Danh mục các hình vẽ và bảng biểu
Hình 1.1 Quá trình tiến hóa của kiến trúc tác tử
Hình 2.1 Mô hình giao tiếp giữa các tác tử
Hình 2.2 Ví dụ về ontology
Hình 2.3 Kiến trúc AgentMom
Hình 3.1 Các kiểu dập khuôn bổ sung
Hình 3.2 Sơ đồ tiến trình phân tích
Hình 3.3 Mô hình giải pháp giao tiếp với hê ̣ thống cũ Hình 3.4 Bảng trách nhiệm của tác tử
Hình 3.5 Bảng trách nhiệm bổ sung
Hình 3.6 Sơ đồ tiến trình thiết kế
Hình 3.7 Bảng tương tác của các tác tử
Hình 3.8 Bảng tương tác tác tử nâng cấp
Hình 4.1 Sơ đồ tương tác giữa các tác tử
Trang 8MỞ ĐẦU
Ngày nay các ứng dụng thương mại điện tử ngày càng trở lên phổ biến và tiện dụng trên thế giới Nhu cầu thực hiện các giao dịch trực tuyến của xã hội ngày một nâng cao Theo số liệu thống kê trên thế giới năm 2000, tổng giá trị của các giao dịch điện tử là 20 triệu USD Năm 2004 là 100 triệu và năm 2005 là 2 tỷ USD[34] Với tỷ lệ tăng trưởng 500% hàng năm, nhu cầu đối với các hệ thống thương mại đang phát triển với tốc độ phi mã Các hệ thống thương mại điện tử hiện nay đang rất nỗ lực để cải thiện hiệu suất phục vụ người sử dụng Nhưng đa số các hệ thống thương mại điện tử hiện nay chỉ hỗ trợ việc tìm kiếm, và thanh toán tự động chứ chưa chú trọng đến vấn đề hỗ trợ người sử dụng trong việc xử lý yêu cầu của họ Yêu cầu của người sử du ̣ng ngày càng cao, khối lượng thông tin cần xử lý ngày càng nhiều và phức tạp Các ứng dụng thương mại điện tử đươ ̣c xây dựng theo công nghê ̣ cũ đã không còn đáp ứng được các yêu cầu của người sử du ̣ng Để giải quyết nhu cầu hỗ trợ xử lý yêu câ ̀u của khách hàng ,.viê ̣c áp du ̣ng mô hình bài toán đàm phán tự động vào các ứng dụng thương mại điện tử là hết sức cần thiết Đàm phán
tự động là quá trình đàm phán được thực hiện một cách tự động giữa các chương trình được thiết kế chạy trên nhiều máy tính khác nhau, giao tiếp với nhau thông qua môi trường mạng Công nghệ đa tác tử có thể giải quyết bài toán đàm phán tự
đô ̣ng hết sức hiê ̣u quả Đặc trưng của công nghệ đa tác tử là tính hướng mục tiêu và khả năng tự tri ̣ Các đặc trưng này rất phù hợp để giải quyết bài toán đàm phán tự
đô ̣ng trong lĩnh vực thương mai điê ̣n tử
Tính cấp thiết của đề tài: Yêu cầu của người dùng với các ứng du ̣ng thương
mại điện tử ngày càng ca o Các hệ thống thương mại điện không chỉ hỗ trợ viê ̣c tìm kiếm, thanh toán tự đô ̣ng mà còn phải hỗ trợ người sử du ̣ng xử lý các yêu cầu Xây dựng hê ̣ đa tác tử để giải quyết bài toán đàm phán tử động hỗ trơ ̣ người dùn g xử lý yêu cầu đã và đang là mô ̣t nhu cầu cấp thiết hiê ̣n nay
Trang 9 Ý nghĩa khoa học: Quá trình nghiên cứu các bước trong quá trình phân tích
thiết kế hê ̣ đa tác tử sẽ đưa ra mô ̣t phương pháp luâ ̣n , làm cơ sở trợ giúp cho viê ̣c xây dựng các hê ̣ đa tác tử mô ̣t cách hiê ̣u quả Các kết quả tìm hiểu
và nghiên cứu có thể sử dụng để phân tích thiết kế các ứng dụng thương
mại điện tử đàm phán tự động trên công nghệ đa tác tử
Phạm vi nghiên cứu : Phân tích thiết kế hê ̣ đa tác tử là mô ̣t bài toán có qui
mô lớn và đô ̣ phức ta ̣p cao Công nghê ̣ tác tử vẫn đang trong quá trình phát triển nên viê ̣c tiếp câ ̣n các kết quả nghiên cứu đầy đủ gă ̣p nhiều khó khăn Luâ ̣n văn chỉ dừng tro ng mô ̣t pha ̣m vi và ở mô ̣t mức đô ̣ nhất đi ̣nh là đưa ra
mô ̣t phương pháp phân tích thiết kế phù hợp với các hê ̣ đa tác tử bằng viê ̣c
cụ thể hóa các bước cần thực hiện chung nhất trong quá trình phân tích và thiết kế mô ̣t hê ̣ đa tác tử dựa trên những kiến thức và tài liê ̣u thu thâ ̣p được trong quá trình nghiên cứu
Kết quả đạt được : Luâ ̣n văn trình bày tổng quan về tác tử và mô ̣t phương
pháp luận cho viê ̣c phân tích và thiết kế hê ̣ đa tác tử , đồng thời áp du ̣ng phương pháp luâ ̣n để nghiên cứu phân tích bài toán đàm phán tự động trong các ứng dụng thương mại điện tử
Trang 10Chương 1 - TỔNG QUAN VỀ TÁC TỬ
1.1 Tác tử và ứng dụng của tác tử
dữ liệu tri thức (như các hệ chuyên gia hỗ trợ bác sỹ trong chuẩn đoán bệnh, ) mà nó được tạo ra nhằm giải quyết các vấn đề thường ngày như: tìm kiếm thông tin, tinh lọc và biên tập
Tác tử 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 90 đế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 Trong luận văn này, tôi xin điểm lại những khái niệm cơ bản về tác tử đồng thời đề cập đến những loại ứng dụng phù hợp với mô hình tác tử đã và đang được nghiên cứu và phát triển trên thế giới 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 tác tử, tài liệu 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 tác tử vào ứng dụng trong thực tế 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, đặ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 lên đến hơn 1 tỷ (theo International Data Corp - http://www.idc.com, tính đến cuối năm 2006 sẽ có hơn 1 tỷ người trên toàn thế giới kết nối Internet) Các đặc điểm của nguồn thông tin, tổ chức mạng, cũng như việc khai thác, xử lý thông tin ngày càng trở nên phức tạp và đa dạng hơn,
có thể kể đến các khuynh hướng chính yếu:
Trang 11 Các thiết bị di động: Việc cung cấp các phần mềm, các dịch vụ hỗ trợ hiệu
quả cho lớp thiết bị di động (laptop, PDAs đến điện thoại di động hay sổ tay điện tử ) 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, và thường dựa trên các kết nối với băng thông hẹp, độ trễ cao của đường điện thoại, hay mạng không dây
Người dùng di động: 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, tài khoản của mình từ bất cứ đâu Vì thế việc hỗ trợ kết nối ở mọi nơi, mọi lúc và trên mọi thiết bị là một thách thức được đặt ra
Nhu cầu chuyên biệt hoá: Việc khai thác thông tin, sử dụng dịch vụ đã
không còn thỏa mãn với các cơ chế thụ động, mà người dùng thường có khuynh hướng muốn chuyên biệt hoá nhu cầu của mình một cách chủ động Internet là cơ sở để thực hiện mong muốn nà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ó thể thực hiện đến đâu
Nguồn tin đa dạ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ồ 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 Đây sẽ lại là một khó khăn mới đối với người dùng khi truy vấn
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ì 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
Môi trường không đồng nhất: Khi kết nối các máy tính, các mạng cục bộ
vào Internet, 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, lẫn về kiến trúc, hệ điều hành…Và bài toán tương thích, dễ mang chuyển sẽ là vấn đề cần giải quyết ở đây
Trang 12 Sự khập khiễng về đường truyền: Mặc dù ngành viễn thông đã đạt đến
những tiến bộ đáng kinh ngạc, và cho ra đời các loại cáp quang với tốc độ truyền tải nhanh đáng kể, đ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
Với tất cả các đặc điểm trên đây, các ứng dụng phân tán phát triển theo mô hình khách/chủ truyền thống tỏ ra có một số bất lợi vì đòi hỏi sự làm việc đồng bộ, đòi hỏi đường truyền băng thông rộng, độ trễ thấp và cuối cùng là các dịch vụ thiếu linh động, khó thay đổi hay bổ sung Tác tử là một mô hình trong đó các tiến trình - được gọi là tác tử - 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 các tác vụ Ý tưởng chủ đạo của tác tử di đô ̣ng là di chuyển xử lý đến gần nguồn dữ liệu, nhờ đó có thể giảm tải mạng, khắc phục tình trạng trễ, 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 Tác tử với các ưu điểm này hứa hẹn một giải pháp mới, hiệu quả và dễ dàng hơn trong việc phát triển ứng dụng phân tán
Theo truyền thống, 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) Các mô hình giao tiếp này thường phải đồng bộ, nghĩa là phía máy trạm tạm ngưng hoạt động của mình trong thời gian gởi yêu cầu đến máy chủ và đợi đến khi nhận được kết quả trả về từ máy chủ Một kiến trúc tiến
bộ hơn là Remote Evaluation do Stamos và Gifford [38] đưa ra vào năm 1990 Trong mô hình REV, thay vì yêu cầu thực hiện các hàm từ xa thì máy chủ chỉ việc gởi mã nguồn các hàm của nó đến máy chủ và yêu cầu máy chủ thực hiện rồi trả về kết quả 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
có thể di trú giữa các vị trí trên mạng, mang theo mã của chương trình để thực thi tại những vị trí này Tác tử là mô hình tiến hóa tiên tiến nhất so với các mô hình trước đó Một tác tử 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 để
Trang 13đạt được mục tiêu được giao phó Khi di chuyển, các tác tử đóng gói mã nguồn, dữ liệu và cả trạng thái thi hành Nhờ vậy tác tử có thể dừng việc thi hành đang thực hiện tại máy này, di chuyển sang máy khác và khôi phục lại sự thi hành tại máy đích
Đến nhưng năm gần đây, với sự bùng nổ của kỷ nguyên thông tin internet và đặc biệt là sự phát triển mạnh mẽ của lĩnh vực truyền thông thì công nghệ tác tử càng được phát triển mạnh mẽ Một lĩnh vực mà công nghệ tác tử được ứng dụng một cách phổ biến nhất là thương mại điện tử và quản lý mạng viễn thông Với những đặc thù là khả năng hoạt động độc lập một cách thông minh, tác tử được ứng dụng hết sức hiệu quả trong các lĩnh vực này Tác tử cho phép tự động hoá các tiến trình trong các công tác nghiệp vụ của thương mại điện tử và quản lý mạng viễn thông
Theo thống kê của tổ chức IDC, các phần mềm có ứng dụng công nghệ tác tử trong lĩnh vực thương mại điện tử vào năm 1997 có giá trị khoảng 7.2 triệu USD Doanh thu này tiếp tục tăng trưởng và đạt mức 51 triệu USD năm 1999 và năm
Kết quả
RPC
Hàm Kết quả
REV
Tác tử gửi đi
Tác tử di trú
Agent di trú Tác tử di trú
Data, context
AGENT
Hình 1.1 Quá trình tiến hóa của kiến trúc tác tử
Trang 142004 là 873 triệu USD Mức độ tăng trưởng hàng năm đạt trung bình 76% Như vậy chúng ta có thể thấy công nghệ tác tử đã đóng góp một tỷ trọng khá lớn thị phần của các sản phẩm thương mại điện tử Nhưng tác tử là gì và phát triển nó như thế nào? Tác tử là một hệ xử lý hoàn chỉnh có thể hoạt động trong một môi trường nhất định Nó có khả năng hoạt động một cách độc lập, xử lý các vấn đề một cách thông minh và mềm dẻo nhằm đạt được các mục tiêu ban đầu đề ra [1]
Các đặc điểm cơ bản của tác tử:
Tính tự trị: là khả năng tự kiểm soát bản thân của tác tử 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 tác tử khác
Có nhiều hướng đánh giá về sự tự trị của tác tử Hai đặc tính hướng mục tiêu và tính chủ động thường được dùng để đánh giá mức độ tự trị của tác tử Khả năng tự trị của tác tử chủ yếu được quyết định bởi tri thức trang bị cho tác tử Tác tử có thể tự quyết định các hành động của mình dựa trên trạng thái hiện thời mà không có sự can thiệp của con người hay các tác tử
khác
Khả năng phản ứng: là khả năng của tác tử có thể thực thi trên những môi
trường lạ, và cảm nhận được sự thay đổi của môi trường Tác tử có thể phản ứng lại khi có những thay đổi của môi trường, tác tử có thể hoạt động trong những môi trường thay đổi và không thể tiên đoán trước được
Tính thích ứng: là khả năng liên lạc, phối hợp hoạt động của các tác tử với
các tác tử của cùng môi trường hay với các loại đối tượng khác trong những môi trường khác Tác tử có khả năng tương tác với các tác tử khác trong hệ thống để hướng tới mục đích chung của hệ thống cũng như mục đích riêng của mình Các hoạt động tương tác này rất đa dạng bao gồm phối hợp đàm phán, cạnh tranh
Trang 151.1.2 Lợi ích của việc ứng dụng công nghệ tác tử
Có bảy lợi ích chính khi ứng dụng công nghệ tác tử xây dựng các hệ thống phân tán trên môi trường mạng máy tính
a) Giảm tải mạng
Kỹ thuật tác tử cho phép người dùng đóng gói cuộc trao đổi, gởi nó đến máy đích và thực hiện xử lý dữ liệu, trao đổi cục bộ tại đó Như thế sẽ góp phần làm giảm những dòng dữ liệu thô trên mạng ; và như thế, tải mạng sẽ giảm đáng kể
Phương châm thực hiện của kỹ thuật tác tử là: mang xử lý đến nơi chứa dữ liệu hơn
là mang dữ liệu về chỗ xử lý [4]
c) Đóng gói các giao thức
Khi dữ liệu được trao đổi trong hệ thống phân tán, việc truyền và nhận dữ liệu phải được mã hóa bởi các giao thức cần thiết Các giao thức này được sở hữu bởi mỗi máy trong hệ thống Tuy nhiên, một khi các giao thức phải tiến hóa để phù hợp với những yêu cầu mới về sự bảo mật hoặc tính hiệu quả, chúng bắt đầu trở nên cồng kềnh, nặng nề và trở thành vấn đề nan giải Riêng với giải pháp tác tử, các tác tử có thể mang trên mình các giao thức thích hợp và di chuyển tới các máy ở xa để thiết lập các kênh truyền nhận thông tin tương ứng
d) Thi hành không đồng bộ và tự trị
Trang 16Thông thường, các thiết bị di động thường phụ thuộc vào các kết nối mạng đắt tiền nhưng rất yếu ớt Vì thế, những tác vụ cần có kết nối liên tục giữa thiết bị di động và mạng cố định có thể sẽ không có tính kinh tế hoặc không khả thi về mặt kỹ thuật Giải pháp tác tử giải quyết vấn đề này bằng cách nhúng tác vụ cần thực hiện vào tác tử , rồi gửi lên mạng Sau khi được gửi đi, tác tử trở nên độc lập thi hành không đồng bộ và có khả năng tự trị Các thiết bị di động sau đó có thể kết nối trở lại để đón tác tử về
gì lại với nhau
g) Mạnh mẽ và có khả năng chế ngự lỗi cao
Với khả năng phản ứng năng động với các sự kiện và những thay đổi bất lợi, tác tử giúp cho việc xây dựng hệ thống mạnh mẽ và chịu lỗi cao được dễ dàng hơn
1.1.3 Ứng dụng của tác tử
Công nghệ tác tử được ứng dụng rộng rãi trong nhiều lĩnh vực Nó được sử dụng để xây dựng các hệ thống phân tán, hoạt động trên một phạm vi địa lý rộng lớn Tác tử đặc biệt được ứng dụng trong các bài toán xử lý số liệu lớn bởi khả năng xử lý thông minh và tự động của nó
Trang 17Dưới đây là những lĩnh vực đã áp dụng công nghệ tác tử để xử lý các bài toán thực tế:
Thương mại điện tử: Các ứng dụng thương mại điện tử cho phép người
dùng thực hiện các giao dịch trong kinh doanh trên mạng Một giao dịch có thể bao gồm sự thương lượng với các thực thể ở xa và có thể đòi hỏi truy cập nguồn thông tin liên tục thay đổi Từ thực tế đó nảy sinh nhu cầu thay đổi hành vi của các thực thể để đạt được một nghi thức chung trong việc thương lượng Hơn nữa, việc di chuyển các thành phần của ứng dụng tiến gần đến nguồn thông tin thích hợp cho giao dịch cũng được quan tâm Vì thế công nghệ tác tử là một giải pháp rất hấp dẫn cho lĩnh vực này
Thu thập thông tin phân tán: Trong trường hợp có nhu cầu truy vấn phức
tạp, chuyên biệt và liên qua đến nhiều nguồn dữ liệu phân tán, không đồng nhất, việc cử các tác tử di chuyển đến các nguồn tin để khai thác tại chỗ và cuối cùng là quay về với những thông tin cần thiết sẽ cho phép giảm tải mạng và giải quyết tốt hơn bài toán tương thích Tác tử di động truy vấn cơ sở dữ liê ̣u phân tán của đa ̣i ho ̣c Cyprus [38], và Xử lý truy vấn phân tán thông qua tác tử di đô ̣ng của đại học Maryland [26], DBMS là những dự án thuộc loại ứng dụng này
Theo dõi và thông báo tin cập nhật Ứng dụng cổ điển này làm nổi bật bản
chất không đồng bộ của các tác tử Các tác tử có thể được gởi đi, đến nơi có nguồn tin và hoạt động theo dõi nguồn tin ngay cả khi người dùng ngắt kết nối Sau đó, khi nguồn tin có sự thay đổi , tác tử sẽ quay về báo cho hệ thống Weather Alarm[39] và JobFinder [32], MOLE Office là một trong những đại diện của loại ứng dụng này Các tác tử có thể được gửi đi để chờ một dạng thông tin nào đó xuất hiện, rồi sau đó báo cho người dùng biết hoặc tự nó có những hành động thích hợp đối với thông tin đó
Trang 18 Giám sát và phổ biến thông tin: Các tác tử di đô ̣ng là một minh họa cho mô
hình Internet push Các tác tử có thể phổ biến tin tức và cập nhật phần mềm
tự động cho các nhà sản xuất Các tác tử mang các gói phần mềm cũng như các thủ tục cần thiết đến các máy cá nhân của khách hàng và tự cập nhật phần mềm trên máy đó Mô hình này giúp cho nhà sản xuất chủ động hơn trong việc phục vụ khách hàng để bảo đảm chất lượng dịch vụ của mình Mặc khác, các ứng dụng thuộc loại này cũng tỏ ra hiệu quả đối với các mạng cục bộ hay các chương trình quản lý qui trình hoạt động, sản xuất…để giúp người quản trị giám sát các hệ thống con Có thể tham khảo các dự án Banking Dartflow [20], Autopilot [25] để hiểu thêm về loại ứng dụng này
Xử lý song song: Vì các tác tử có thể tạo ra nhiều bản sao của nó trên mạng,
một ứng dụng đầy tiềm năng của mobile tác tử là quản trị các tác vụ song song Một ứng dụng đòi hỏi quá nhiều tài nguyên bộ xử lý có thể được phân bố cho các tác tử mang đi thực hiện trên nhiều máy tính khác nhau để tận dụng các tài nguyên rảnh rỗi và cân bằng tải Hệ tác tử không đồng nhất
là một minh họa khai thác ưu điểm này của mô hình tác tử di động
Quản trị hệ thống mạng: Đối với những hệ thống mạng lớn, việc chẩn đoán
lỗi, duy trì sự ổn định của hệ thống là các công việc rất khó khăn Việc ứng dụng tác tử vào việc quản trị mạng sẽ giúp cho các công việc chẩn đoán lỗi
và duy trì từ xa sự ổn định của hệ thống được dễ dàng hơn
Hỗ trợ các thiết bị di động: Do đặc điểm tài nguyên hạn chế và không kết
nối thường xuyên, việc xây dựng các ứng dụng dựa trên tác tử với khả năng
di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn
cơ sở dữ liệu, tìm tin…) rồi trả kết quả về sẽ là một giải pháp tốt cho người dùng các thiết bị di động Trong số đề án về loại ứng dụng này có thể kể đến Sony Magics Link PDA [30](xây dựng trên Telescript), TACOMA[27],
Trang 19tác tử di động nhúng[19] tại Darmouth College, và đề án Docking Laptop[36] tại đại ho ̣c Maryland
1.2 Các phương pháp luận xây dựng hệ đa tác tử
Với những ưu điểm của công nghê ̣ tác tử , các hệ thống ứng dụng công nghệ này ngày mô ̣t phổ biến Tuy nhiên tác tử cũng có những đă ̣c điểm hạn chế như:
Yêu cầu di đô ̣ng nên các tác tử phải có qui mô đủ nhỏ
Tính tự trị độc lập nên các tác tử độc lập chỉ giải quyết được một số công viê ̣c mu ̣c tiêu ha ̣n chế
Xuất phát từ nhu cầu hơ ̣p tác để đa ̣t được các mu ̣c tiêu lớn hơn nên cần phải xây dựng các hê ̣ đa tác tử Trong hê ̣ đa tác tử có nhiều tác tử cùng đồng thời tồn ta ̣i, giao tiếp, hoạt động, và hơ ̣p tác để giải quyết ca ́c vấn đề phức ta ̣p , có qui mô lớn hơn
Việc nghiên cứu và phát triển hệ đa tác tử đã đem lại nhiều kết quả trong quá trình xây dựng các chương trình ứng dụng lớn đòi hỏi khả năng xử lí phân tán và tính toán thông minh Quá trình nghiên cứu và phát triển này cũng đem đến cách nhìn mới về các hệ thống phân tán Mặc dù, đã có nhiều hướng nghiên cứu nhưng vẫn chưa đưa ra được một phương pháp phù hợp để phát triển hệ đa tác tử Trong quá khứ, đã có một số nghiên cứu đưa ra các công cụ và phương pháp luận cho việc xây dựng hệ đa tác tử Tuy nhiên công nghệ tác tử vẫn đang ở giai đoa ̣n phát triển , chưa hoàn thiê ̣n nên luâ ̣n văn chỉ xin giới thiệu một số hiê ̣n tra ̣ng của mô ̣t số phương pháp phát triển hệ đa tác tử tiêu biểu hiê ̣n nay
1.2.1 MAS-CommonKADS
Phương pháp này đươ ̣c mở rộng từ phương pháp phát triển hệ đa tác tử CommonKADS[28] bằng cách tích hợp thêm các kĩ thuật liên quan đến cách tiếp cận hướng đối tượng và giao thức tương tác giữa các tác tử Bướ c đầu tiên trong quá
Trang 20trình phân tích là việc khái niệm hóa Ở đây người phân tích quyết định sử dụng các
ca sử dụng lấy được từ quá trình phân tích yêu cầu người dùng đồng thời mô hình hóa chúng dưới dạng lược đồ tuần tự các thông điệp Mục đích của giai đoạn này nhằm nắm bắt các vài trò đồng thời tác động vào quá trình tương tác qua lại giữa các vai trò Mô hình hóa tác tử xác định rõ những đặc điểm của tác tử, nó bao gồm
khả năng suy luận, cảm nhận, các dịch vụ, các nhóm tác tử và cấu trúc thứ tự của tác tử
Mặc dù phương pháp này đã cải tiến và mở rộng thêm nhiều khái niệm mới về chức năng, phương thức và các nguồn thông tin để phát triển một hệ đa tác tử , nhưng vấn đề quan trọng nhất vẫn chưa giải quyết được dẫn đến sự bế tắc trong việc giải quyết các bài toán của hệ đa tác tử đó là việc xử lí tương tranh trong hoạt động giao tiếp của các tác tử
1.2.2 Phương pháp Gaia
Phương pháp Gaia[18] là một trong những phương pháp luận định nghĩa đầy đủ nhất quá trình phân tích , thiết kế và phát triển các hê ̣ đa tác t ử Phương pháp luâ ̣n nhìn hệ thống đa tác tử dưới dạng một xã hội hoặc một tổ chức, với các phần tử nắm những vai trò nhất đi ̣nh trong đó Mỗi vai trò được xác định bởi bốn thuộc tính: trách nhiệm, quyền hạn, các hoạt động và giao thức
Trách nhiệm: xác định chức năng của một vai trò
Quyền hạn: là các quyền được phép sử dụng và lưu trữ các loại tài nguyên
của hệ thống tương ứng với trách nhiệm của từng vai trò
Hoạt động: Được định nghĩa như khả năng tính toán và tương tác với các
vai trò khác
Giao thức: Xác định cách thức làm thế nào để tương tác với các vai trò
khác
Trang 21Trong giai đoạn thiết kế thì Gaia cung cấp cách thiết kế ở trừu tượng ở mức cao Bao gồm các mô hình về tác tử , định nghĩa các kiểu tác tử , các vai trò mà chúng thực hiện Tuy nhiên Gaia không cung cấp cách thức cụ thể để tổ chức hệ thống hoặc tổ chức các vai trò tồn tại như thế nào trong một hệ thống
1.2.3 MaSE
Phương pháp MaSE ra đời tại phòng thí nghiệm của viện nghiên cứu công nghệ không lực bang Ohio do giáo sư Scott A DeLoach và Mark F Wood làm chủ đề tài nghiên cứu[24] Phương pháp này đã khắc phục được khá nhiều những bế tắc mà các hệ thống tiền nhiệm không giải quyết được Hiện nay , phương pháp này đang được nhiều nhà phát triển áp dụng vào xây dựng các trình ứng dụng tác tử thông minh để giải quyết các bài toán Phương pháp vẫn đang trong giai đoạn tiếp tục nghiên cứu và phát triển Phương pháp này có cách thức tiếp cận khá giống với cách phân tích thiết kế hướng đối tượng nên rất dễ sử dụng cho những ai đã quen với phương pháp phân tích thiết kế hướng đối tượng Các giai đoạn để phát triển một hệ
đa tác tử theo phương pháp này chia làm hai giai đoạn chính là phân tích và thiết kế Trong phân tích lại được chia ra thành các giai đoạn nhỏ như sau:
Nắm bắt các mục tiêu
Áp dụng các ca sử dụng
Định nghĩa các vai trò
Giai đoạn thiết kế:
Tạo các lớp tác tử
Cấu trúc các đàm thoại
Tập hợp các tác tử
Trang 22 Thiết kế hệ thống
a) Giai đoạn phân tích:
Mục đích của giai đoạn phân tích là tạo ra một tập các vai trò mà các tác vụ của
nó sẽ mô tả hệ thống phải làm gì để thỏa mãn được các yêu cầu Một vai trò biểu diễn một thực thể Thực thể này làm nhiệm vụ thực thi một số chức năng bên trong
hệ thống.Trong phương pháp luận MaSE, mỗi vai trò phải chịu trách nhiệm cho một mục tiêu, hoặc hỗ trợ để đạt được các mục tiêu cụ thể hoặc các mục tiêu nhỏ hơn Việc lựa chọn mô hình hệ thống đa tác tử dựa trên khái niệm các vai trò vì chúng được khái quát hóa từ từng mục tiêu cụ thể và được ánh xạ trực tiếp vào các tác tử Mục tiêu là sự trừu tượng hóa của một tập các chức năng Một hệ thống cụ thể bao giờ cũng có một mục tiêu khái quát và một tập các mục tiêu con cần phải thực hiện trước khi đạt được mục tiêu tổng quát của hệ thống.Các bước trong giai đoạn phân tích của hệ MaSE gồm có:
1 Xác định các mục tiêu từ yêu cầu của người sử dụng và xây dựng cấu trúc nó dưới dạng lược đồ phân cấp mục tiêu
2 Xác định các ca sử dụng và tạo ra các sơ đồ tuần tự để hỗ trợ việc xác định một tập các vai trò và các đường liên kết hướng đến mục tiêu
3 Chuyển các mục tiêu vào một tập các vai trò:
a Tạo ra một mô hình vai trò để quản lí được các vai trò và các tác
vụ kết hợp với mỗi vai trò
b Định nghĩa một mô hình tác vụ tương tranh cho từng tác vụ để xác định hành vi của vai trò
b) Giai đoạn thiết kế:
Giai đoạn thiết kế MaSE gồm có những bước sau:
Trang 231 Gán các vai trò cho các lớp tác tử tương ứng và xác định các hội thoại bằng cách kiểm tra mô hình tác vụ tương tranh dựa trên các vai trò được đại diện bởi mỗi lớp tác tử
2 Xây dựng các hội thoại bằng cách trích các thông điệp và các trạng thái được xác định tương ứng với mỗi đường liên kết trong mô hình tác vụ tương tranh
3 Định nghĩa các lớp tác tử bằng cách định nghĩa kiến trúc của mỗi lớp tác tử dựa vào các thành phần và các bộ kết nối Phải đảm bảo mỗi hành động được xác định trong một hội thoại được thực hiện bằng một phương thức bên trong kiến trúc tác tử
4 Định nghĩa kiến trúc hệ thống tổng quát dựa vào việc sử dụng các sơ đồ triển khai
Ngoài việc đưa ra một phương pháp luận dùng để phát triển các hệ đa tác tử công trình nghiên cứu của Scott A DeLoach và Mark F Wood MaSE còn xây dựng lên một bộ công cụ hỗ trợ phát triển các hệ đa tác tử đó là AgentTool và nó đang được cải tiến mạnh mẽ để phù hợp với các hệ thống đa tác tử lớn và đòi hỏi độ phức tạp cao MaSE và AgentTool đã được sử dụng để phát triển các hệ thống có số lượng tác tử lên đến con số hàng trăm Quá trình nghiên cứu về hệ thống này vẫn đang diễn ra rất sôi nổi nhưng hiê ̣n ta ̣i viê ̣c tiếp câ ̣n những thông tin đầy đủ về phương pháp và công cu ̣ trên vẫn gă ̣p nhiều khó khăn Tuy nhiên phương pháp trên
có nhiều tiềm năng để trở thành một phương pháp luận chuẩn cho việc xây dựng các
hệ đa tác tử trong tương lai
1.2.4 Kết luận
Chương một đã nêu lên đươ ̣c những sự phát triển nhanh chóng của công nghệ tác tử kéo theo đó là sự thay đổi các thói quen giao dịch thủ công Những thay đổi
Trang 24này mang lại rất nhiều lợi ích cho ngườ i sử du ̣ng như tiết kiệm thời gian và công sức
Trong chương này cũng trình bày một số khái niệm cơ bản về tác tử, các lợi ích của việc ứng dụng công nghệ tác tử , những mảng ứng du ̣ng của tác tử , hệ đa tác tử, và một số phương pháp luận phát triển hệ đa tác tử Với những lợi ích mà công nghê ̣ tác tử đem la ̣i, xu hướng phát triển của các ứng du ̣ng thương mại điện tử trong giai đoa ̣n mới không chỉ là tìm kiếm , thanh toán tự đô ̣ng mà còn hỗ trợ người sử dụng xử lý yêu cầu, thực hiê ̣n đàm phán tự đô ̣ng
Nhu cầu bài toán đàm phán tự đô ̣ng trong thương ma ̣i điê ̣n tử rất cấp thiết và đã có những triển khai bước đầu Trong các chương tiếp theo , luâ ̣n văn sẽ tìm hiểu chi tiết hơn về hoa ̣t đô ̣ng của hê ̣ đa tác tử , các bước xây dựng hệ đa tác tử và vận dụng thử nghiê ̣m công nghê ̣ đa tác tử để giải quyết bài toán đàm phán tự đô ̣ng trong
thương ma ̣i điê ̣n tử
Trang 25Chương 2 - HỆ ĐA TÁC TỬ, CÔNG CỤ VÀ MÔI
TRƯỜNG PHÁT TRIỂN
2.1 Các loại tác tử trong hệ đa tác tử
2.1.1 Khái niệm hệ đa tác tử
Hệ đa tác tử là một hệ thống phần mềm với các thuộc tính sau đây:
Tự trị : tác tử có thể hoạt động mà không cần sự hướng dẫn điều khiển trực tiếp nào từ con người hay bất cứ cái gì khác và nó có một số kiểu điều khiển từ các hành động và trạng thái bên trong của nó
Khả năng giao tiếp xã hội: tác tử giao tiếp với các tác tử các thông qua một
số dạng ngôn ngữ giao tiếp của tác tử
Tính thích ứng: tác tử có thể nhận biết môi trường và trả lời những thay đổi xung quanh nó
Với mô ̣t hoài bão về mô ̣t hê ̣ thống đa tác tử hoàn hảo như một xã hội gắn với xã hô ̣i con người , người ta đã mở rô ̣ng khái niệm ở trên bằng cách thêm vào các tính chất nhân văn, các thuộc tính cơ bản như tín ngưỡng, sự thèm muốn hay các dự định[8]
2.1.2 Phân loại tác tử trong hệ đa tác tư ̉
Xét về khía cạnh nghiệp vụ thì trong một hệ đa tác tử có ba loại tác tử:
Tác tử môi giới: kiến trúc của loại tác tử khá đơn giản bao gồm một cơ sở
dữ liệu dịch vụ
Trang 26 Tác tử cung cấp dịch vụ: kiến trúc của tác tử cung cấp dịch vụ bao gồm một
tập các chỉ thị và hành động và các dữ liệu tri thức được nhóm thành các thành phần cùng các thông tin giữa các thành phần
Tác tử sử dụng dịch vụ: kiến trúc của loại tác tử này tương tự của tác tử
cung cấp dịch vụ
Phân lớp theo chức năng:
Tác tử giao diện: là các tác tử mà tương tác với người dùng, nhận các đặc tả
của người dùng và trả về kết quả Chúng nhận được các yêu cầu của người sử dụng để hướng dẫn hệ thống phối hợp cùng với sự hỗ trợ của người sử dụng
Tác tử nhiệm vụ: là các tác tử hỗ trợ việc ra quyết định bằng cách mô hình
hoá các vấn đề, xây dựng kế hoạch và thực hiện các kế hoạch đó thông qua việc truy vấn và trao đổi thông tin với các tác tử khác
Tác tử thông tin : là tác tử trả lời các truy vấn về một nguồn thông tin có
liên quan Tác tử này có chức năng hoạt động như quản lý danh bạ, …
2.1.3 Ngôn ngữ giao tiếp tác tử và ontology
Để phục vụ cho nhu cầu giao tiếp giữa các tác tử, các ngôn ngữ KQML[29] và FIPA ACL[33] được xây dựng Hầu hết các ngôn ngữ truyền thông của tác tử không quy định rõ cú pháp hay ngữ nghĩa về nội dung của thông điệp bởi lý do là với những miền ứng dụng khác nhau đòi hỏi những ngôn ngữ khác nhau Tuy nhiên một số ngôn ngữ thông dụng có khả năng áp dụng cao cho nhiều miền ứng dụng như: FIPA SL, KQML và KIF,
Tất cả các ngôn ngữ giao tiếp tác tử đều dựa trên cơ sở lý thuyết là lý thuyết hành vi ngôn ngữ Trong đó, tác tử cũng như con người có thể bày tỏ quan điểm, nhận thức của mình giống như một hành động với một ý nghĩa nào đó giống như
Trang 27một hành vi vật lý bình thường trong cuộc sống hàng ngày Các tác tử sử dụng các kiểu thông điệp tham chiếu ACL (Agent Communication Language – Ngôn ngữ truyền thông tác tử) để diễn tả các hành động giống như hỏi, nói, yêu cầu hoặc thực hiện bằng các hiệu ứng của việc gửi thông điệp qua lại giữa các tác tử Các đối tượng thông điệp kiểu này được gọi là Perfomative Chúng ta cũng có thể thấy một cách rất rõ ràng rằng tính tương thích giữa các hệ thống đa tác tử và chính trong bản thân nội tại một hệ thống sẽ không khả thi nếu các nhóm khác nhau không chấp nhận sử dụng chung một ngôn ngữ truyền thông tác tử giống nhau Do đó chuẩn ACL đã được xây dựng
Các ngôn ngữ giao tiếp tác tử cũng có cú pháp Cú pháp của ngôn ngữ là những quy tắc, quy luật được bộ phân tích ngôn ngữ trong tác tử sử dụng để trình bày và giải mã các thông điệp Cú pháp này được sử dụng để xây dựng các lớp Performative có các thuộc tính sau đây:
1 Type: kiểu thông điệp
2 Sender: tác tử gửi thông điệp
3 Receiver: tác tử sẽ nhận thông điệp
4 Reply_with: khoá chứng nhận giao tiếp của tác tử gửi
5 In_reply_to:khoá giao tiếp của tác tử nhận
6 Content: nội dung thông điệp
7 Language:ngôn ngữ để giải thích nội dung thông điệp
8 Address:địa chỉ tác tử gửi
9 Send_time:thời điểm gửi thông điệp
10 Receive_time:thời điểm khi thông điệp tới tác tử nhận
Trang 28Thông điệp trong ngôn ngữ giao tiếp tác tử có các kiểu thông điệp sau đây:
1 Accept_proposal: được sử dụng trong trường hợp thông báo chấp nhận đề
xuất
2 Agree: khẳng định sự chấp nhận đề xuất
3 Cancel: chấm dứt liên lạc
4 Confirm: xác nhận
5 Disconfirm: rút lại xác nhận trước đó
6 Failure: chấm dứt đối thoại
7 Inform:thông báo bổ sung thông tin
8 Inform_if: thông báo bổ sung thông tin có điều kiện
9 Inform_ref:bổ sung thông tin tham chiếu
10 Not_understood: trường hợp đặc biệt của Failure
11 Propose: đưa đề xuất
12 Query_if: truy vấn thông tin kèm điều kiện
13 Querry_ref:truy vấn thông tin tham chiếu
14 Refuse:từ chối giao tiếp
15 Reject_proposal:từ chối đề xuất trước đó
16 Request_when: yêu cầu có điều kiện
17 Request_whenever:một kiểu yêu cầu có điều kiện đến
18 Subscribe: đăng ký
Trang 29Các tác tử giao ti ếp bằng ngôn ngữ chung sẽ vẫn không thể hiểu lẫn nhau nếu chúng sử dụng vốn từ vựng khác nhau để diễn tả khái niệm chung Do đó, chúng cũng cần sử dụng các ontology giống nhau hoặc vốn từ chung Điều này cũng có thể đạt được hoàn toàn thông qua các ontology chức năng chung hoặc tạo ra các ontology đặc trưng theo miền và sử dụng các inter-ontology làm phiên dịch Lý do
là hầu hết các ontology đa năng không thể thích hợp với mọi miền ứng dụng Hơn nữa, chúng quá lớn và phức tạp, không cần thiết với các ứng dụng chuyên biệt
Ontology: Quy định ngữ nghĩa của nội dung trong phần nội dung thông điê ̣p Đây là một tri thức chung được thống nhất giữa bên gửi và bên nhận thông điệp Dựa vào đó, bên nhận thông điệp sẽ hiểu được bên gửi thông điệp muốn yêu cầu cái gì để thực hiện các hành động cho phù hợp.[10]
Ontology đươ ̣c coi là mô ̣t khái niê ̣m cơ bản trong giao tiếp giữa các tác tử Nó
đi ̣nh nghĩa những khái niê ̣m cần thiết, phục vụ cho việc trao đổi thông điệp giữa các tác tử Ontology cũng đi ̣nh nghĩa các mối quan hê ̣ giữa các khái niê ̣m (các đối tươ ̣ng, các hành động , các tiền định , các mối quan hệ , ) trong miền thông tin mà biểu diễn
Hơn nữa, do mô ̣t ontology có nhiều mức trừu tượng khác nhau nên nô ̣i dung thông điê ̣p có thể có tùy biến kích thước
Mô ̣t ví dụ nhỏ về ontology
Hình 2.1 Mô hình giao tiếp giữa các tác tử
Trang 30Presentation - Là lơ ́ p đối tươ ̣ng biểu thi ̣ viê ̣c trình diễn, là lớp con của lớp hành
đô ̣ng
- Có thể chứa các mối liên hệ tới các khái niệm: đi ̣a điểm, thời gian, ngày tháng, và chủ đề
Is_a Biểu thị mối quan hệ giữa một đối tượng và lớp của nó
Is_in_progress Trạng thái của một hành động của đối tượng, diễn tả rằng hành
đô ̣ng đó đang diễn ra
Khi xây dựng ontology nên chú ý các điểm sau :
Sử du ̣ng các đặc tả ontology chính thức
Sử du ̣ng ngôn ngữ ontology chính thức
Cho phép khả năng trao đổi giữa các ontology
Các khái niệm phải có khả năng suy luận và truy hồi nguyên nhân
Quản lý dễ dàng và cho phép con người có thể đọc đượ c
Giải pháp phổ biến cho việc xây dựng ontology là sử dụng UML kế hợp với ngôn ngữ ràng buô ̣c đối tượng OCL[12] (Object Contrain Language)
2.2 Khái niệm đàm phán tự động và ưu điểm của đàm phán tự động
2.2.1 Khái niệm đàm phán tự động
Đàm phán tự động là quá trình tương tác giữa các tác tử có những mối quan tâm xung đột lẫn nhau và mong muốn hợp tác nhằm đi đến một thỏa thuận chung để chia sẻ nguồn tài nguyên nào đó[18]
Đàm phán tự động được tiến hành giữa các tác tử , hoạt động trên nhiều máy hoă ̣c giữa các hê ̣ thống khác nhau Các tác tử sẽ thay mặt người sử dụng , tham gia
Hình 2.2 Ví dụ về ontology
Trang 31đàm phán nhằm mu ̣c đích thỏa mãn những mu ̣c tiêu , tiêu chí đã được xác đi ̣nh trước khi các nguồn tài nguyên bi ̣ ha ̣n chế , không thể cùng lúc thỏa mãn cho tất cả các bên tham gia Nguồn tài nguyên ở đây đươ ̣c hiểu theo nghĩa chung bao gồm : các nguồn tài nguyên hê ̣ thống (phần cứng, phần mềm, ), các dịch vụ, hàng hóa, cần thiết cho viê ̣c hoàn thành nhiê ̣m vu ̣ của tác tử
Sự quan tâm về đàm phán nảy sinh do hai tác nhân chính:
Sự phát triển của công nghệ
Tính ứng dụng ngày càng được nâng cao của các hệ thống phần mềm
Do khoa học kĩ thuật tiến bộ không ngừng, cơ sở hạ tầng của truyền thông ngày càng phát triển, khả năng truyền tải dữ liệu ngày càng cao kèm theo đó là các phát minh mới của các lĩnh vực như trí tuệ nhân tạo, học máy, cơ sở tri thức, đã cho phép con người xây dựng các hệ thống có khả năng tính toán phức tạp, xử lí phân tán và có khả năng tư duy và tương tác với nhau
Các tác tử thường được sử dụng làm đại diện cho các bên tham gia giao dịch có mục tiêu, mục đích khác nhau Do đó các tác tử phải có khả năng tư duy, quyết định một cách chủ động để có thể đưa ra những hành động cần thiết trong một khoảng thời gian nhất định và điều kiện thích hợp mà không cần chỉ thị từ con người nhưng vẫn đạt được những mục tiêu, mục đích đã được đề ra Tuy nhiên với sự giới hạn của các nguồn tài nguyên, sự khác nhau giữa mục tiêu và mục đích của các tác tử nên xung đột lợi ích là vấn đề thường xảy ra giữa các tác tử Để đạt được mục đích cuối cùng, các tác tử phải đàm phán, thay đổi cách thức hành động cũng như đưa ra các đề nghị, trao đổi các lợi ích để tìm ra được một cách giải quyết chấp nhận được cho tất cả các bên xung đột[23]
Trang 322.2.2 Ưu điểm của đàm phán tự động
Đàm phán thủ công (người với người) tiêu tốn nhiều thời gian và đòi hỏi những điều kiê ̣n cu ̣ thể phù hợp cho cả hai bên nên không thể tiến hành thường xuyên Do đó, những khách hàng khó có thể tìm được đối tác đem lại lợi ích nhất cho mình Trong khi đó, đàm phán tự động có thể tiến hành thường xuyên giữa các bên tham gia vì vậy dễ tìm ra được đối tác có mặt hàng/dịch vụ với chất lượng mong muốn Đàm phán thủ công dễ làm nản lòng khách hàng Ngược lại, đàm phán tự động
có thể dẫn đến kết quả dễ làm thỏa mãn khách hàng Khách hàng không phải bận tâm về vấn đề ngôn ngữ, khả năng giao tiếp và thuyết phục của mình Hơn nữa, nhiều vấn đề cần đàm phán phức tạp (như nhiều mặt hàng phụ thuộc với nhau từ nhiều khách hàng) khó có thể tiến hành đàm phán thủ công Trong khi đó, các hệ đàm phán tự động có khả năng hỗ trợ các dịch vụ như vậy
Các hệ đàm phán tự động không đòi hỏi bên tham gia cố định về thời gian, không gian Số các thực thể tham gia trong tiến trình có thể tăng lên và điều này đem lại nhiều khả năng lợi ích cho cả người cung cấp và tiêu thụ
2.3 Các thành phần liên quan đến đàm phán
Lĩnh vực đàm phán: các đối tượng, các thuộc tính,…
Giao thức đàm phán: các luật/quy định mà các tác tử tham gia đàm phán phải tuân theo
Chiến lược đàm phán: các hành động nào mà các tác tử cần thực hiện trong quá
trình đàm phán
2.3.1 Kiến trúc tác tử và cơ chế tự đàm phán
Trong quá trình nghiên cứu và xây dựng các hệ đa tác tử, trong thực tế đã cho thấy rằng mô hình hệ đa tác tử có các tác tử môi giới là phù hợp nhất với các hệ
Trang 33thống thực tế Tác tử môi giới đứng giữa các tác tử có nhu cầu đàm phán để điều phối các hoạt động đàm phán Tác tử môi giới sẽ làm vai trò cầu nối giữa tác tử mua
và bán dịch vụ Tác tử có nhu cầu bán hoặc trao đổi các tài nguyên trước hết phải đăng ký với tác tử môi giới, tự giới thiệu về mình, khả năng dịch vụ và địa chỉ Tương tự như vậy thì tác tử có nhu cầu sử dụng nguồn tài nguyên cũng phải tự giới thiệu với tác tử môi giới Tác tử môi giới làm nhiệm vụ đối chiếu giữa bên cung và bên cầu, tìm đối tác phù hợp và giới thiệu các tác tử này với nhau Sau đó các tác tử này sẽ tự đàm phán và tương tác trực tiếp với nhau Nhiệm vụ của tác tử môi giới là tạo ra một cơ chế liên lạc giữa tác tử cung và tác tử cầu Kiến trúc mà có mặt của tác tử môi giới cũng sẽ làm giảm thiểu tính phức tạp trong việc xử lý các nghiệp vụ của các tác tử cung và cầu Tác tử môi giới cũng làm giảm những sự tương tác không cần thiết giữa các tác tử
Các tác tử khi muốn tham gia vào các hoạt động đàm phán, trao đổi tài nguyên dịch vụ phải đăng ký khả năng phục vụ của mình với tác tử môi giới và trở thành bên cung cấp dịch vụ Tác tử môi giới sẽ quản lý các dịch vụ sẽ được cung cấp này trong một cơ sở dữ liệu Cơ sở dữ liệu này có thể được tổ chức dưới nhiều dạng khác nhau nhưng để đạt hiệu quả một cách cao nhất, cơ sở dữ liệu này cần được tổ chức dưới dạng cơ sở tri thức của tác tử môi giới Khi nhận được một yêu cầu cung cấp dịch vụ từ tác tử có nhu cầu sử dụng dịch vụ, tác tử môi giới sẽ tìm kiếm trong
cơ sở dữ liệu dịch vụ của mình tìm ra nhà cung cấp phù hợp nhất có thể cung cấp dịch vụ đó và sẽ trả lời cho tác tử yêu cầu qua thông điệp Nội dung thông điệp đó thông thường bao gồm: tên, địa chỉ của nhà cung cấp Quá trình đàm phán sau đó sẽ
do hai tác tử cung cấp và khai thác thực hiện trực tiếp Vai trò của tác tử môi giới tương tự như dịch vụ quản lý trang vàng (yellow pages)
Trang 342.4 Một số môi trường phát triển các hệ đa tác tử
2.4.1 AgentMom
AgentMom[22] là một bộ khung dựng sẵn dùng để phát triển các hệ thống tính toán phân tán đa tác tử AgentMom được viết bằng ngôn ngữ lập trình Java là một ngôn ngữ hỗ trợ tính toán phân tán mạnh Hệ thống AgentMom cung cấp các khối cơ sở dùng để xây dựng các tác tử, các cơ chế hội thoại giữa các tác tử, và thông điệp được truyền trong quá trình hội thoại giữa các tác tử
2.4.2 Bộ công cụ Zeuz
Bộ công cụ Zeus[35] được xây dựng với mục đích hỗ trợ việc phát triển các hệ
đa tác tử một cách dễ dàng và nhanh chóng Tư tưởng của Zeus là đưa những yếu tố
cơ bản của hệ đa tác tử vào trong bộ công cụ cùng với khả năng tùy biến để tạo ra các hệ đa tác tử
Hình 2.3 Kiến trúc AgentMom
Trang 35Kiến trúc của bộ công cụ Zeus bao gồm nhiều thành phần được xây dựng trên ngôn ngữ lập trình Java Các thành phần này được phân thành ba nhóm thư viện bao gồm:
1 Các thư viện thành phần tác tử là tập hợp các lớp mô tả những thành phần đặc trưng, các chức năng cơ bản của tác tử Những lớp này giải quyết những vấn đề trong xây khi phát triển các hệ đa tác tử như:thể hiện ngôn ngữ, chuyển đổi thông điệp, soạn thảo và mô tả các ontology, biểu diễn tri thức, lập kế hoạch,
2 Các thư viện phát sinh tác tử: là tập hợp các máy sinh mã tác tử và các bộ soạn thảo Các bộ soạn thảo như: ontology editor, agent definition editor, task description editor, và các máy sinh mã tự động
3 Các công cụ hỗ trợ: các tiện ích hỗ trợ việc giám sát, điều hành hệ đa tác tử
2.4.3 JADE
JADE là một phần mềm trung gian được phòng thí nghiệm TILAB[37] phát triển và phát hành bởi nhằm mục đích xây dựng một khung làm việc cho việc xây dựng các hệ đa tác tử JADE hỗ trợ phát triển các hệ đa tác tử và các ứng dụng Java thỏa mãn các chuẩn FIPA cho các tác tử thông minh Nó là một khung làm việc cho việc phát triển các ứng dụng thuần Java JADE được xây dựng theo đặc tả chuẩn của FIPA và phân phối dưới dạng mã nguồn mở theo bản quyền LGPL
JADE được viết trên ngôn ngữ Java và được cấu thành bởi nhiều gói, cung cấp cho lập trình viên các mảnh chức năng, các giao diện trừu tượng cho việc tối ưu hóa các ứng dụng phụ thuộc vào nhiệm vụ của ứng dụng đó
Các đặc điểm của JADE:
JADE có cơ chế xử lí phân tán Môi trường hoa ̣t đô ̣ng cho các tác tử có thể đươ ̣c cài đă ̣t trên nhiều máy chủ khác nhau và có thể kết nối với nhau thông
Trang 36qua cơ chế RMI 4 của Java Các tác tử thực hiện nhiệm vụ như các luồng của Java Các luồng này được chứa tron các AgentContainer AgentContainer là môi trường hoa ̣t đô ̣ng của các tác tử
JADE cung cấp các công cu ̣ quản lí các tác tử và các AgentContainer từ xa Các công cụ này có giao diện đồ họa, thuâ ̣n lợi cho người sử du ̣ng
JADE có các công cu ̣ gỡ lỗi cho quá trình phát triển các ứng du ̣ ng đa tác tử cha ̣y trên nền tảng JADE
JADE hỗ trợ viê ̣c thực hiê ̣n các nhiê ̣m vu ̣ có tính chất phức ta ̣p như : xử lí song song, xử lí tương tranh thông qua các mô hình hành vi JADE cũng có khả năng lập lịch cho các hoạt động củ a tác tử
JADE hỗ trợ các chuẩn của FIPA như: AMS ( Agent Management System –
Hê ̣ thống quản lí tác tử ), DF(Directory Faciliator – Công cu ̣ quản lý thư mục), ACC (Agent Communication Channel – Kênh giao tiếp giữa các tác tử), Thêm vào đó, JADE có các quá trình truyền thông điê ̣p ACL trong cùng nền tảng rất hiệu quả Các thông điệp trao đổi được mã hóa như những đối tượng của Java nhằm tránh những sai sót trong quá trình truyền thông
Trang 37Chương 3 - PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ
3.1 Tác tử và đối tượng
Mô hình hướng đối tượng nhìn một ứng dụng dưới dạng các thực thể được gọi
là các đối tượng và chúng giao tiếp với nhau bằng cách gửi và nhận thông điệp Các đối tượng được nhóm lại thành lớp và các mối quan hệ giữa các lớp được thể hiện thông qua sự tương tác và kế thừa Các đối tượng được kích hoạt bởi việc nhận các thông điệp và các sự kiện bên ngoài Mô hình hướng tác tử là sự phát triển cao hơn của mô hình hướng đối tượng Nó nhìn ứng dụng như một hệ thống được xây dựng nên bởi các tác tử tự trị Mỗi tác tử liên tục nhận các dữ liệu đầu vào Nó đáp ứng lại môi trường mà nó đang cư trú bằng cách thực hiện một số hành động tác động lên môi trường phù hợp với dữ liệu đầu vào Tác tử là các thực thể linh hoạt, có khả năng tính toán các điều kiện, trạng thái và thực hiện các hành động một cách phù hợp Tác tử không đòi hỏi các thông điệp chỉ thị, ra lệnh hay hướng dẫn chúng thực hiện các hành vi như thế nào Dưới đây là một số ứng dụng nổi tiếng được phát triển dựa trên phương pháp hướng tác tử : Spacecraft Fault Diagnosis[14], Management and Business Process Management[31], Air Traffic Management[7], Air Mission Simulation and Telecommunication Network Management[9]
Đối tượng trong lập trình hướng đối tượng biểu thị các thành phần tính toán giống như: các chỉ mục kiểm kê, các giao dịch tài chính, tài liệu, và các quy trình
Trang 38nghiệp vụ Nó là một phép ánh xạ từ không gian bài toán vào một mô hình tính toán Chúng được phân biệt dựa trên trạng thái và các hành vi đã được khai báo Chúng giao tiếp bằng các thông điệp ý nghĩa mơ hồ không rõ ràng Với phương pháp hướng tác tử, đối tượng được xem là nguồn gốc nguyên thuỷ của tác tử Trong một
số trường hợp thì tác tử có thể được hiểu giống như là các đối tượng bởi chúng cũng đặc trưng bởi trạng thái và các hành vi Khác với đối tượng, tác tử hành động hướng mục đích và các nỗ lực thực hiện để thu được kết quả hướng đến những mục đích đó Nói một cách khác, các phương thức của đối tượng chỉ thực hiện các mã lệnh đã được cài đặt theo các thông điệp khác nhau Còn một tác tử có thể tổng hợp các kế hoạch từ thông tin môi trường và dữ liê ̣u sẵn có để xử lý các sự kiện mà người lập trình chưa thể nhìn thấy trước và có thể học được từ việc đúc kết các kinh nghiệm Sau khi nghiên cứu phương pháp phân tích thiết kế hướng đối tượng, ta thấy rằng, phương pháp này không thể áp dụng một cách trực tiếp cho việc phát triển các
hệ thống đa tác tử Đây là cơ sở để đưa các các khái niệm khác nhau giữa tác tử và đối tượng:
Tác tử có cấu trúc và các hành vi phức tạp hơn đối tượng và có thể so sánh nó với các hệ thống con trong phương pháp luận hướng đối tượng Kiến trúc bên trong của chúng khác với đối tượng bởi tác tử có kiến trúc chức
năng cơ sở phức tạp hơn Với quan điểm này thì tác tử có mức độ trừu tượng cao hơn đối tượng
Trong khi với đối tượng thiên về các thực thể thụ động, thì tác tử là một thực thể linh hoạt và chủ động Một đối tượng chỉ ở trạng thái hoạt động
thông qua việc nhận một thông điệp chỉ thị Còn tác tử có thể tự quyết định thực hiện các hành động theo những mục đích của nó Chúng có thể đáp la ̣i các sự kiện hoặc các thông điệp yêu cầu nhận được từ các tác tử khác Nói
một cách khác chúng có khả năng tự tương tác với nhau và với môi trường xung quanh
Trang 39 Các mô hình di động không thể được xử lý bằng phương pháp hướng đối
Dập khuôn là một cơ chế trong UML cho phép đưa ra các kiểu mới của các thành phần mô hình hoá trên cơ sở các khái niệm, ký pháp đã có Cú pháp của dập khuôn là một xâu kí tự được bao trong thẻ <<>>, khai báo trước tên của mỗi thành phần Chúng có thể có các ký hiệu đồ hoạ liên quan hoặc các ký pháp đồ hoạ Thành phần mô hình hoá mới có thể được biểu diễn thông qua kiểu dập khuôn nhưng phải là một lớp con của một lớp có sẵn
Kết hợp UML và kiểu mở rộng dấp khuôn có thể đặc tả các hệ thống được thiết
kế theo phương pháp hướng tác tử Dưới đây là bảng một số các thành phần dấp khuôn bổ xung cho bộ ký pháp UML nhằm phục vụ cho việc phân tích và thiết kế
hệ đa tác tử[26]
<<Tác tử>> Lớp đối tượng
<<Tác tử di động >> Tác tử
<<Nơi cư tru ́ >> Lớp đối tượng
<<Hàng xóm>> Gói
<<Mẫu ta ́c tửte>> Gói
<<Hành trình>> Gói
Trang 40<<Mẫu nơi cư tru ́e>> Gói thư viê ̣n
<<Vòng đời>> Gói thư viê ̣n
<<Mẫu nhiê ̣m vu ̣>> Gói thư viê ̣n
<<Tác tử giao diện>> Tác tư ̉
<<Tác tử nhiệm vụ>> Tác tư ̉
<<Tác tử thông tin>> Tác tư ̉
<<Đi>> Hành đô ̣ng
<<Gă ̣p>> Hành đô ̣ng
3.3 Giai đoạn phân tích
3.3.1 Sơ đồ tiến tri ̀nh phân tích
3.3.2 Mô ta ̉ các bước
a) Bước 1 – Xác định và phân tích các ca sử dụng của hệ thống
Phân tích ca sử dụng là một phương pháp có hiệu quả để nhận biết các yêu cầu thực tế và tiềm năng của một hệ thống mới Mỗi ca sử dụng sẽ biểu diễn một hoặc nhiều tình huống,mô tả làm cách nào hệ thống sẽ tương tác với người dùng cuối và các hệ thống khác để đạt được mục đích nào đó Có một số lượng lớn các chuẩn đã
Hình 3.1 Các kiểu dập khuôn bổ sung
Phân tích
ca sử
dụng
Xác đi ̣nh nhiê ̣m vụ của tác tử
Xác đi ̣nh nơi cư trú Xác đi ̣nh tác tử cơ
sở
Gán trách nhiê ̣m
Hình 3.2 Sơ đồ tiến trình phân tích
Yêu cẩu
của người
sử du ̣ng
Tách/gô ̣p tác tử
Bảng nhiê ̣m vu ̣ Danh sách
nơi cư trú Danh sách tác tử cơ
sở
Bảng trách nhiê ̣m của tác tử
Danh sách tác tử