I. Tương tác trong hệ đa agent
Tương tác là một trong những hoạt động cơ bản của các thành phần trong một hệ thống. Nó quyết định sự thành công của từng thành phần đó cũng như mục tiêu chung của hệ thống tổng thể. Trong chương này, chúng ta sẽ tìm hiểu về tương tác trong hệ thống phần mềm, đặc biệt là tương tác giữa các Agent trong hệ đa agent. Hệ phần mềm phức tạp đã luôn là vấn đề khó khăn đối với ngành công nghệ phần mềm trong khi độ phức tạp của các hệ thống này lại không ngừng tăng lên do sự phong phú về chức năng, mục đích, sự đa dạng về người dùng. Để tìm ra phương pháp luận này, chúng ta có thể sử dụng một số đặc điểm quan trọng của hệ phức tạp như cấu trúc phân cấp, khả năng mở rộng nhanh và sự lựa chọn thành phần tùy ý. Những đặc điểm này giúp định nghĩa một cách nhìn chuẩn về hệ thống, từ đó phát triển các công cụ mạnh để xử lý tính phức tạp của hệ thống. Tương tác trong hệ đa agent có thể chia thành hai loại: tương tác giữa các hệ thống con và tương tác giữa các thành phần của một hệ thống con. Điều này tạo ra một mô hình chuẩn cho hệ thống phức tạp, giúp các kỹ sư phần mềm phát triển các công cụ mạnh để xử lý tính phức tạp của hệ thống.
1.1. Hệ phần mềm phức tạp
Kỹ nghệ các hệ thống phức tạp đã luôn là vấn đề khó khăn đối với ngành công nghệ phần mềm. Độ phức tạp của các hệ thống này không ngừng tăng lên do sự phong phú về chức năng, mục đích và sự đa dạng về người dùng. Để tìm ra phương pháp luận thích hợp, cần có một số đặc điểm quan trọng của hệ phức tạp như cấu trúc phân cấp, khả năng mở rộng nhanh và sự lựa chọn thành phần tùy ý. Những đặc điểm này giúp định nghĩa một cách nhìn chuẩn về hệ thống, từ đó phát triển các công cụ mạnh để xử lý tính phức tạp của hệ thống. Tương tác trong hệ đa agent có thể chia thành hai loại: tương tác giữa các hệ thống con và tương tác giữa các thành phần của một hệ thống con. Điều này tạo ra một mô hình chuẩn cho hệ thống phức tạp, giúp các kỹ sư phần mềm phát triển các công cụ mạnh để xử lý tính phức tạp của hệ thống.
II. Mô hình tương tác dựa trên role
Mô hình tương tác dựa trên role trong hệ đa agent đang thu hút nhiều sự quan tâm nghiên cứu. Role được hiểu là tập hợp các quyền hạn, chức năng và nghĩa vụ mà một agent đảm nhận để thực hiện một nhiệm vụ cụ thể. Khi một agent muốn thực hiện một công việc, nó sẽ đảm nhận một role tương ứng. Ví dụ, trong một phiên đấu giá, agent có thể chọn đảm nhận role Người mua (Bidder) hoặc role Người bán (Seller). Việc sử dụng role cho phép người phát triển phân tách rạch ròi vấn đề liên quan đến tương tác với các vấn đề liên quan đến thuật toán của agent. Điều này làm tăng tính mô đun hóa và sử dụng lại của phần mềm. Các ứng dụng cùng thể loại có thể sử dụng lại các role đã được phát triển hoàn thiện của một ứng dụng trước đó và hoàn toàn có thể chỉnh sửa cho phù hợp với ngữ cảnh cụ thể. Mô hình này không chỉ giúp đơn giản hóa quá trình phát triển mà còn nâng cao khả năng tương tác giữa các agent trong hệ thống.
2.1. Khung BRAIN
Khung BRAIN cung cấp một mô hình để trừu tượng hóa role bao gồm: tập kí hiệu XRole để đặc tả role cũng như cơ sở tương tác RoleX. Trong BRAIN, role được mô hình dưới dạng các hành vi, khả năng và tri thức mà agent có thể sử dụng để thực hiện nhiệm vụ. Hành vi của agent là tập các sự kiện mà agent có thể quản lý còn khả năng của agent là tập các hành động mà agent có thể thực hiện. Tương tác giữa các agent được mô hình bởi một cặp (hành động, sự kiện). Tương tác xảy ra khi một agent chọn thực hiện một hành động và cơ sở tương tác sẽ dịch hành động này thành một sự kiện rồi gửi tới agent nhận. Agent nhận tiếp nhận, xử lý các sự kiện này và đáp trả bằng cách chọn thực hiện một hành động trong khả năng của nó. Mô hình này không chỉ giúp đơn giản hóa quá trình phát triển mà còn nâng cao khả năng tương tác giữa các agent trong hệ thống.
III. Cài đặt thử nghiệm hệ thống đấu giá
Chương này sẽ trình bày một cài đặt thử nghiệm hệ thống đấu giá sử dụng mô hình BRAIN trên nền Jade. Hệ thống đấu giá trực tuyến đã trở nên phổ biến, đặc biệt với sự phát triển của Internet. Việc sử dụng các agent thông minh đã giúp người dùng có thể thoát ly việc ra quyết định trong đấu giá đồng thời có thể tham gia nhiều cuộc đấu giá cùng lúc. Tuy nhiên, tương tác giữa các agent này lại đặt ra nhiều vấn đề đối với người phát triển hệ thống như làm cách nào để agent có thể di chuyển dễ dàng giữa các nút trong mạng, cách nào để một agent có thể tham gia đồng thời nhiều cuộc đấu giá với những vai trò khác nhau. Mục đích của cài đặt thử nghiệm này là để kiểm tra tính khả thi và hiệu quả của mô hình tương tác dựa trên role trong việc phát triển hệ thống đấu giá trực tuyến. Kết quả thử nghiệm sẽ cung cấp những thông tin quý giá cho việc cải tiến và phát triển các hệ thống tương tự trong tương lai.
3.1. Giao thức đấu giá
Giao thức đấu giá kiểu Anh sẽ được áp dụng trong cài đặt thử nghiệm này. Giao thức này cho phép các agent tham gia đấu giá có thể đưa ra giá thầu và phản hồi lẫn nhau một cách linh hoạt. Các agent sẽ sử dụng ngôn ngữ truyền thông ACL để giao tiếp và thực hiện các hành động cần thiết trong quá trình đấu giá. Việc cài đặt giao thức này không chỉ giúp kiểm tra tính khả thi của mô hình mà còn tạo ra một môi trường thực tế để các agent tương tác và thực hiện các nhiệm vụ của mình. Kết quả của cài đặt thử nghiệm sẽ được phân tích để đánh giá hiệu quả của mô hình tương tác dựa trên role trong hệ đa agent.