CHƯƠNG 1: HỆ ĐA AGENT 19 Đích (goal) là khái niệm để trả lời câu hỏi hệ thống hướng tới cái gì. Phương pháp mô hình hóa yêu cầu hướng đích sẽ xác định các yêu cầu chức năng và phi chức năng theo phương pháp sau: Yêu cầu chức năng sẽ được thu thập và nhóm theo trả lời của các câu hỏi cái gì. Tức là cần phải trả lời các câu hỏi như hệ thống hướng tới thực hiện các công việc gì? các thành phần nào cần có trong hệ thống? các ràng buộc của hệ thống là gì?. Các yêu cầu phi chức năng nhằm mô hình hoá các câu hỏi tại sao, thế nào như hệ thống thực hiện nhiệm vụ của mình như thế nào, tại sao cần hệ đa agent? Các ví dụ của phương pháp mô hình hoá yêu cầu hướng đích: KAOS (Knowledge Acquistion in automated Specification): là một khuôn mẫu chung để mô hình hoá yêu cầu dựa trên tính hướng đích của agent.
NFR (Non-Functional Requirement): Tập trung vào việc đặc tả và lập luận liên quan đến các yêu cầu phi chức năng. NFR cũng xây dựng phương pháp để biểu diễn các yêu cầu softgoal, ví dụ như các goal không định nghĩa một cách rõ ràng được, các goal mô tả yêu cầu thoả mãn ràng buộc.2 Các cách tiếp cận trong phân tích thiết kế hệ thống đa agent Đề tài nghiên cứu khoa học Theo [37] các phương pháp luận phân tích và thiết kế hệ đa agent đều được xây dựng dựa trên một trong ba cách tiếp cận (Xem Hình 1.1): - Dựa trên agent và công nghệ agent - Phát triển từ phương pháp hướng đối tượng - Dựa trên công nghệ tri thức. CHƯƠNG 1: HỆ ĐA AGENT 20 Phương Phươngpháp phápluận luậnphát pháttriển triển hệ đa agent hệ đa agent Cách Cách Cáchtiếp tiếpcận cậntheo Cáchtiếp tiếpcận cậndựa dựa Cách Cáchtiếptiếpcận cậnphát phát Công nghệ tri theo thức trên trênAgent AgentvàvàCông Công triển triểntừtừhướng hướngđối đối Công nghệ tri thức Dựa trên quá trình nhận nghệ nghệAgent: Agent: tượng tượng Dựa trên quá trình nhận dạng, thu nhận và mô Các khái niệm trừu tượng Agent: object có mức dạng, thu nhận và mô Các khái niệm trừu tượng Agent: object có mức hình hoá tri thức mức xã hội: Agent, nhóm, trừu tượng cao hơn. hình hoá tri thức mức xã hội: Agent, nhóm, trừu tượng cao hơn.
tổ chức Mở rộng UML tổ chức Mở rộng UML Hình 1.1: Các cách tiếp cận xây dựng phương pháp luận đa agent Cách tiếp cận theo agent và công nghệ agent Các nghiên cứu xây dựng phương pháp luận phát triển hệ đa agent theo các đặc Đề tài nghiên cứu khoa học trưng của agent và công nghệ agent xuất phát từ các nhận định sau: - Agent có những đặc trưng riêng như tính tự chủ, tính chủ động và khả năng phản ứng. Các đặc trưng này là khác hoàn toàn khác với đối tượng và tạo cho agent khả năng tương tác chủ động và khả năng suy luận mà các đối tượng không có. Vì vậy, không thể mô hình hoá agent bằng cách sử dụng các phương pháp luận dành cho hướng đối tượng. - Agent hoạt động như một xã hội với các luật chi phối riêng nên có thể xem xét agent từ khía cạnh xã hội và sử dụng các khái niệm trừu tượng mức xã hội để mô hình hoá các agent trong hệ thống.
Các khái niệm trừu tượng mức xã hội được sử dụng để mô hình hoá agent theo cách tiếp cận này bao gồm agent, nhóm (group), tổ chức (organization). Mức trừu tượng xã hội được xem như là một mức trừu tượng cao hơn so với mức đối tượng thông thường và phù hợp với việc biểu diễn các agent vì xã hội các agent bao gồm các thành phần có tính phản ứng, linh hoạt và tương tác chủ động. Dựa trên các khái niệm trừu tượng mức xã hội mà phương pháp luận này định nghĩa các bước, các pha của toàn bộ quá trình phát triển hệ thống. Thông thường, với cách tiếp cận này, quá trình phát triển hệ thống được phân thành hai pha tách biệt: pha phân tích và pha thiết kế.
Pha phân tích tương ứng với mô CHƯƠNG 1: HỆ ĐA AGENT 21 hình tổ chức (organization model) còn pha thiết kế ứng với mô hình agent (agent model). Tiêu biểu cho các phương pháp luận thuộc loại này là các phương pháp luận Gaia, SODA, AALAADIN…Phương pháp luận Gaia sẽ được giới thiệu chi tiết hơn trong phần 1. Cách tiếp cận phát triển từ phương pháp hướng đối tượng. Khác với cách tiếp cận trên, cách tiếp cận phát triển từ phương pháp hướng đối tượng dựa trên quan điểm cho rằng các kỹ thuật đã được phát triển và được áp dụng rộng rãi cho công nghệ phần mềm hướng đối tượng có thể được mở rộng cho các phần mềm hướng agent.
Cách tiếp cận này xem mỗi agent cũng là một đối tượng nhưng ở mức trừu tượng cao hơn. Các công cụ sử dụng để biểu diễn đối tượng và phân tích thiết kế hệ thống hướng đối tượng như UML hoàn toàn có thể mở rộng để biểu diễn các đặc trưng riêng của agent. Các nghiên cứu xây dựng phương pháp luận phát triển từ phương pháp luận hướng đối tượng tập trung vào các công việc sau: - Phát triển các công cụ dựa trên nền tảng sẵn có của hướng đối tượng để áp dụng cho hệ đa agent, ví dụ như mở rộng UML thành AUML (Agent UML). Đề như tài nghiên cứu khoa học Bổ sung các bước, pha mang tính đặc trưng của agent và công nghệ agent - đích (goal), vai trò (role) và ontology.
Tiêu biểu cho các phương pháp luận này là các phương pháp luận MaSE, MASSIVE, KGR. Cách tiếp cận dựa trên công nghệ tri thức Dựa trên quan điểm cho rằng quá trình mô hình tri thức riêng của mỗi agent và sự trao đổi tri thức giữa các agent trong hệ thống chính là cơ sở của mọi hoạt động của hệ thống, các nghiên cứu theo cách tiếp cận này sử dụng các khái niệm và quá trình trong công nghệ tri thức để xây dựng nên phương pháp luận cho hệ đa agent. Các phương pháp luận này tập trung vào các quá trình thu thập tri thức (Knowledge acquisition), mô hình tri thức (Knowledge modelling) và lập luận được sử dụng bởi các thành phần agent trong hệ thống phần mềm. Tiêu biểu cho cách tiếp cận này là các phương pháp luận như CoMoMAS, MAS- ComonKADS.
Như vậy, có ba cách tiếp cận trong phân tích và thiết kế hệ đa agent. Mỗi cách tiếp cận lại có những ưu điểm riêng. Để hiểu những điểm khác biệt của các phương pháp luận theo các cách tiếp cận này, phần còn lại của chương này dành trình bày về phương CHƯƠNG 1: HỆ ĐA AGENT 22 pháp luận Gaia (theo cách tiếp cận agent và công nghệ agent) và phương pháp luận MAS-CommonKADS (theo cách tiếp cận dựa trên công nghệ tri thức). Riêng với MaSE, đại diện cho cách tiếp cận phát triển từ hướng đối tượng, là phương pháp luận được lựa chọn để xây dựng quy trình phát triển hệ phần mềm hướng agent sẽ được trình bày chi tiết trong chương 4 của tài liệu.4 Phương pháp luận Gaia 1.1 Giới thiệu chung Gaia [38] là một phương pháp luận được xây dựng theo cách tiếp cận agent và công nghệ agent.
Phương pháp luận này phân biệt hoàn toàn hai pha phân tích và thiết kế đồng thời kết hợp các mô hình khác nhau trong các pha đó. Gaia tập trung xem xét hệ đa agent trên khía cạnh tổ chức với các khái niệm như: vai trò (role), tương tác (interaction), và thu thập tri thức (acquaintance). Phương pháp luận Gaia tiến hành phát triển hệ thống dựa trên cả hai quan điểm: quan điểm vĩ mô với mức xã hội (social level) và quan điểm vi mô với mức agent (agent level). Các bước phân tích thiết kế trong Gaia là sự chuyển tiếp giữa các mô hình trong quá trình xây dựng hệ thống.
Mối quan hệ giữa các bước này được biểu diễn như trong Đề tài nghiên cứu khoa học Hình 1.2 : Tập yêu cầu (Requirement Statement) PHA Mô hình vai trò Mô hình tương tác (Role model) (Interaction model) PHÂN TÍCH Mô hình agent Mô hình dịch vụ Mô hình tri thức PHA (Agent model) (Service model) (Acquaintance model) THIẾT KẾ Hình 1.2: Các bước phát triển của Gaia Gaia cũng mượn một số khái niệm và ký hiệu từ phân tích thiết kế hệ hướng đối tượng. Tuy nhiên, Gaia không áp dụng các phương pháp này để phát triển hệ đa agent mà cung cấp một tập các khái niệm mang tính đặc trưng của agent giúp cho người phát triển có thể hiểu và mô hình hoá được các hệ thống phức tạp. Gaia giúp người phát triển hệ thống xem quá trình phát triển hệ agent như là một quá trình thiết kế tổ chức (organisational design). Các khái niệm chính trong Gaia được phân thành hai nhóm CHƯƠNG 1: HỆ ĐA AGENT 23 chính là trừu tượng và cụ thể.
Các khái niệm trừu tượng bao gồm role, quyền hạn (permission), trách nhiệm (responsibilities), giao thức (protocol), hoạt động (activities) … còn các khái niệm cụ thể là kiểu agent (agent type), dịch vụ (service) hay thu thập tri thức (acquaintance). Ta sẽ lần lượt xem xét chi tiết các pha phân tích và thiết kế trong Gaia.2 Pha phân tích Mục đích của pha phân tích là phát triển một hiểu biết cơ bản về hệ thống và cấu trúc của nó (không xét chi tiết đến việc cài đặt hệ thống). Hiểu biết này được biểu diễn theo cấu trúc tổ chức của hệ thống. Chúng ta có thể xem cấu trúc tổ chức của một hệ thống bao gồm một tập các role, các mối quan hệ giữa các role và tương tác giữa các role đó.
Khái niệm role trong Gaia bao gồm bốn thuộc tính: trách nhiệm (responsibilities), quyền hạn (permissions), hoạt động (activities) và giao thức (protocols). Trách nhiệm xác định các yêu cầu chức năng ứng với role đó. Quyền hạn của một role giúp nhận ra các trách nhiệm thông qua việc xác định các tài nguyên sẵn sàng cho role đó. Các hoạt động của role là các tính toán liên kết với role mà agent có thể có thể tiến hành mà không cần tương tác với agent khác.
Mỗi role cũng được định nghĩa bởi một số giao thức, mỗi giao thức xác định role đó phải tương tác với các role Đề tài nghiên cứu khoa học khác như thế nào. Dựa trên yêu cầu, pha phân tích sẽ tiến hành xây dựng mô hình role và mô hình tương tác giữa các agent trong hệ thống. Mô hình role nhằm xác định các role của hệ thống và được biểu diễn một cách trừu tượng theo hai thuộc tính: - Các quyền hạn ứng với role đó - Các trách nhiệm của role đó Mô hình tương tác xác định sự phụ thuộc và các mối quan hệ giữa các role trong tổ chức đa agent. Mỗi giao thức tương tác kết nối 2 role sẽ được định nghĩa cụ thể trong mô hình này.