Mô hình này tuy rất đơn giản, dễ hiểu nhưng vẫn thể hiện được tính tổng quát và phù hợp với các đặc trưng của agent. Nó đơn giản ở chỗ tương tác chỉ là sự trao đổi các hành động và sự kiện giữa các bên nhưng không giống như trao đổi message giữa các đối tượng. Mô hình này vẫn thể hiện được tính tổng quát cũng như tính Agent trong tương tác của hệ thống. Việc agent có thể tự khởi động tương tác bằng cách thực hiện một hành động có thể được coi là một thể hiện cụ thể của tính chủ động (proactiveness) của agent. Trong khi đó, việc agent đáp trả lại các sự kiện được gửi tới phản ánh tính phản ứng (reactiveness) của agent. Điều này hoàn toàn khác với việc gọi thực hiện các phương thức công cộng của một đối tượng từ bên ngoài mỗi khi muốn đối tượng đó thực hiện yêu cầu trong hệ hướng đối tượng.
3.2. XRole – Tập kí hiệu đặc tả role
Hạn chế của nhiều phương pháp mô hình tương tác hiện thời là thiếu một tập kí hiệu để đặc tả hệ thống ở mức trừu tượng hoặc nếu có thì tập kí hiệu này lại không dùng được trong pha cài đặt. Điều này dẫn đến sự manh mún trong giải pháp.
Role A Khả năng Role B B Khả năng Hệ thống tương tác Hành động Sự kiện Hành vi Hành vi
BRAIN cung cấp một tập kí hiệu, được gọi là XRole, cho phép đặc tả role trong phân tích, thiết kế đồng thời có thể sử dụng trong pha cài đặt [16]. XRole sử dụng ngôn ngữ XML để định nghĩa các role. Sở dĩ, các tác giả lựa chọn XML vì một số đặc tính hữu ích cơ bản sau [1]:
XML thể hiện các thông tin dưới dạng các thẻ quen thuộc (giống như ngôn ngữ đánh dấu HTML). Hầu hết người phát triển đều quen thuộc với HTML nên đây được xem như là một lợi thế của XML.
Nội dung của tài liệu XML cũng có thể chuyển sang nhiều định dạng khác nhờ các XSL sheet thích hợp.
XML còn là ngôn ngữ độc lập với platform (đây là yêu cầu tối cần thiết đối với các ứng dụng chạy trên Internet). Điều này tạo cho XML tính khả chuyển lớn.
Các tài liệu XML có thể được mở rộng tùy theo yêu cầu của ứng dụng. Với những ưu điểm trên của XML, tập kí hiệu XRole của BRAIN đã dùng ngôn ngữ này để đặc tả định nghĩa các role. Sau đây, chúng ta sẽ tìm hiểu chi tiết cách thức định nghĩa role với XRole.
3.2.1. Đặc tả role
Trong XML, trước khi định nghĩa các role thực sự, chúng ta phải tạo ra một khuôn mẫu hay cấu trúc của các thành phần có trong một role. Các định nghĩa role sau đó sẽ phải tuân theo khuôn mẫu này mới là các file XML hợp lệ [1]. Việc xác định các khuôn mẫu này cũng thuận lợi cho việc sử dụng lại role. Người phát triển sau có thể nhanh chóng hiểu được cấu trúc của role khi xem các file khuôn mẫu. Có hai cách để khai báo khuôn mẫu trong XML:
<XML version=”1.0” encoding=”UTF-8”>
<!Element element_name (element1_name, element2_name,…) <!Element element1_name (data_type)>
<!Element element2_name (#PCDATA)>