Bài giảng Hệ dựa tác tử và mở rộng AUML (Agent Based and A-UML)
Bạn đang xem tài liệu "Bài giảng Hệ dựa tác tử và mở rộng AUML (Agent Based and A-UML)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_he_dua_tac_tu_va_mo_rong_auml_agent_based_and_a_um.pdf
Nội dung text: Bài giảng Hệ dựa tác tử và mở rộng AUML (Agent Based and A-UML)
- Phát triển hệ thống phần mềm Lesion 10 Agent Based and A-UML Hệ dựa tác tử và mở rộng AUML Độ phức tạp Mô hình Có một số lượng lớn các thành – sub-routines; phần với nhiều tương tác – procedures & functions; Có nhiều mô hình được đưa ra – abstract data types; để làm cho việc phát triển phần hunglt@it-hut.edu.vn – objects; mềm dễ dàng hơn to agents. OO, Component-ware, được phát triển theo chiều tăng của độ phức tạp của phần mềm. (c) SE/FIT/HUT 2005 1 (c) SE/FIT/HUT 2005 2 Phầnmềm hướng agent Hệ thống dựa agent Sự phát triển các hệ đa agent phức Hệ đa agent như là một cộng đồng các agent, nơi tạp yêu cầu không chỉ các mô hình mà tương tác qua lại giữa các agent và với môi và kĩ thuật trường của chúng đưa tới một hành vi toàn thể hữu Phương pháp luận mới hỗ trợ cách ích. tiếp cận được công nghệ hoá phân Một hệ đa agent bao gồm: tích và thiết kế hệ thống. 9 Công nghệ phần mềm hướng agent: Các agent, được xem như các cá thể phân rã bài toán thành nhiều thành 9 Tương tác giữa các agent phần tương tác và tự trị (agents) mà 9 Sự phụ thuộc qua lại giữa agent và các quan hệ có các mục tiêu cụ thể để đạt tới cộng đồng, hay là các quan hệ tổ chức (c) SE/FIT/HUT 2005 3 (c) SE/FIT/HUT 2005 4 Phân tích và thiết kế hướng agent Thiết kế phần mềm hướng agent Mỗi agent trong hệ thống được giao một hoặc một Phân tích hướng agent bắt đầu từ việc định số nhiệm vụ riêng nghĩa các yêu cầu và mục đích của hệ agent phải nắm được đầy đủ trách nhiệm đối với thống. việc hoàn thành nhiệm vụ được giao. Các nhiệm vụ cộng đồng biểu diễn các chức năng các mục đích toàn thể của ứng dụng được toàn cục của hệ thống agent. phân rã thành những mục tiêu con nhỏ hơn, Thiết kế quan tâm tới sự biểu diễn các mô hình cho tới khi có thể quản lí được chúng. trừu tượng lấy từ pha phân tích. Việc phân tích hướng agent phải nhận ra Trách nhiệm, nhiệm vụ và giao thức tương tác cần được ánh xạ lên agent, các tương tác và tổ chức trách nhiệm của một agent cấp cao (c) SE/FIT/HUT 2005 5 (c) SE/FIT/HUT 2005 6 1
- Lý thuyết Gaia Gaia - Overview Motivation behind Gaia Gaia là một lý thuyết dùng trong phân tích Tồn tại nhiều phương pháp nhưng không có phương pháp nào và thiết kế hướng agent. hỗ trợ Agnet. Cụ thể trong tương tác và tổ chức Mô hình Gaia Supports Hỗ trợ phân tích thiết kế mức Phân tích hướng tới việc phát triển để hiểu vi mô Micro-level rõ hệ thống và cấu trúc của nó, mà không Agent Structure Hỗ trợ phân tích thiết kế mức cao vĩ mô Macro-level tham chiếu tới việc thực hiện chi tiết. Agent Society and Organizational Structure Inter-agent relationships and agent abilities Static at runtime ⇒ Most useful in closed systems (c) SE/FIT/HUT 2005 7 (c) SE/FIT/HUT 2005 8 Gaia Analysis Process Pha phân tích 1. Find Roles in the system 9 Xác định các vai trò trong hệ thống và định nghĩa một dãy • Similar to finding (natural) objects and classes in các vai trò chính bằng ngôn ngữ miêu tả phi hình thức. OOA 9 Với mỗi vai trò xác định các giao thức liên kết. 2. Model interactions between roles 9 Xem xét lại các mô hình. • Responsibilities • Đầu ra của pha phân tích là mô hình hoàn thiện • Liveness Properties – what good the agent does for the system của các vai trò – mô tả về trách nhiệm, quyền hạn, • Safety Properties – ”safety-net” for the system các giao thức tương tác, hoạt động và mô hình • Permissions – what the role is allowed to do tương tác • Activities – the roles own tasks (doesn’t require • mỗi giao thức được mô tả về sự chuyển đổi dữ liệu interaction) và các thành phần có liên quan. • Protocols – particular patterns of interaction (e.g. Auction) (c) SE/FIT/HUT 2005 9 (c) SE/FIT/HUT 2005 10 Gaia Design Process Pha thiết kế Ánh xạ vai trò vào các loại Agent và tạo ra các • Pha thiết kế tập trung vào việc định nghĩa hệ thống agent để nó thực thể có thể hoạt động. Các giai đoạn: Similar to define classes in OOD 9 Xác định mô hình agent, kết hợp vai trò vào các loại agent. => Similar to instantiate (right number of) objects in xây dựng hệ thống phân cấp các loại agent và ước lượng số OOD lượng các instance được yêu cầu đối với mỗi lớp. 9 Xác định các dịch vụ mà agent phải cung cấp để hoàn thành Định nghĩa mô hình dịch vụ các nhiệm vụ mà chúng được giao bằng cách phân tích các How to fulfill a role in one or several agents nhiệm vụ và hoạt động. Đó là các giao thức được định nghĩa cho mỗi vai trò. Tạo mô hình sơ bộ 9 Phát triển các mô hình thích hợp để xác định các khả năng Representation of communication between agents thiếu sót trong thiết kế. • Đầu ra của pha thiết kế là kiến trúc thực tế của hệ thống agent. (c) SE/FIT/HUT 2005 11 (c) SE/FIT/HUT 2005 12 2
- Các khái niệm cơ bản của lý thuyết Giới hạn của GAIA GAIA Không có các hệ thống mở: Gaia yêu cầu phải biết các agent trong hệ thống, cũng như các giao thức tương tác giữa chúng Không có các agent tư lợi: Gaia không giải quyết rõ ràng các trường hợp trong đóbản chất của các tương tác là không hợp tác Không có các luật cộng tác: Do thiếu sự trừu tượng hoá các nhiệm vụ chung nên Gaia không mô hình hoá rõ ràng các luật cộng tác và kết quả là gây thiếu sót hoặc bỏ qua hoàn toàn chúng trong các định nghĩa về agent (c) SE/FIT/HUT 2005 13 (c) SE/FIT/HUT 2005 14 Mô hình cộng tác Mô hình cộng tác Mô hình cộng tác giải quyết các vấn đề về tạo/huỷ, truyền thông, chia thành 2 lớp data-driven và control-driven: phân tán, di động trong không gian cũng như đồng bộ theo thời Trong mô hình cộng tác control-driven, các agent có khả năng cộng tác tương tác với các agent khác và với thế giới bên ngoài thông qua cổng vào/ra được định nghĩa từ gian của một tập các thực thể, các quá trình, các đối tượng hoặc các trước agent. Trong mô hình data-driven, các agent có khả năng cộng tác tương tác với thế giới bên Mô hình cộng tác có thể bao gồm 3 thành phần sau: ngoài bằng cách chuyển đổi cấu trúc dữ liệu thông qua phương tiện cộng tác. 9 Coordinables: các thực thể mà tương tác qua lại của chúng được thực hiện Khi mô hình cộng tác được sử dụng, thì phương tiện cộng tác sẽ theo mô hình. VD: các agent trong hệ thống đa agent làm trung gian cho tất cả các tương tác của các agent và ảnh 9 Coordination media: sự trừu tượng hoá khả năng tương tác của agent và là hưởng đến kết quả của các sự kiện tương tác theo các quy tắc hạt nhân xung quanh các thành phần được tổ chức. VD như cờ hiệu, các điều cộng tác của chúng. khiển, kênh và các phương tiện phức tạp khác 2 agent có thể tương tác với nhau thậm chí chúng không biết gì 9 Coordination laws:định nghĩa các behaviour của Coordination media để đáp ứng các sự kiện tương tác. về nhau, phương tiện cộng tác hầu như chỉ quan tâm đến việc kết nối giữa các agent bằng cách gửi thông điệp. (c) SE/FIT/HUT 2005 15 (c) SE/FIT/HUT 2005 16 Bằng cách làm trung gian cho tất cả tương tác của Việc chấp nhận mô hình cộng tác dẫn tới quan niệm các agent, phương tiện cộng tác về bản chất có thể hệ thống đa agent như một cộng đồng, trong đó các kiểm soát và ảnh hưởng tới tất cả các tương tác. nhiệm vụ riêng lẻ của các agent phải được mô hình Phương tiện cộng tác có thể ép buộc behaviour của hoá một cách riêng biệt với các nhiệm vụ của cộng các agent tuân theo các tương tác của chúng bằng đồng. cách: Hệ thống đa agent nên được xây dựng dựa trên một hạ tầng truyền thông phổ biến, hoạt động thực tế của 9 Ngăn cản việc truy nhập của các agent tới phương tiện cộng tác. hệ thống nên bao gồm hoạt động của cơ sở hạ tầng cần thiết làm cho tất cả các tương tác đều tuân theo 9 Sửa đổi ngữ nghĩa của các tương tác của agent behaviour của phương tiện cộng tác. (c) SE/FIT/HUT 2005 17 (c) SE/FIT/HUT 2005 18 3
- Multiagent Systems Engineering Mô hình cộng tác Methodology (MaSE) Motivation behind MaSE Lack of proven methodologies for agent-systems Lack of industrial-strength software tools Similar to Gaia with respect to Generality Application Domain (closed systems) MaSE’s differences from Gaia Supports automatic code creation Scott DeLoach (c) SE/FIT/HUT 2005 19 (c) SE/FIT/HUT 2005 20 The MaSE Process – I The MaSE Process – II 1. Capturing Goals 4. Creating Agent Classes • initial system specification ⇒ struct. hierarchy of goals • Maps roles to agent classes in an agent class diagram • i.e. similar to requirement specification • Resemble object class diagrams, but semantics is high-level conversation versus inheritance (and encapsulation) 2. Applying Use Cases (i.e. UML) • Use cases and sequence diagrams based on spec. 5. Constructing Conversations • Use cases – represent logical interaction path • Defines coordination protocols for interaction with state diagrams • Sequence diagrams – number of messages needed 6. 3. Refining Roles Assembling Agent Classes • Internal functionalities of classes created • Creates roles corresponding to the goals (or a set of goals) • Based on either BDI, reactive, planning, knowledge-based and • Creates tasks – how to solve goals related to the role user-defined architecture. (c) SE/FIT/HUT 2005 21 (c) SE/FIT/HUT 2005 22 The MaSE Process – III Design Patterns 7. System Design • ”a pattern embodies a complete idea within a • Create instances of the agent classes presented in a program, and thus it can sometimes appear at the analysis phase or high-level design phase” Bruce deployment diagram Eckel, ”Thinking in Patterns with Java” Future vision of MaSE Support automatic code generation based on deployment • Types of patterns diagram Creational • How an object can be created (e.g. Factory, Prototype) Structural • Design to satisfy project constraints (e.g. Iterator) Behavioral • Objects handling particular types of actions (e.g. Interpreter) (c) SE/FIT/HUT 2005 23 (c) SE/FIT/HUT 2005 24 4
- Design Patterns for Agents Design Patterns for Mobile Agents 7-layer architecture Classification scheme – 3 classes 1. Mobility – mobile agents 1. Travelling class 2. Translation – communication/language 3. Collaboration – multi-agent issues 2. Task class 4. Actions – what agents should do 5. Reasoning – ”intelligence” 3. Interaction class 6. Beliefs – what the agent beliefs 7. Sensory – stimulus/response Danny B. Lange (c) SE/FIT/HUTElisabeth 2005 A. Kendall 25 (c) SE/FIT/HUT 2005 26 Formal Methodologies in Software Engineering Formal Methodologies in AOSE A formal methodology is usually logic-based Concurrent MetateM Temporal logic-based programming language for agents It can be used for Summary: future can found (calculated) based on the present Specification of a system and past state. • I.e. Requirement specification Directly (automatically) programming a system Formal Verification • I.e. Automatic code generation Axiomatic approach – Deductive Verification Verification of a system • Prove using logical deduction that an agent system is correct (powerful but can have exponential runtime) • Prove that a system is/behaves correct (according to its specifications) Semantic approach - Model Checking • Reverse engineer program to create a logic model, then check if the (formal) specification is valid in this model (c) SE/FIT/HUT 2005 27 (c) SE/FIT/HUT 2005 28 Conclusions of Lecture Agent-Methodologies are close to existing Software AUML Engineering (e.g. OO) methodologies Main difference is focus on interaction and behavior There is currently a lack of (industrial-strength) methodologies (e.g. UML) and software tools supporting agents. (c) SE/FIT/HUT 2005 29 (c) SE/FIT/HUT 2005 30 5
- UML( Unified Modeling Language) UML cho hệ tác tử Trong các thập niên 70, lập trình có cấu trúc chiếm ưu Các hệ thống dựa agent đòi hỏi tất cả các quá trình của thế trong sự phát triển phần mềm. công nghệ phần mềm như: phân tích, thiết kế, đánh giá, Trong những năm 80, các phương pháp hướng đối bảo trì tượng Agent có những điểm khác biệt (như đồng bộ và không 1995 UML ( Unified Modeling Language) đồng bộ các thao tác ) nên có những lúc UML không thể hỗ trợ toàn bộ để mô hình hóa hệ thống dựa agent UML là ngôn ngữ rất mạnh để mô hình hóa các đối tượng và thao tác của các đối tượng UML được mở rộng để có thể mô hình hóa các hệ Các mô hình tĩnh(Static Model): các biểu đồ lớp và gói thống agent Các mô hình động(Dynamic Model): biểu đồ tương tác, lược Đề xuất các mở rộng cho các đại diện UML: gói, mẫu, đồ trạng thái,biểu đồ hoạt động. biểu đồ diễn tiến, biểu đồ cộng tác, biểu đồ hoạt động, biểu đồ lớp, biểu đồ triển khai và các lược đồ trạng thái. (c) SE/FIT/HUT 2005 31 (c) SE/FIT/HUT 2005 32 Sử dụng AUML trong UML A-UML Sử dụng các biểu đồ trường hợp sử dụng hướng agent Để đặc tả cho hệ thống dựa mô tả các tương tác với người dùng, môi trường và tác tử , FIPA (Foundation for phần còn lại của hệ thống Intelligent Physical Agents ) sử dụng UML mở rộng, gọi Sử dụng biểu đồ ontology với các lớp mô hình các lớp là AUML ( Agent Unified thực thể trong ontology để mô hình hoá ontology Modeling Language). để đặc tả giao thức tương tác tác tử Sử dụng các biểu đồ lớp UML gọi là các architecture (AIP – Agent Interaction diagram để mô hình hoá kiến trúc hệ thống agent, Protcols). tương tác giữa các agent và vai trò của agent Phương thức tương tác ở đỉnh Các hành động của agent được mô tả bằng các phương của biều đồ là mức thấp nhất, thức sau đó là các mức chi tiết hơn (c) SE/FIT/HUT 2005 33 (c) SE/FIT/HUT 2005 34 AUML: Một hướng tiếp cận giao Mức 1: Biểu diễn giao thức liên thức phân mức lạc ở mức tổng quan Một giao thức tương tác agent (AIP) mô tả các mẫu truyền thông Giao thức tương tác AGENT cung cấp nhiều như một dãy các thông điệp cho phép giữa các agent và ràng buộc trong nộidungcủa các thông điệp này giải pháp có thể sử dụng lại Agent Interaction Protocols (3 layers) UML cung cấp hai kỹ thuật nhằm biểu diễn 1. Mô tả giao thức liên lạc -Communication Protocol • Type of interaction (UML Packages and Templates) các giải pháp cho giao thức 2. Mô tả tương tác giữa các agen - Interactions 9 Package: tập hợp các nhân tố mô hình hoá mức • Sequence, Collaboration, Activity Diagrams and Statecharts khái niệm 3. Mô tả quá trình xử lý bên trong agent - Internal Agent Processing (micro-issues) 9 Template: Template là một mô hình tham số • Activity Diagrams and Statecharts (c) SE/FIT/HUT 2005 35 (c) SE/FIT/HUT 2005 36 6
- Ví dụ về Package Ví dụ về Template Các gói đóng cung cấp một kỹ thuật Một template là một thành chung cho việc phân chia các mô hình và phần mô hình được tham số nhóm các thành phần mô hình. Mỗi gói đóng được biểu diễn như sau : hoá có các tham số bị ràng buộc tại thời gian mô hình Mỗi gói đóng là nhóm thành phần có quan hệ logic với nhau. (ví dụ, khi một mô hình tuỳ Kiến trúc của hệ thống được biểu diễn biến mới được tạo ra), được nhờ mô hình liên kết giữa các gói đóng. mô tả bằng các hộp vẽ bằng Một gói đóng có thể chứa các gói đóng nét đứt ở góc phải trên của gói khác. Dùng gói mô tả để mô tả giao thức lồng nhau Purchasing protocol (Broker X Retailer) Supplying protocol (Retailer X Wholesaler) (c) SE/FIT/HUT 2005 37 (c) SE/FIT/HUT 2005 38 Mức 2: Biểu diễn tương tác giữa các AGENT Biểu đồ diễn tiến Biểu đồ diễn tiến là biểu đồ giữa các đối Sử dụng các biểu đồ trong UML để biểu diễn giao tượng theo thời gian. thức: Cột ngang biểu diễn các agent Cột dọc được thể hiện sự tồn tại của đối 9 Biểu đồdiễn tiến tượng theo thời gian được gọi là lifeline 9 Biểu đồ tương tác Hình vuông có vị trí dọc theo lifeline thể hiện thời gian agent thực hiện hành động 9 Biểu đồ hoạt động (activation). 9 Biểu đồ trạng thái Thời gian được trôi từ trên xuống dưới, các thông điệp được đánh số theo thời gian. Hai biểu đồ trên bao gồm các mẫu cấu trúc mô tả tương tác giữa các đối tượng Biểu diễn Agent:AGENT-name/role:class Một tương tác Agent cơ bản có dạng hình Hai biểu đồ dưới biểu diễn các luồng xử lý vẽ Diễn tả các liên lạc đồng thời (and),không đồng thời (or), các vai trò khác nhau của agent (c) SE/FIT/HUT 2005 39 (c) SE/FIT/HUT 2005 40 Khach hang Gio hang Biểu diễn tương tác đa luồng Yeu cau dat hang Tu choi Thong Khong hieu X bao De nghi Huy bo de nghi X Chap nhan de nghi Hình (a) biểu diễn các luồng được gửi đi song song Thanh cong (phép AND) Thong X tin Hình (b) bao gồm một hộp quyết định xác định luồng nào sẽ được gửi đi (phép OR) Loi Hình (c) xác định trong một thời điểm chỉ có một CA được gửi đi (phép(c) XOR)SE/FIT/HUT 2005 41 (c) SE/FIT/HUT 2005 42 7
- Ví dụ về biểu đồ tuần tự Biểu đồ tương tác Biểu đồ cộng tác : là một cách khác mô tả tương tác giữa các agent (c) SE/FIT/HUT 2005 43 (c) SE/FIT/HUT 2005 44 Mức 3: biểu diễn xử lý bên trong Biểu đồ hoạt động AGENT Biểu đồ mô tả hành vi bên trong của một phương thức hay một trường hơp sử dụng. Biểu đồ nhằm Tại mức thấp nhất, đặc tả về một giao thức nhấn mạnh về các xử lý và các sự kiện kích hoạt AGENT yêu cầu giải thích rõ ràng những xử lý chúng chi tiết bên trong AGENT để tiến hành giao thức Biểu đồ hoạt động Cung cấp luồng các điều khiển Các mô hình mức cao (gọi là holon) bao gồm tập Sử dụng cho các giao thức phức tạp chứa nhiều tiến trình đồng thời các AGENT mức thấp hơn Các hành vi bên trong có thể được biểu diễn bằng việc sử dụng đệ quy các cách biểu diễn mức 2 đã nói ở trên (c) SE/FIT/HUT 2005 45 (c) SE/FIT/HUT 2005 46 Mở rộng biểu đồ hoạt động Mở rộng biểu đồ trạng thái Hình tròn có dấu chấm ở giữa thể hiện giao diện của quy trình được thực hiện bởi các AGENT bên ngoài Các AGENT giao tiếp với các AGENT khác được thể hiện bằng các đường đứt nét (c) SE/FIT/HUT 2005 47 (c) SE/FIT/HUT 2005 48 8
- Biểu đồ trạng thái Một số mở rộng khác Đặc tả vai trò Agent 9 Việc mô tả vai trò của AGENT trong tiến trình tương tác với các AGENT khác là một kỹ thuật sống còn đối với mỗi mô hình của hệ thống dựa AGENT Mở rộng Package 9 Biểu diễn Agent khi Agent hoạt động như một giao diện Mở rộng biểu đồ thực thi 9 Biểu diễn tính lưu động (mobility) của Agent Một số khái niệm dựa AGENT khác (c) SE/FIT/HUT 2005 49 (c) SE/FIT/HUT 2005 50 i>5 Dang thong N Lap lai cho moi mat hang bao loi Đặc tả vai trò sâu hơn: agent/role Nhan phim i >3 dat hang Dang kiem tra Dang kiem tra Phim xac nhan Y Dang dang ky Diễn tả vai trò các agent trong tương tác cac truong Credit Card duoc nhan mat hang i<3 va Credit Dang hien thi Nếu số lượng agent và số vai trò tăng, biểu đồ Cac truong thong tin mat chua dien card khong co hang va i<5 gia trih UML trở nên phức tạp Dang cap nhat Dang cap nhat Dang tinh toan Dang sua loi dang ky ban ghi tong cuoi cung Mở rộng gói : tương tác trong bản thân agent Ban ghi da cap nhat Tong cuoi da duoc tinh Mở rộng biểu đồ triển khai Lap lai cho moi mat hang Da cap Dang cap nhat Dang hien thi Bao cao duoc Hoan thanh Một số ký pháp dựa agent khác nhat xong thong tin bao cao yeu cau dang ky khach hang (c) SE/FIT/HUT 2005 51 (c) SE/FIT/HUT 2005 52 Đặc tả vai trò - 3 phương pháp biểu diễn Đặc tả vai trò (tiếp) Phương pháp 1: Phương pháp 2: (c) SE/FIT/HUT 2005 53 (c) SE/FIT/HUT 2005 54 9
- Đặc tả vai trò (tiếp) Đặc tả vai trò (tiếp) Phương pháp 3: (c) SE/FIT/HUT 2005 55 (c) SE/FIT/HUT 2005 56 Mở rộng Package Mở rộng biểu đồ thực thi (c) SE/FIT/HUT 2005 57 (c) SE/FIT/HUT 2005 58 Một số khái niệm dựa AGENT khác Tổng kết Nhân bản UML cung cấp các công cụ nhằm: 9 đặc tả giao thức tương tác AGENT 9 biểu diễn tập các tương tác giữa các AGENT bên trong giao thức Phân bào và sinh sản 9 biểu diễn hành vi bên trong AGENT Biểu diễn một số mở rộng UML liên quan tới AGENT (c) SE/FIT/HUT 2005 59 (c) SE/FIT/HUT 2005 60 10