đề tài phân tích thiết kế hệ đa agent theo phương pháp mase và agenttool

35 568 3
đề tài  phân tích thiết kế hệ đa agent theo phương pháp mase và agenttool

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỀ TÀI PHÂN TÍCH THIẾT KẾ HỆ ĐA AGENT THEO PHƯƠNG PHÁP MaSE VÀ AgentTool Công nghệ phần mềm hướng Agent Mục lục Mở đầu Quy trình phát triển hệ thống phần mềm hướng Agent theo phương pháp luận MaSE4 2.1 Khái quát bước phát triển 2.2 Pha phân tích 2.2.1 Bước 1: Xác định Goal (Capturing Goals) 2.2.2 Bước 2: Xác định Use Case (Applying Use Case) 2.2.3 Bước 3: Xây dựng Ontology (Building Ontology) 2.2.4 Bước 4: Hoàn thiện Role (Refining Roles) 10 2.3 Pha thiết kế 11 2.3.1 Bước 5: Xác định lớp Agent (Creating Agent Classes) 11 2.3.2 Bước 6: Xây dựng phiên hội thoại (Constructing Conversations) 12 2.3.3 Bước 7: Hoàn thiện Agent (Assembling Agent Classes) 13 2.3.4 Bước 8: Thiết kế hệ thống (System Design): 14 AgentTool 14 3.1 Giới thiệu AgentTool 14 3.2 Thiết kế hệ thống sử dụng agentTool 15 3.3 AgentTool hỗ trợ việc thiết kế bán tự động 15 3.4 Tính Di động 16 3.5 Các hình thức agentTool 16 Áp dụng phân tích thiết kế hệ hỗ trợ dịnh vụ mua bán điện thoại di động 17 4.1 Giới thiệu hệ hỗ trợ dịch vụ mua bán máy điện thoại di động 17 4.2 Phân tích hệ thống 18 4.2.1 Xác định Goal 18 4.2.2 Xác định Use case 19 4.2.3 Xây dựng Ontology 22 4.2.4 Hoàn thiện Role 25 4.3 Thiết kế hệ thống 27 4.3.1 Tạo lớp agent 27 4.3.2 Xây dựng conversation 28 4.3.3 Hoàn thiện agent 29 4.3.4 Thiết kế hệ thống 29 Đánh giá phương pháp luận MaSE 30 5.1 Các khái niệm thuộc tính 30 5.2 Các ký hiệu kỹ thuật mơ hình hóa 31 5.3 Quá trình phát triển 32 5.4 Thực tế 32 Kết luận 33 Công nghệ phần mềm hướng Agent Danh mục hình vẽ Hình 1: Các bước phát triển hệ thống Multiagent theo phương pháp luận MaSE…… Hình 2: Các bước xây dựng Ontology………………………………………………….8 Hình 3: Mơ hình đối tượng MaSE tại…………………………………………….17 Hình 4: Mơ hình đối tượng MaSE mở rộng…………………………………… 17 Hình 5: Biểu đồ phân cấp goal……………………………………………………… 19 Hình 6: Biều đồ use case TimKiem…………………………………… 20 Hình 7: Biều đồ use case ThuongLuong………………………………….21 Hình 8: Biều đồ use case CapNhatThayDoi…………………………… 21 Hình 9: Biều đồ use case DatHang……………………………………… 22 Hình 10: Biều đồ use case HienThiKetQua…………………………… 22 Hình 11: Mơ hình role……………………………………………………………… 26 Hình 12: Biểu đồ task Thuong luong role DaiLyPhanPhoi………………………26 Hình 13: Biểu đồ lớp agent……………………………………………………………28 Hình 14: Biểu đồ triển khai hệ thống .……………………………………………30 Công nghệ phần mềm hướng Agent ĐỀ TÀI: PHÂN TÍCH THIẾT KẾ HỆ ĐA AGENT THEO PHƯƠNG PHÁP MaSE VÀ AgentTool Giảng viên: Ts Nguyễn Mạnh Hùng Học viên: Đỗ Anh Tuấn Lớp:CH10CNK2 Tóm tắt: Bài tiểu luận cung cấp tổng quan phương pháp luận MaSE AgentTool để phân tích thiết kế hệ thống phần mềm hướng Agent phát triển nhóm nghiên cứu thuộc Viện Công nghệ Hàng Không Hoa kỳ (Air Force Intistute of Technology – AFIT) Nó sử dụng trừu tượng cung cấp hệ thống multiagent cho việc phát triển hệ thống phần mềm thông minh phân tán Đồng thời qua tiểu luận trình bày việc áp dụng phương pháp luận MaSE AgentTool để phân tích thiết kế hệ hỗ trợ dịch vụ mua bán điện thoại di động Mở đầu MaSE phương pháp luận phát triển dựa cách tiếp cận hướng đối tượng cung cấp cách tiếp cận từ xuống (Top-Down) Quan điểm xây dựng phương pháp luận xem Agent mức trừu tượng cao đối tượng: Agent xem đối tượng đặc biệt Khác với đối tượng truyền thống phương thức gọi đối tượng khác, Agent tương tác với thông qua hội thoại hành động cách tự chủ để hồn thành mục đích riêng mục đích chung hệ thống Ngồi ra, Agent xem khái quát hóa đối tượng phù hợp với tốn cụ thể, có khơng có khả thơng minh Như DeLoach khẳng định, việc xem Agent trừu tượng cao đối tượng khiến cho việc phân tích thiết kế hướng Agent thừa kế từ phương pháp luận phát triển phần mềm hướng đối tượng.[6] Quá trình phát triển hệ multiagent theo MaSE bao gồm có pha: Pha phân tích Pha thiết kế Pha phân tích bao gồm bước: Xác định Goal, Xác định Use case, Xây dựng Ontology Hoàn thiện Role Pha thiết kế bao gồm bước: Xác định lớp Agent, Xây dựng hội thoại, Hoàn thiện Agent Thiết kế hệ thống Tồn q trình phân tích thiết kế hệ thống theo phương pháp luận MaSE hỗ trợ công cụ AgentTool, công cụ hỗ trợ người thiết kế kiểm thử tương tác Agent sinh mã tự động cho hệ thống.([1-4],[6]) Các phần viết cấu trúc sau: Phần 2: trình bày quy trình phát triển hệ thống phần mềm hướng Agent theo phương pháp luận MaSE; Phần 3: giới thiệu công cụ AgentTool; Phần 4: giới thiệu áp dụng phương pháp luận MaSE AgentTool để phân tích thiết kế hệ hỗ trợ mua bán điện thoại di động; Phần 5: sự đánh giá phương pháp luận MaSE; Phần 6: kết luận Công nghệ phần mềm hướng Agent Quy trình phát triển hệ thống phần mềm hướng Agent theo phương pháp luận MaSE 2.1 Khái quát bước phát triển Quá trình phát triển hệ multiagent theo MaSE bao gồm có pha: Pha phân tích (Analysis) Pha thiết kế (Design) Pha phân tích bao gồm bước: Xác định Goal (Capturing Goals), Xác định Use case (Applying Use Case), Xây dựng Ontology (Building Ontology) Hoàn thiện Role (Refining Roles) Pha thiết kế bao gồm bước: Xác định lớp Agent (Creating Agent Classes), Xây dựng phiên hội thoại (Constructing Conversations), Hoàn thiện Agent (Assembling Agent Classes) Thiết kế hệ thống (System Design) Được thể hình Hình 1: Các bước phát triển hệ thống Multiagent theo phương pháp luận MaSE 2.2 Pha phân tích 2.2.1 Bước 1: Xác định Goal (Capturing Goals) Goal khái niệm để mục đích mà hệ thống cần đạt Mục đích hệ thống nhìn từ quan điểm hệ thống nghĩa dịch vụ mà hệ thống cung cấp Goal phân rã thành Goal con, Goal lại tiếp tục phân rã Goal mức thấp không coi mục đích mà xem xét để đưa vào bước sau pha phân tích Cơng nghệ phần mềm hướng Agent Nhiệm vụ bước chuyển toàn đặc tả yêu cầu hệ thống vào tập Goal có cấu trúc Như có bước việc xác định Goal: tập hợp Goal xây dựng phân cấp Goal § Tập hợp Goal Bước thực yêu cầu chức có tài liệu đặc tả hệ thống, yêu cầu chức mô tả Goal Các yêu cầu chức xác định cách trả lời câu hỏi: “Hệ thống phải làm gì?” mà chưa cần quan tâm đến cách thực nhiệm vụ Các Goal xác định cách trực quan thông qua việc xác định mục tiêu cần đạt hệ thống Các Goal xác định thông qua Goal trước cách trả lời câu hỏi: “Muốn đạt Goal X cần phải có gì?” Q trình gọi trình phân rã, Goal phân rã từ Goal ban đầu trở thành Goal Sự phân rã diễn với tất Goal phát chưa phân rã Quá trình phân rã dừng lại chức sinh nhiệm vụ mức hệ thống, nghĩa khơng thể đóng vai trị Goal hệ thống Các Goal khơng cần phân rã thêm có đặc điểm cố gắng phân rã Goal ta phải trả lời câu hỏi “Muốn hồn thành việc cần phải làm gì?”, tức tìm cách thức thực Goal khơng phải Goal § Tổ chức phân cấp Goal Bước có nhiệm vụ tổ chức Goal xác định bước trước vào sơ đồ phân cấp Goal (Goal Hierarchy Diagram) Một sơ đồ phân cấp Goal đồ thị có hướng khơng có chu trình Trong đó: đỉnh biểu diễn Goal, có tên trùng với tên đích mà biểu diễn mũi tên quan hệ Goal cha – quan hệ khác Có hai trường hợp xảy ra: trường hợp thứ nhất: xác định Goal tổng thể hệ thống đặt gốc Goal, trường hợp thứ hai: Goal tổng thể không xác định trực tiếp từ yêu cầu phải kết hợp Goal mức cao thành Goal tổng thể cho hệ thống Các Goal cịn lại phân cấp thành quan hệ cha – ngang hang cách lặp thủ tục sau: Bước 1: Các Goal phân rã từ Goal khác bước trước phải Goal với Goal cha tương ứng Bước 2: Nếu Goal không phân rã từ Goal (các Goal xác định ban đầu), để xác định quan hệ cha – con, trả lời câu hỏi “chúng thực phần nhiệm vụ cho Goal khơng?”, có trở thành Goal mà hỗ trợ, khơng phải xem xét lại Goal có cần thiết cho hệ thống hay khơng, khơng cần thiết bị loại bỏ ngược lại cần thiết tạo thành nhánh từ nút gốc Goal Trong phân cấp Goal có loại Goal sau: Goal chung (Summary goal): Goal tạo từ Goal ngang hàng (thường Goal tổng thể hệ thống) Goal phi chức (Non-functional goal): Goal không trực tiếp thực chức hệ thống, nhân tố kiểm tra tính đắn hệ thống Các Goal thường xuất từ yêu cầu phi chức hệ thống chẳng hạn độ tin cậy hay yêu cầu thời gian thực cho hệ thống Công nghệ phần mềm hướng Agent Goal kết hợp (Combined goal): Goal tạo thành kết hợp hai hay nhiều Goal có chức giống tương tự Goal bị phân hoạch (Partitioned goal): đích phân hoạch hồn tồn Theo tất Goal hồn thành thân hồn thành mà khơng cần thực thêm nhiệm vụ 2.2.2 Bước 2: Xác định Use Case (Applying Use Case) Use case hiểu mô tả hành vi mà hệ thống cần thực trường hợp cụ thể Các hành vi xuất phát từ mong muốn người dùng Mục đích bước tạo tập use case sơ đồ (Sequence diagram) tương ứng nhằm hỗ trợ cho người phân tích hệ thống phát tập role ban đầu đường truyền thơng có hệ thống Việc sử dụng use case MaSE kế thừa từ phương pháp phân tích hướng đối tượng Có hai loại use case khác dựa vào hồn cảnh mà chúng mô tả: Use case chủ động: mô tả hành vi hệ thống trường hợp lý tưởng, nghĩa điều kiện thỏa mãn Use case bị động: mô tả hành vi mà hệ thống cần thực trường hợp có lỗi, có ngoại lệ có cố nghiêm trọng Bước bao gồm hai bước tạo use case xây dựng biểu đồ § Tạo use case Các use case trích từ nhiều nguồn khác nhau: (i) đặc tả yêu cầu hệ thống; (ii) Mong muốn người dùng; (iii) Bản mẫu nhanh (nếu có) Về nguyên tắc Goal xác định bước tương ứng với use case, ngoại trừ Goal bị phân hoạch (vì Goal này, hồn thành use case Goal thân hồn thành) Trong use case tương ứng với Goal cha, dãy hành động thuộc use case Goal coi Goal đơn, nghĩa xem tương ứng với hành động đơn bình thường khác biểu diễn kiện đầu vào hành động thực Các use case ứng với Goal thuộc Goal trích dẫn trước, sau ngược dẫn lên phía gốc Goal dừng lại gặp Goal bị phân hoạch Goal bị phân hoạch không cần use case use case tương ứng phép hợp đơn giản use case tương ứng với đích mà khơng cần bổ xung thêm kiện hay hành động § Xây dựng biểu đồ Một biểu đồ dãy kiện diễn role xác định use case Nó xây dựng dựa role quan hệ tương tác role với Một biểu đồ bao gồm: - Các role liên quan đến use case cần biểu diễn, role đặt phía biểu đồ Công nghệ phần mềm hướng Agent Các đường nối từ role thẳng xuống đường biểu thị cho thời gian hoạt động role - Các mũi tên nối từ role đến role biểu thị tương tác hai role, theo chiều mũi tên Nhãn kèm theo mũi tên biểu thị tên kiện tương tác - Tuần tự kiện sảy use case mũi tên từ xuống Việc chuyển từ use case sang biểu đồ tiến hành trực tiếp sau: Mỗi use case tương ứng với biểu đồ Tuy nhiên số trường hợp mà use case phức tạp, cần đến nhiều biểu đồ để mô tả hoạt động Trong trường hợp này, tách use case thành use case nhỏ đơn giản hơn, use case cần biểu đồ dãy trường hợp lý tưởng ban đầu Việc xây dựng biểu đồ bắt đầu việc xác định role cần thiết phải tham gia vào biểu đồ Role hiểu tập nhiệm vụ có liên quan chặt chẽ đến mà Agent hệ thống cần đảm nhiệm để đạt tới đích Mỗi role thực hay nhiều Goal hệ thống Để xác định role, người phát triển sử dụng kỹ thuật trích danh từ Từ use case có bước trước, người phát triển tiến hành duyệt tìm danh từ đối tượng có chức cụ thể use case trước Tiếp theo, người phát triển xem xét lại danh mục danh từ loại danh từ đối tượng Các danh từ cịn lại role có mặt sơ đồ tương ứng với use case Sau có role bước người phát triển tiến hành biểu diễn kiện sơ đồ AgentTool - 2.2.3 Bước 3: Xây dựng Ontology (Building Ontology) Ontology xem tập khái niệm để biểu diễn thông tin tri thức trao đổi Agent hay nói cách khác, Ontology hệ tri thức chung agent, bao gồm khái niệm dung miền tri thức định Theo quan điểm MaSE, ontology tập hợp khái niệm sử dụng tham số chứa thông điệp trao đổi Agent Trong MaSE xây dựng Ontology gồm bước chính: Xác định mục đích phạm vi ontology; Thu thập liệu; Xây dựng Ontology khởi đầu; Hoàn thiện Ontology Kết trình sơ đồ phân cấp khái niệm đáp ứng yêu cầu hoạt động hệ thống Các bước tiến hành xây dựng Ontology thể hình Công nghệ phần mềm hướng Agent Sơ đồ Goal Xác định mục đích phạm vi Ontology Use case Biểu đồ Thu thập liệu: Xác định danh sách thuật ngữ hệ thống Xây dựng Ontology khởi đầu: - Xác định khái niệm lớp, khái niệm thuộc tính - Biểu diễn theo cấu trúc hình lớp/đối tượng ngôn ngữ Java Kiểm định Ontology: Bổ xung loại bỏ khái niệm Ontology hồn chỉnh Cây phân cấp Ontology Hình 2: Các bước xây dựng Ontology Bước 1: Xác định mục đích phạm vi Ontology: Bước xác định lĩnh vực mà Ontology cần biểu diễn Nghĩa người phân tích phải trả lời câu hỏi:”Tại Ontology xây dựng phạm vi ý định sử dụng Ontology hệ thống” Khi hệ thống kế thừa Ontology từ hệ thống khác, Ontology kế thừa phải mơ tả chi tiết xác phạm vi biểu diễn Từ đó, người phân tích so sánh phạm vi với phạm vi lĩnh vực hệ thống xây dựng: Nếu phạm vi rộng phải bổ xung thêm khái niệm; Nếu phạm vi hẹp phải loại bỏ khái niệm không cần thiết khỏi Ontology kế thừa Để xác định phạm vi Ontology cần thực bước sau: - Xem xét toàn use case mô tả bước xác định use case sơ đồ Goal hệ thống bước xác định Goal - Xác định toàn thông tin kiểu liệu mà hệ thống dùng, đồng thời xác định mức độ chi tiết cần mô tả kiểu liệu Người phân tích sử dụng kỹ thuật khoanh vùng thu hẹp dần miền tri thức để xác định phạm vi Ontology Để xác định mức độ chi tiết tri thức khái niệm , người phân tích tiếp tục sử dụng kỹ thuật: - Phân rã miền tri thức ban đầu thành miền phân rã thêm - Khoanh vùng miền tri thức có liên quan đến tốn loại bỏ vùng không liên quan Bước 2: Thu thập liệu: Sau xác định loại liệu mức độ chi tiết chúng, người thiết kế phải lập danh sách liệt kê tất danh từ có mặt phân cấp Goal (đã có bước xác định Goal) use case Danh sách gọi “danh sách thuật ngữ” hệ thống Từ tập thuật ngữ này, người thiết kế phải chọn danh từ biểu diễn kiểu liệu cần thiết cho hệ thống Công nghệ phần mềm hướng Agent cách xem xét tất kiểu liệu cần truyền use case Bước thực chất tìm khái niệm có message khái niệm mức nhỏ để agent hiểu message mà nhận Sau bước ta nhận khái niệm cần có ontology Bước 3: Xây dựng Ontology khởi đầu: Để xây dựng Ontology khởi đầu, người thiết kế phải chuyển toàn khái niệm thu bước vào tập lớp thuộc tính chúng Vấn đề xác định khái niệm lớp, khái niệm thuộc tính, điều phụ thuộc vào việc xác định mức độ chi tiết khái niệm Thông thường khái niệm biểu diễn mức độ chi tiết thấp nên lấy làm thuộc tính, khái niệm tổ hợp nhiều khái niệm nên xem lớp Tuy nhiên, khái niệm phải mơ tả đầy đủ thuộc tính ý nghĩa thực tế Trong Ontology, thuộc tính cần thiết để thực đích đích tổng thể hệ thống đưa vào làm thuộc tính cho đối tượng tương ứng Để xây dựng ontology khởi đầu, người phân tích lựa chọn hai cách: - Kế thừa từ Ontology hệ thống khác: Người phân tích phải xác định rõ phạm vi biểu diễn Ontology hệ thống kế thừa phạm vi tri thức hệ thống xây dựng Nếu phạm vi tri thức hệ thống kế thừa rộng hơn, loại bỏ thơng tin dư thừa bổ xung thông tin chi tiết Nếu phạm vi tri thức hệ thống kế thừa nhỏ phải bổ xung tri thức miền lĩnh vực - Xây dựng Ontology từ đầu: người phân tích phải chuyển tồn khái niệm thu bước vào tập lớp thuộc tính chúng Thơng thường, khái niệm biểu diễn mức độ chi tiết thấp nên lấy làm thuộc tính, khái niệm tổ hợp khái niệm nên tạo thành lớp Bước 4: Kiểm định Ontology: Trong bước này, người phân tích phải chứng thực Ontology vừa xây dựng thỏa mãn yêu cầu hệ thống cách xem xét lại tồn tình mô tả use case sơ đồ tuần tự: - Nếu phát thấy thiếu sót khái niệm tương ứng phải bổ xung vào Ontology; - Nếu phát thấy có khái niệm khơng cần thiết phải loại bỏ khỏi Ontology Quá trình lặp lại pha cài đặt hệ thống người thiết kế thấy rằng, Ontology hoàn toàn thỏa mãn yêu cầu hoạt động hệ thống Kết bước phân cấp Ontology hồn chỉnh, đáp ứng u cầu sử dụng bước trình phân tích thiết kế đảm bảo đầy đủ khái niệm cần cho tương tác hệ đa agent Những bước xây dựng Ontology theo phương pháp luận MaSE rõ ràng tách biệt Tuy nhiên, thực tế bước nằm vòng đời phát triển Ontology nên thực lồng vào Mặt khác, đặt bước xây dựng Ontology vòng đời phát triển chung hệ thống nên có thay đổi bước xác định Goal, xác định phân cấp Goal, xác định use case biểu đồ tồn q trình xây dựng Ontology phải thay đổi theo Và Công nghệ phần mềm hướng Agent Trong hệ thống hỗ trợ dịch vụ mua bán mua bán điện thoại di động, xác định use case sau: CapNhatYeuCau: trích xuất từ yêu cầu đáp ứng yêu cầu thay đổi khách hàng Trong trình hoạt động, khách hàng muốn thay đổi yêu cầu mình, hệ thống cần phải thực cập nhật lại yêu cầu khách hàng tiến hành lại thương lượng; ThuongLuong: hệ thống tìm kiếm sản phẩm khơng có kết xác theo mong muốn khách hàng, bên thương lượng với để đến kết tối ưu nhất; TimKiem: trình thương thượng, hệ thống cần phải tìm sản phẩm phù hợp với yêu cầu khách hàng; HienThiKetQua: Quá trình thương lượng thành cơng hay khơng hệ thống phải thực thông báo kết cho khách hàng; DatHang: Khi tìm sản phẩm phù hợp, khách hàng thực chức đặt mua sản phẩm đó; CapNhatThongTinSanPham: Những thơng tin sản phẩm ln ln cập nhật: thêm sản phẩm, sửa số thông tin sản phẩm thực xóa sản phẩm sản phẩm bán Như vậy, use case hệ thống là: CapNhatYeuCau; TimKiem;HienThiKetQua;ThuongLuong; DatHang; CapNhatThongTinSanPham § Xây dựng biểu đồ Xây dựng biểu đồ xây dựng giao tiếp role hệ thống Để xác định role, ta sử dụng kỹ thuật trích danh từ Từ use case có bước trước, người phát triển tiến hành duyệt tìm danh từ đối tượng có chức cụ thể use case trước Tiếp theo, ta xem xét lại danh mục danh từ loại danh từ đối tượng Các danh từ lại role có mặt sơ đồ tương ứng với use case Sau có role bước ta tiến hành biểu diễn kiện sơ đồ AgentTool Ta có role hệ thống là: DaiLyPhanPhoi;NguoiDapUngThayDoi; NguoiThongBaoKetQua;NguoiDatHang;NguoiQuanLySanPham;NguoiSuDung Từ role ta có biểu đồ cho use case sau: Hình 6: Biều đồ use case TimKiem 20 Công nghệ phần mềm hướng Agent Hình 7: Biều đồ use case ThuongLuong Hình 8: Biều đồ use case CapNhatThayDoi 21 Công nghệ phần mềm hướng Agent Hình 9: Biều đồ use case DatHang Hình 10: Biều đồ use case HienThiKetQua 4.2.3 Xây dựng Ontology Theo phương pháp luận MaSE có bốn bước để xây dựng nên ontology cho ứng dụng là: xác định mục đích phạm vi ontology, thu thập liệu, xây dựng ontology ban đầu bước cuối hoàn thiện kiểm định ontology § Xác định mục đích phạm vi Ontology 22 Công nghệ phần mềm hướng Agent Việc xác định mục đích phạm vi ontology dựa vào yêu cầu chức cấu trúc goal phân cấp xây dựng bước phương pháp luận MaSE Xác định mục đích phạm vi ontology cho phép ta nhìn nhận cách nhanh chóng thơng tin chứa ontology Trong hệ thống hỗ trợ dịch vụ mua bán điện thoại di động, mục đích để tìm kiếm sản phẩm theo u cầu khách hàng Trong trường hợp khơng tìm thấy xác sản phẩm yêu cầu, khách hàng đại lý phân phối tiến hành thương lượng để đưa kết tối ưu cho khách hàng Như vậy, cần phải có thơng tin sản phẩm, thông tin khách hàng, thông tin đại lý phân phối § Thu thập liệu Sau xác định loại liệu mức độ chi tiết chúng, ta phải lập danh sách liệt kê tất danh từ có mặt phân cấp Goal (đã có bước xác định Goal) use case Danh sách gọi “danh sách thuật ngữ” hệ thống Từ tập thuật ngữ này, ta phải chọn danh từ biểu diễn kiểu liệu cần thiết cho hệ thống cách xem xét tất kiểu liệu cần truyền use case Bước thực chất tìm khái niệm có message khái niệm mức nhỏ để agent hiểu message mà nhận Sau bước ta nhận khái niệm cần có ontology Theo cách này, xây dựng thuật ngữ khái niệm ứng cử ontology dựa việc xây dựng thuật ngữ, khái niệm miền tri thức khách hàng, đại lý phân phối sản phẩm bán Các thuật ngữ có liên quan đến thông tin khách hàng bao gồm: Địa khách hàng; Tên khách hàng; Số điện thoại khách hàng; Địa mail khách hàng; Số tài khoản ngân hàng khách hàng Các thuật ngữ có liên quan đến thông tin sản phẩm bao gồm: Hãng sản xuất; Giá sản phẩm; Chíp: Bộ xử lý điện thoại di động; Tốc độ xử lý; Dung lượng nhớ trong; Dung lượng nhớ ngoài; Màu sắc; Thời lượng pin; Trọng lượng máy; 3G; GPS; Mp3; MMS; Wi-Fi; Sim; GPRS; Camera; FM radio; Bluetooth; Loa ngoài; Java Game; Sim online; Ứng dụng VP; Âm Hifi; Thẻ nhớ ngồi; Màn hình màu; Màn hinh cảm ứng; Bàn phím QWERTY ; Thân gập; Thân xoay; Thân trượt; Thân thẳng; Màn hình HD Thơng tin liên quan đến thông tin đại lý phân phối: Tài khoản § Xây dựng Ontology ban đầu Để xây dựng Ontology khởi đầu, người thiết kế phải chuyển toàn khái niệm thu bước vào tập lớp thuộc tính chúng Ta lựa chọn hai cách: Kế thừa từ Ontology hệ thống khác; Xây dựng Ontology từ Trong hệ thống này, ontology xây dựng từ đầu Có thể tổ chức khái niệm liên quan đến việc hoàn thành Goal hệ thống vào lớp đây: 23 Công nghệ phần mềm hướng Agent ChucNang 3G gps mp3 mms wi-fi 3Sim gprs camera fmradio bluetooth loaNgoai javaGame 2simOnline ungDungVP amThanhHifi theNhoNgoai manHinhMau manHinhCamUng banPhimQWERTY thanGap thanXoay thanTruot thanThang manHinhHD HangSanXuat Nokia Samsung Q-Mobile Philips Mobistar Avio P-Phone LG Motorola Sony Ericsson F-Mobile (FPT) Gigabyte Sharp PhuKien theNho thietBiKetNoi pin sac nguon taiNgheBluetooth taiNgheCoDay giaDeDTtrenXeHoi linhKienKhac DungLuongBoNho dungLuongBoNhoTrong dungLuongBoNhoNgoai hangSanXuat gia model SanPham hangSanXuat gia chip dungLuongBoNho thoiLuong trongLuong chucNang phuKien Gia 6trieu KhachHang tenKhachHang diaChi email soDienThoai soTaiKHoan Chip hangSanXuat tocDo cache soNhan congNghe CauHinh hangSanXuat chip dungLuongBoNho gia DaiLyPhanPhoi taiKhoan 24 Cơng nghệ phần mềm hướng Agent § Hồn thiện kiểm định Ontology Trong bước này, ta phải chứng thực Ontology vừa xây dựng thỏa mãn yêu cầu hệ thống cách xem xét lại tồn tình mơ tả use case sơ đồ tuần tự: Nếu phát thấy thiếu sót khái niệm tương ứng phải bổ xung vào Ontology; Nếu phát thấy có khái niệm khơng cần thiết phải loại bỏ khỏi Ontology 4.2.4 Hồn thiện Role Mục tiêu bước cuối pha phân tích hồn thiện role, có nghĩa chuyển goal cấu trúc biểu đồ thành role thực hệ thống nhiệm vụ phối hợp chúng, dạng phù hợp cho việc thiết kế MAS Role dạng cho việc định nghĩa lớp agent biểu diễn goal hệ thống suốt pha thiết kế Các goal hệ thống thõa mãn goal kết hợp với role role thực lớp agent Các trường hợp chuyển đổi thông thường goal tới role kiểu 1-1, với goal ánh xạ thành role Tuy nhiên, có nhiều tình mà role đơn chịu trách nhiệm nhiều goal Có nhiều xem xét q trình hồn thiện role Các goal tương tự liên quan đến kết hợp thành role đơn Các goal hệ thống: Sự thương lượng; Sự đặt mua sản phẩm; Sự thông báo kết quả; Sự đáp ứng yêu cầu thay đổi; Sự quản lý thông tin sản phẩm Ánh xạ thành role theo hình thức ánh xạ – ta có role tương ứng hệ thống là: DaiLyPhanPhoi (1.1):Thực goal Sự thương lượng; NguoiDatHang (1.2): Thực goal Sự đặt mua sản phẩm; NguoiThongBaoKetQua (1.1.2):Thực goal Sự thông báo kết quả; NguoiDapUngThayDoi (1.1.1):Thực goal Sự đáp ứng yêu cầu thay đổi; NguoiQuanLySanPham (1.3):Thực goal Sự quản lý thông tin sản phẩm; NguoiSuDung Tiếp theo, ta cần phải xác định task role giao tiếp role xác định trước Kết bước gán task cho role tương ứng Chẳng hạn, role DaiLyPhanPhoi thực task tiếp nhận yêu cầu từ phía NguoiDapUngThayDoi thương lượng với NguoiDatHang nên có hai task là: Thuong luong Tiep nhan yeu cau ve san pham Tương tự, role NguoiDapUngThayDoi có hai task Tiep nhan thay doi Cap nhat thay doi Các task role mô tả biểu đồ mơ hình role đây: 25 Cơng nghệ phần mềm hướng Agent Hình 11: Mơ hình role Sau xây dựng xong mơ hình role, việc cần phải mô tả task đồng thời role Dưới biểu đồ task đồng thời role Hình 12: Biểu đồ task Thuong luong role DaiLyPhanPhoi 26 Công nghệ phần mềm hướng Agent 4.3 Thiết kế hệ thống 4.3.1 Tạo lớp agent Các lớp agent tạo từ role Sản phẩm pha biểu đồ lớp agent mơ tả tổ chức tổng thể hệ thống bao gồm lớp agent hội thoại chúng Một lớp agent kiểu mẫu agent hệ thống tương tự lớp đối tượng lập trình hướng đối tượng Một agent thể lớp agent Trong suốt pha này, lớp agent xác định theo role mà chúng đảm nhiệm hội thoại chúng phải tham dự Role sở để xây dựng nên lớp agent Do đó, để đảm bảo tất goal hệ thống thực thiết kế, phải có lớp agent gán cho role mà xác định pha phân tích Trong thực tế, lớp agent thực nhiều role, với role thay đổi cách tự động trình thực Hơn nữa, agent lớp agent thực role khác thời điểm Cũng pha này, cần phải xác định hội thoại agnet tham gia Tập hội thoại lớp agent tham gia vào dẫn xuất từ giao tiếp bên role mà agent đảm nhiệm Các lớp agent hội thoại tài liệu hóa thơng qua biểu đồ lớp agent Biểu đồ tương tự với biểu đồ lớp hướng đối tượng, có hai điểm khác bản: · Các lớp agent không định nghĩa thuộc tính phương thức, mà chúng định nghĩa role mà chúng thực · Ngữ nghĩa quan hệ lớp agent Tất quan hệ lớp hội thoại đặt agent Theo đó, để thiết kế hệ hỗ trợ dịch vụ mua bán điện thoại di động cần thực xác định agent thực role hệ thống mô tả hội thoại agent Các agent hệ thống là: NguoiBan: Thực role DaiLyPhanPhoi NguoiDapUngThayDoi; KhachHang: Thực role NguoiDatMua; QuanLySanPham: Thực role NguoiQuanLySanPham ThongBaoKetQua; GiaoDienNguoiDung: Thực role GiaoDien 27 Công nghệ phần mềm hướng Agent Hình 13: Biểu đồ lớp agent Tất giao thức task mơ hình role trở thành conversation Các tương tác bên trong, chẳng hạn hai task Tiep nhan thay doi Cap nhat u cau khơng trở thành conversation thực thân role NguoiDapUngThayDoi Như vậy, ta có conversation sau: Gui Cau Hinh; Thuong Luong; Mua; Thong bao co san pham; Thong bao co cau hinh 4.3.2 Xây dựng conversation Nhiệm vụ bước thiết kế chi tiết kiến trúc bên phiên hội thoại xác định bước xác định lớp agent Đối với phiên hội thoại phải làm sáng tỏ cách thức chế hoạt động bên agent tham gia vào phiên hội thoại Trong bước xác định lớp agent, phiên hội thoại xác định từ tương tác role lớp agent khác Do sơ đồ lớp truyền thông xác định tương ứng với task mà role thực Thơng thường, sơ đồ task tương ứng với sơ đồ phiên hội thoại cho bên tham gia tương ứng Tại trạng thái phiên hội thoại, ta phải xác định xác tên hàm, biến tham số cho hàm Tại chuyển tiếp sơ đồ phiên hội thoại, ta tiết hóa dựa chuyển tiếp sơ đồ task tương ứng Cùng dựa cú pháp chuyển tiếp ,nhưng cụ thể hóa nội dung thơng điệp (message) dựa vào việc sử dụng Ontology hệ thống thiết kế bước xây dựng Ontology Với hệ thống ta có conversation sau: Conversation Initiator: Thương lượng; Conversaation Responder: Thương lượng; Conversation Initiator: Gửi cấu hình; Conversaation Responder: Gửi cấu hình; Conversation Initiator: Thơng báo có cấu hình; Conversaation Responder: Thơng báo có cấu hình; Conversation Initiator: Mua; Conversaation Responder: Mua; Conversation Initiator: Thơng báo có sản phẩm; Conversaation Responder: Thơng báo có sản phẩm; 28 Công nghệ phần mềm hướng Agent 4.3.3 Hoàn thiện agent Bao gồm hai bước con: thiết kế kiến trúc bên agent thiết kế thành phần kiến trúc § Thiết kế kiến trúc Được xác định từ Task Role mà lớp Agent tương ứng đảm nhiệm Như vậy, với hệ thống ta xây dựng thành phần sau: Agent NguoiBan có role là: DaiLyPhanPhoi NguoiDapUngThayDoi nên ta có thành phần Task role sau: Ban, Thuong luong, Tiep nhan yeu cau ve san pham, Tiep nhan thay doi, Cap nhat thay doi Tương tự, Agent KhachHang có thành phần: Dat mua, Thuong luong; Agent GiaoDienNguoiDung có thành phần: Hien thi; Agent QuanLySanPham có thành phần: Tim kiem san pham, Cap nhat thong tin san pham, Thong bao ket qua § Thiết kế thành phần Phải phù hợp với sơ đồ role hệ thống xác định trước tức quan hệ thành phần phải thống với quan hệ Task sơ đồ Role Như với Agent NguoiBan ta có thành phần Cap nhat thay doi tương tác với tiep nhan yeu cau ve san pham Task tương tác với sơ đồ Role 4.3.4 Thiết kế hệ thống Nhiệm vụ bước xây dựng sơ đồ triển khai hệ thống nhằm mô tả số lượng, kiểu vị trí agent hệ thống Với hệ thống ta có sơ đồ triển khai hệ thống sau (Hình 14): Agent KhachHang GiaoDienNguoiDung xếp hệ thống System1; Agent QuanLySanPham xếp hệ thống System2; Agent NguoiBan xếp hệ thống System3 Và Agent tương tác với thông qua phiên hội thoại xác định trước 29 Cơng nghệ phần mềm hướng Agent Hình 14: Biểu đồ triển khai hệ thống Đánh giá phương pháp luận MaSE Để đánh giá phương pháp luận MaSE ta dựa theo phạm vi mà MaSE đề cập [5] 5.1 Các khái niệm thuộc tính § Tính tự chủ Trong Mase tính tự chủ thể role đóng gói chức Chức (ví dụ task nó) bên khơng bị ảnh hưởng mơi trường, đại diện cho tính tự chủ role § Tính phản ứng Trong mase tính phản ứng khơng thể cách rõ ràng Đó là, khơng có liên hệ rõ ràng kiện hành động thực nhiên, tính phản ứng thể cách sử dụng máy trạng thái hội thoại § Tính chủ động Trong mase tính chủ động thể task role Những nhiệm vụ (task) mô cách sử dụng trạng thái hữu hạn automata § Tính xã hội Trong mase khía cạnh xã hội hệ thống (ngoại trừ cho việc truyền thông) không đề cập MaSE không cung cấp phương tiện để thu thập agent xác định tổ chức xã hội Tuy nhiên số khía cạnh xã hội xem xét cách sử dụng quy tắc tổ chức 30 Công nghệ phần mềm hướng Agent 5.2 Các ký hiệu kỹ thuật mơ hình hóa § Khả truy cập MaSE cung cấp tập hợp đơn giản mơ hình, mà tăng cường khả truy cập, nhieenm nhu cầu đồng hóa mơ hình cần thiết để thực mơ hình chuyển đổi suốt giai đoạn phát triển làm giảm khả truy cập § Khả phân tích MaSE hỗ trợ kiểm tra tính thống xác nội mơ hình Tuy nhiên, cịn số trường hợp khơng qn xảy Ví dụ: biểu đồ chuyển tiếp trạng thái hội thoại § Quản lý độ phức tạp Có vài lớp trừu tượng MaSE: agent, role task Tuy nhiên, khơng có hỗ trợ việc quản lý độ phức tạp role task phức tạp, ví dụ: khơng có phương tiện để mơ tả hợp phần task Ngồi ra, MaSE khơng cho phép xác định hệ thống phân cấp role § Khả thực thi MaSE hỗ trợ phần việc sinh mã cách sử dụng agentTool Việc sinh mã bao gồm việc hoàn thành hội thoại cho nhiều khuôn khổ giao tiếp MaSE dựa trạng thái hữu hạn automaton có khả để đạt việc sinh mã chất lượng cao § Tính biểu cảm § Cấu trúc hệ thống mơ tả rõ ràng cách sử dụng kiến trúc agent biểu đồ thiết kế hệ thống § Các tri thức đóng gói hệ thống khơng trình bày cách rõ ràng § Các ontology hệ thống hỗ trợ đầy đủ § Các luồng liệu hệ thống xác định rõ ràng § Các luồng điều khiển hệ thống khơng trình bày rõ ràng Tuy nhiên hiểu từ tập hợp biểu đồ task đồng thời § Kiến trúc vật lý hệ thống quy định cụ thể cách sử dụng biểu đồ triển khai § Tính di động agent đề cập MaSE thông qua phương pháp đặc biệt ( ví dụ như: phương thức di chuyển) § Các tương tác hệ thống với hệ thống bên quy định cụ thể cách sử dụng khái niệm hội thoại § Các đặc điểm giao diện người dùng không đề cập, nhiên MaSE khuyến cáo giao diện người dùng xử lý role riêng biệt § Tính Modun Trong MaSE hỗ trợ biểu đồ mẫu agent, nhiên, việc tái sử dụng yếu tố MaSE chẳng hạn task, role, giao thức, hội thoại hỗ trợ 31 Công nghệ phần mềm hướng Agent § Tính xác Các ngữ nghĩa MaSE rõ ràng ngăn chặn hiểu sai người sử dụng Tuy nhiên, MaSE khơng cung cấp định nghĩa thức khái niệm mơ hình 5.3 Q trình phát triển § Bối cảnh phát triển MaSE phù hợp cho bối cảnh phát triển sau: sử dụng việc tạo phần mềm mới, tái cấu trúc, việc thiết kế hệ thống với thành phần tái sử dụng tạo mẫu Tuy nhiên, MaSE không hỗ trợ kỹ thuật ngược lại khó chuyển đổi mơ hình sau § Phạm vi vịng đời Là toàn diện MaSE Các bước việc xác đinh Goal xác định use case xem xét giai đoạn yêu cầu, giai đoạn phân tích bao gồm bước việc xác định role task bước việc xây dựng hệ thống Ontology, giai đoạn thiết kế bao gồm bước việc xây dựng hoàn thiện agent giai đoạn thực bao gồm bước việc thiết kế hệ thống sinh mã Bước thử nghiệm không xác định MaSE § Các hoạt động giai đoạn phương pháp luận MaSE cung cấp hướng dẫn cho việc thực hoạt động giai đoạn phát triển § Xác minh xác nhận MaSE thực kiểm tra mô hình để kiểm tra tính qn, xác định bế tắc yếu tố không sử dụng Ngồi ra, cung cấp hướng dẫn mà hỗ trợ phạm vi kiểm tra giai đoạn nhiên, MaSE không cung cấp hướng dẫn phương tiện cho việc kiểm tra yêu cầu kết giai đoạn § Đảm bảo chất lượng Vấn đề khơng đề cập MaSE § Các hướng dẫn quản lý dự án Vấn đề không đề cập MaSE 5.4 Thực tế § Tài nguyên MaSE có nhiều xuất có website công cụ CASE (Agenttool), nhiên khơng có nhóm người dùng, khơng đào tạo dịch vụ cung cấp § Yêu cầu chun mơn MaSE địi hỏi tảng vững kiến thức logic thời gian logic cho việc sử dụng quy tắc tổ chức mô hình khác khơng địi hỏi kiến thức cụ thể ngoại trừ cho trạng thai hữu hạn automata 32 Công nghệ phần mềm hướng Agent § Khả phù hợp ngơn ngữ MaSE không nhằm mục tiêu vào ngôn ngữ lập trình cụ thể, kiến trúc cụ thể, framework cụ thể § Khả ứng dụng miền MaSE phương pháp có mục đính chung cho việc thiết kế MAS Các nhà thiết kế MaSE báo cáo việc sử dụng MaSE cho nhiều kiểu Agent domain § Khả mở rộng MaSE không cung cấp chi tiết liên quan đến việc sử dụng tập tập cha cho việc phát triển hệ thống Nó giống sử dụng MaSE đê xác định hệ thống kích thước bất kỳ, người sử dụng phải tuân theo đường phát triển thiết lập MaSE Kết luận MaSE trình gồm bước mà biến đổi tập hợp mô hình trừu tượng vào loạt đại diện cụ thể MaSE bắt đầu pha phân tích cách xác định chất bối cảnh hệ thống ban đầu tập hợp cấu trúc Goal use case Tiếp theo, use case truyển đổi thành biểu đồ tuần tự, chuỗi kiện mong muốn thiết kế vào hệ thống Cuối cùng, role xác định từ Goal use case bao gồm task, mơ tả liên kết Goal thỏa mãn Mục đích pha thiết kế xác định tổ chức toàn hệ thống cách chuyển role task xác định pha phân tích thành kiểu agent hội thoại Khi cấu trúc tổ chức hệ thống xác định, cấu trúc bên lớp Agent xác định Cấu hình hệ thống cuối được xác định bước thiết kế hệ thống [6] MaSE agentTool công trình tiến MaSE với phiên agentTool sử dụng để phát triển chục hệ thống Multiagent khác với trăm Agent Người sử dụng cho MaSE sử dụng tương đối đơn giản, đủ linh hoạt phép loạt giải pháp Ngoài MaSE agentTool sử dụng để phát triển hệ thống multiagent với quy mô lớn mở rộng để để xử lý hệ thống di động hệ thống động (trong điều kiện agent nhập rời khỏi hệ thống q trình thực thi) Ngồi MaSE tìm hiểu kỹ mối quan hệ task, hội thoại thiết kế bên agent Thêm hai vấn đề địi hỏi phải nghiên cứu sử dụng trở ngại tới Goal cách để tăng khả xử lý ngoại lệ mơ hình hóa miền thơng tin AgentTool mở rộng để xử lý tất pha bước MaSE bao gồm việc sinh mã, tìm kiếm kỹ thuật trực quan để thực biểu đồ MaSE sửa đổi phiên chúng để dễ dàng việc xem sử dụng AgentTool [6] Tài liệu tham khảo [1] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.2907&rep=rep1&type=pdf [2] http://www.pa.icar.cnr.it/cossentino/al3tf1/docs/mase4agentlink.pdf [3] http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA448191 33 Công nghệ phần mềm hướng Agent [4] http://www.springerlink.com/index/0pc24utnubkm51u1.pdf [5]http://ebookee.org/Methodologies-and-Software-Engineering-for-Agent-Systems-The Agent-Oriented-Software-Engineering-Handbook_123127.html [6] http://people.cis.ksu.edu/~sdeloach/publications/Journal/MaSE%20-%20IJSEKE.pdf 34 ... lớp agent? ??…………………………………………………………28 Hình 14: Biểu đồ triển khai hệ thống .……………………………………………30 Công nghệ phần mềm hướng Agent ĐỀ TÀI: PHÂN TÍCH THIẾT KẾ HỆ ĐA AGENT THEO PHƯƠNG PHÁP MaSE VÀ AgentTool. .. thoại, Hoàn thiện Agent Thiết kế hệ thống Tồn q trình phân tích thiết kế hệ thống theo phương pháp luận MaSE hỗ trợ công cụ AgentTool, công cụ hỗ trợ người thiết kế kiểm thử tương tác Agent sinh mã... áp dụng phương pháp luận MaSE AgentTool để phân tích thiết kế hệ hỗ trợ mua bán điện thoại di động; Phần 5: sự đánh giá phương pháp luận MaSE; Phần 6: kết luận Cơng nghệ phần mềm hướng Agent Quy

Ngày đăng: 28/06/2014, 09:01

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan