Mô hình role

Một phần của tài liệu Mô hình tương tác dựa trên role trong hệ đa agent (Trang 45)

Như đã trình bày ở phần trước, trong phương pháp hướng đối tượng, role được sử dụng để chỉ một tập hành vi mà một đối tượng có thể áp đặt lên đối tượng khác để làm thay đổi khả năng cũng như hành vi của đối tượng đó. Một số khác thì xem role là một tập các đối tượng hoặc thực thể để nhấn mạnh sự tương đồng giữa role trong chương trình máy tính và trong thế giới thực. Khi áp dụng role vào hệ đa agent, do bản chất của Agent cũng là các đối tượng nên nhiều phương pháp đã kế thừa lại các phương pháp hướng đối tượng và phát triển thêm một số tính năng liên quan đến tương tác. Tuy nhiên, các phương pháp này chưa thể hiện được tính phản ứng cũng như chủ động của Agent. Vì vậy, người ta đã đề xuất ra nhiều cách mô hình role dành riêng cho hệ đa agent.

Trong số các phương pháp mô hình role, một số mô hình role liên quan các dịch vụ của Agent như phương pháp AALADIN [22], ROPE [7]…AALAADIN coi role là sự thể hiện trừu tượng của các dịch vụ Agent trong khi đó phương pháp ROPE định nghĩa role dưới dạng một tập các quyền hạn và dịch vụ. Tương tác được mô hình bởi đồ thị dịch vụ.

Cách thức mô hình role phổ biến hơn là dưới dạng các trách nhiệm, quyền hạn, nghĩa vụ, bổn phận…Phương pháp GAIA [51] mô hình role dưới dạng tập hợp các trách nhiệm (responsibility), quyền hạn (permission), hoạt động (activity) và giao thức (protocol). Tương tác giữa các Agent theo phương pháp GAIA sẽ được điều khiển bởi các giao thức. Yu&Schmid [52] lại đề xuất mô hình role dưới dạng các quyền và nghĩa vụ. Role cũng được tiếp cận dưới dạng khả năng và trách nhiệm như phương pháp của Haibin Zhu [55]. Phương pháp của Fasli [21] thì định nghĩa role là tập các nghĩa vụ, quyền lợi và cam kết xã hội. Phương pháp BRAIN là một phương pháp đa tầng định nghĩa role bằng các tài liệu XML mô tả role như một tập các khả năng và hành vi.

Tóm lại, role có thể được mô hình theo nhiều cách khác nhau song nói chung mọi định nghĩa đều muốn thể hiện role ở hai khía cạnh quan trọng nhất. Thứ nhất là những khả năng mà role có thể cung cấp cho Agent đảm nhận nó và có thể được hiểu là các quyền hạn, hoạt động, dịch vụ hay quyền lợi… Thứ hai là những việc role phải thực hiện, xử lý đối với các thành phần bên ngoài, được mô tả dưới dạng các trách nhiệm, nghĩa vụ…

Theo quan điểm của nhóm Zambonelli et al. [10], role được định nghĩa như sau:

―Role là tập các khả năng, hành vi mong đợi và tri thức mà agent có thể dùng đến khi cần‖.

Các khả năng của một role là tập các hành động mà một agent đảm nhận role đó có thể thực hiện để hoàn thành nhiệm vụ của mình. Hành vi được mong đợi là tập các sự kiện mà agent phải quản lý. Điều này dẫn đến hai cái nhìn khác nhau về role: nhìn từ phía môi trường, role áp đặt các hành vi đã được xác định lên các Agent đảm nhận nó; nhìn từ quan điểm ứng dụng, role cung cấp một tập khả năng mà Agent có thể sử dụng để thực hiện nhiệm vụ của mình.

Hình 2.1. Mô hình tương tác dựa trên role

Với định nghĩa role như trên, tương tác được mô hình bởi một cấu trúc ba tầng (Hình 2.1):

 Tầng ứng dụng: biểu diễn bởi các Agent .

 Tầng role: Sử dụng role để cho phép tương tác giữa các Agent với nhau và giữa Agent với môi trường.

 Tầng môi trường: Đây là tầng thấp nhất, có khả năng áp đặt các chính sách cục bộ lên tương tác giữa Agent với Agent và giữa Agent với tài nguyên hệ thống.

Tương tác giữa hai agent có thể được biểu diễn bởi cặp (hành động, sự kiện). Khi một Agent muốn thực hiện một tương tác nào đó, nó chọn thực hiện một trong các hành động có thể của mình. Hành động này sau đó sẽ được chuyển thành sự kiện tương ứng để gửi tới Agent nhận. Tại đây, Agent nhận sẽ xem sự kiện có thuộc

quyền kiểm soát của nó hay không. Nếu có Agent sẽ phát động một hành động để đáp trả, ngược lại sẽ đưa ra cảnh báo lỗi.

Qua cách mô hình role, chúng ta nhận thấy một số tính chất nổi bật của role như sau:

Role bao gói tất cả các thông tin và khả năng cần thiết để tương tác:

Agent đảm nhận role không cần phải biết chi tiết về môi trường thực thi hiện tại cũng như cách thức thực hiện tương tác trong môi trường đó.

Khả năng Hành vi Agent Role Khả năng Hành vi Agent Role Nền tương tác Tầng môi trường Tầng role Tầng ứng dụng

Agent chỉ có một nhiệm vụ duy nhất là đăng ký để đảm nhận một role và sử dụng tất cả những gì mà role cung cấp. Khi không cần nữa, Agent lại liên hệ với Agent quản lý role để được giải phóng khỏi role hiện tại.

Role chỉ là tạm thời: Một Agent có thể chỉ đảm nhận role trong một

khoảng thời gian hữu hạn hoặc trong một ngữ cảnh cụ thể nào đó.

Role là tổng quát: Tức là role không gắn chặt với một ứng dụng cụ thể nào.

Nó biểu diễn các đặc trưng chung chung có thể được sử dụng trong nhiều ứng dụng khác nhau.

Role liên quan mật thiết tới ngữ cảnh: Mỗi môi trường có thể áp đặt các

quy tắc, chính sách cục bộ lên role. Môi trường cũng có thể cung cấp cho role những khả năng rất riêng và chỉ được sử dụng trong môi trường đó. Những tính chất trên tạo cho các phương pháp dựa trên role vừa mang tính khái quát đồng thời có thể phát triển theo yêu cầu cục bộ. Role cũng nâng cao tính sử dụng lại của phần mềm do phần mềm sau có thể sử dụng những role đã phát triển hoàn thiện của những phần mềm trước đó như các mẫu thiết kế. Điểm đáng lưu ý hơn cả là role cho phép tách những vấn đề về tương tác khỏi các vấn đề về thuật

toán. Điều này khiến cho việc phát triển agent và role có thể độc lập nhau về mặt

thời gian cũng như phương pháp, làm tăng khả năng phân rã và do đó làm đơn giản hóa quá trình phát triển hệ thống.

Một phần của tài liệu Mô hình tương tác dựa trên role trong hệ đa agent (Trang 45)