Bài giảng Hệ dựa tác tử và mở rộng AUML
Sựphát triển các hệ đa agent phức
tạp yêu cầu không chỉcác mô hình
và kĩthuật
Phương pháp luậnmới hỗtrợcách
tiếp cận được công nghệhoáphân
tíchvàthiết kếhệthống.
Công nghệphần mềm hướng agent:
phân rã bài toán thành nhiều thành
phần tương tác và tựtrị(agents) mà
có các mục tiêu cụthể để đạt tới
ons – what agents should do 5. Reasoning – ”intelligence” 6. Beliefs – what the agent beliefs 7. Sensory – stimulus/response Elisabeth A. Kendall (c) SE/FIT/HUT 2005 26 Design Patterns for Mobile Agents Classification scheme – 3 classes 1. Travelling class 2. Task class 3. Interaction class Danny B. Lange (c) SE/FIT/HUT 2005 27 Formal Methodologies in Software Engineering A formal methodology is usually logic-based It can be used for Specification of a system • I.e. Requirement specification Directly (automatically) programming a system • I.e. Automatic code generation Verification of a system • Prove that a system is/behaves correct (according to its specifications) (c) SE/FIT/HUT 2005 28 Formal Methodologies in AOSE Concurrent MetateM Temporal logic-based programming language for agents Summary: future can found (calculated) based on the present and past state. Formal Verification Axiomatic approach – Deductive Verification • Prove using logical deduction that an agent system is correct (powerful but can have exponential runtime) 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 29 Conclusions of Lecture Agent-Methodologies are close to existing Software 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 30 AUML 6(c) SE/FIT/HUT 2005 31 UML( Unified Modeling Language) Trong các thập niên 70, lập trình có cấu trúc chiếm ưu thế trong sự phát triển phần mềm. Trong những năm 80, các phương pháp hướng đối tượng 1995 UML ( Unified Modeling Language) 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 Các mô hình tĩnh(Static Model): các biểu đồ lớp và gói Các mô hình động(Dynamic Model): biểu đồ tương tác, lược đồ trạng thái,biểu đồ hoạt động. (c) SE/FIT/HUT 2005 32 UML cho hệ tác tử Các hệ thống dựa agent đòi hỏi tất cả các quá trình của công nghệ phần mềm như: phân tích, thiết kế, đánh giá, bảo trì… Agent có những điểm khác biệt (như đồng bộ và không đồ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 được mở rộng để có thể mô hình hóa các hệ thống agent Đề xuất các mở rộng cho các đại diện UML: gói, mẫu, 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 33 Sử dụng AUML trong UML Sử dụng các biểu đồ trường hợp sử dụng hướng agent mô tả các tương tác với người dùng, môi trường và phần còn lại của hệ thống Sử dụng biểu đồ ontology với các lớp mô hình các lớp thực thể trong ontology để mô hình hoá ontology Sử dụng các biểu đồ lớp UML gọi là các architecture diagram để mô hình hoá kiến trúc hệ thống agent, tương tác giữa các agent và vai trò của agent Các hành động của agent được mô tả bằng các phương thức (c) SE/FIT/HUT 2005 34 A-UML Để đặc tả cho hệ thống dựa tác tử , FIPA (Foundation for Intelligent Physical Agents ) sử dụng UML mở rộng, gọi là AUML ( Agent Unified Modeling Language). để đặc tả giao thức tương tác tác tử (AIP – Agent Interaction Protcols). Phương thức tương tác ở đỉnh của biều đồ là mức thấp nhất, sau đó là các mức chi tiết hơn (c) SE/FIT/HUT 2005 35 AUML: Một hướng tiếp cận giao thức phân mức Một giao thức tương tác agent (AIP) mô tả các mẫu truyền thông 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ội dung của các thông điệp này Agent Interaction Protocols (3 layers) 1. Mô tả giao thức liên lạc -Communication Protocol • Type of interaction (UML Packages and Templates) 2. Mô tả tương tác giữa các agen - Interactions • Sequence, Collaboration, Activity Diagrams and Statecharts 3. Mô tả quá trình xử lý bên trong agent - Internal Agent Processing (micro-issues) • Activity Diagrams and Statecharts (c) SE/FIT/HUT 2005 36 Mức 1: Biểu diễn giao thức liên lạc ở mức tổng quan Giao thức tương tác AGENT cung cấp nhiều giải pháp có thể sử dụng lại UML cung cấp hai kỹ thuật nhằm biểu diễn các giải pháp cho giao thức 9 Package: tập hợp các nhân tố mô hình hoá mức khái niệm 9 Template: Template là một mô hình tham số 7(c) SE/FIT/HUT 2005 37 Ví dụ về Package Các gói đóng cung cấp một kỹ thuật chung cho việc phân chia các mô hình và nhóm các thành phần mô hình. Mỗi gói đóng được biểu diễn như sau : Mỗi gói đóng là nhóm thành phần có quan hệ logic với nhau. Kiến trúc của hệ thống được biểu diễn nhờ mô hình liên kết giữa các gói đóng. Một gói đóng có thể chứa các gói đóng 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 38 Ví dụ về Template Một template là một thành phần mô hình được tham số hoá có các tham số bị ràng buộc tại thời gian mô hình (ví dụ, khi một mô hình tuỳ biến mới được tạo ra), được mô tả bằng các hộp vẽ bằng nét đứt ở góc phải trên của gói (c) SE/FIT/HUT 2005 39 Mức 2: Biểu diễn tương tác giữa các AGENT Sử dụng các biểu đồ trong UML để biểu diễn giao thức: 9 Biểu đồdiễn tiến 9 Biểu đồ tương tác 9 Biểu đồ hoạt động 9 Biểu đồ trạng thái 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 Hai biểu đồ dưới biểu diễn các luồng xử lý (c) SE/FIT/HUT 2005 40 Biểu đồ diễn tiến Biểu đồ diễn tiến là biểu đồ giữa các đối tượng theo thời gian. 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 tượng theo thời gian được gọi là lifeline 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 (activation). 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. Biểu diễn Agent:AGENT-name/role:class Một tương tác Agent cơ bản có dạng hình 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 41 Biểu diễn tương tác đa luồng Hình (a) biểu diễn các luồng được gửi đi song song (phép AND) 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) Hình (c) xác định trong một thời điểm chỉ có một CA được gửi đi (phép XOR) (c) SE/FIT/HUT 2005 42 Khach hang Gio hang X X X Yeu cau dat hang Tu choi Khong hieu De nghi Thong bao Huy bo de nghi Thanh cong Loi Thong tin Chap nhan de nghi 8(c) SE/FIT/HUT 2005 43 Ví dụ về biểu đồ tuần tự (c) SE/FIT/HUT 2005 44 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 45 Biểu đồ hoạt động 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 nhấn mạnh về các xử lý và các sự kiện kích hoạt chúng Biểu đồ hoạt động Cung cấp luồng các điều khiển 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) SE/FIT/HUT 2005 46 Mức 3: biểu diễn xử lý bên trong AGENT Tại mức thấp nhất, đặc tả về một giao thức AGENT yêu cầu giải thích rõ ràng những xử lý chi tiết bên trong AGENT để tiến hành giao thức Các mô hình mức cao (gọi là holon) bao gồm tập 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 47 Mở rộng biểu đồ hoạt động 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) SE/FIT/HUT 2005 48 Mở rộng biểu đồ trạng thá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 9(c) SE/FIT/HUT 2005 49 Biểu đồ trạng thái (c) SE/FIT/HUT 2005 50 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 51 Dang kiem tra cac truong Dang kiem tra Credit Card Phim xac nhan duoc nhan Dang dang ky mat hang Dang tinh toan tong cuoi cung Dang cap nhat ban ghi Hoan thanh dang ky Bao cao duoc yeu cau Dang cap nhat thong tin khach hang Dang hien thi bao cao Dang sua loiDang cap nhatdang ky Dang hien thi thong tin mat hang Lap lai cho moi mat hang Lap lai cho moi mat hang Y Da cap nhat xong Ban ghi da cap nhat Tong cuoi da duoc tinh Dang thong bao loi i >3 i<3 va Credit card khong co gia trih Cac truong chua dien va i<5 i>5 N Nhan phim dat hang (c) SE/FIT/HUT 2005 52 Đặc tả vai trò sâu hơn: agent/role Diễn tả vai trò các agent trong tương tác Nếu số lượng agent và số vai trò tăng, biểu đồ UML trở nên phức tạp Mở rộng gói : tương tác trong bản thân agent Mở rộng biểu đồ triển khai Một số ký pháp dựa agent khác (c) SE/FIT/HUT 2005 53 Đặc tả vai trò - 3 phương pháp biểu diễn Phương pháp 1: (c) SE/FIT/HUT 2005 54 Đặc tả vai trò (tiếp) Phương pháp 2: 10 (c) SE/FIT/HUT 2005 55 Đặc tả vai trò (tiếp) Phương pháp 3: (c) SE/FIT/HUT 2005 56 Đặc tả vai trò (tiếp) (c) SE/FIT/HUT 2005 57 Mở rộng Package (c) SE/FIT/HUT 2005 58 Mở rộng biểu đồ thực thi (c) SE/FIT/HUT 2005 59 Một số khái niệm dựa AGENT khác Nhân bản Phân bào và sinh sản (c) SE/FIT/HUT 2005 60 Tổng kết 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 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
File đính kèm:
- Bài giảng Hệ dựa tác tử và mở rộng AUML.pdf