Luận Văn Lập trình hướng Agent

Thảo luận trong 'Chưa Phân Loại' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    173
    Điểm thành tích:
    0
    Xu:
    0Xu
    LỜI GIỚI THIỆU


    Trong những năm gần đây, sự Phát triển mạnh mẽ của các công nghệ truyền thông và internet đã ảnh hưởng sâu rộng đến mọi mặt của cuộc sống từ kinh tế, khoa học đến văn hoá và xã hội. Rõ ràng sự Phát triển của phần cứng đóng vai trò rất quan trọng trong quá trình tiến hoá này nhưng yếu tố then chốt đã ảnh hưởng mạnh mẽ đến Xã hội tri thức ngày nay chính là bản thân phần mềm. Khi mà mạng máy tính và Internet trở thành phổ biến thì việc xử lý thông tin phân tán, chia xẻ và tích hợp thông tin thông qua đường truyền giữa các máy với những cơ sở dữ liệu có những khuôn dạng khác nhau càng ngày càng trở nên phổ biến. Điều này dẫn đến một thách thức mới đối với giới Phát triển phần mềm khi phải đối đầu với những yêu cầu thực tế của các hệ phần mềm phức tạp, mở và phân tán.

    Những nghiên cứu và công nghiệp Phát triển phần mềm trong những cuối năm 80 và đầu thập niên 90 xoay quanh cách tiếp cận hướng đối tượng tiến hoá từ phương pháp luận phần mềm cấu trúc truyền thống. Phương pháp hướng đối tượng có ưu điểm so với phương pháp cấu trúc là khả năng sử dụng lại mã nguồn, dễ đọc mã nguồn và xử lý lỗi. Ý tưởng cơ bản của nó là xem hệ phần mềm như tập hợp các thực thể tương tác gọi là “đối tượng” trong đó mỗi đối tượng được xác định bởi ba yếu tố: Định danh, trạng thái và hành vi . Như vậy, Phát triển phần mềm dựa trên cách tiếp cận này có nghĩa là tiến hành Xây dựng mô hình của hệ thống cần được Phát triển (cả trong các pha phân tích và thiết kế) dựa trên khái niệm đối tượng và những khái niệm liên quan như thành viên, phương thức, quan hệ . Ngôn ngữ UML đã được sử dụng rộng rãi để mô hình các hệ phần mềm này dưới dạng use case, biểu đồ lớp, biểu đồ tương tác .

    Tuy nhiên, cách tiếp cận hướng đối tượng tỏ ra không đáp ứng được nhu cầu Phát triển các hệ phần mềm mở, phân tán, phức tạp như quản lý mạng viễn thông, Thương mại điện tử, trợ giúp văn phòng, tìm kiếm/lọc thông tin .Là một Phát triển tiếp theo của hướng đối tượng, cách tiếp cận hướng agent được xem là công nghệ hứa hẹn cho Phát triển các hệ phần mềm phức tạp này. Ý tưởng cơ bản của hệ đa agent là xem hệ phần mềm như một cấu trúc Xã hội bao gồm các agent có khả năng tự chủ cùng với các tương tác “có tính chất tri thức” hay “mang ngữ nghĩa” giữa chúng.

    Giống như đối tượng, các agent cũng có định danh, trạng thái và hành vi nhưng những khái niệm này được mô tả một cách tinh tế hơn:

    ã Trạng thái có thể bao gồm tri thức, lòng tin, đích cần phải thoả mãn, các trách nhiệm được gán cho từng agent;

    ã Hành vi là những vai trò mà agent có thể đảm nhiệm, những công việc cần phải tiến hành, các sự kiện cần phải được quan sát .

    Công nghệ phần mềm hướng agent đã thu hút nhiều quan tâm nghiên cứu vì nó được xem là cách tiếp cận tiến hoá từ công nghệ phần mềm hướng đối tượng và công nghệ tri thức. Nó đã tỏ ra có nhiều hứa hẹn cho Phát triển các hệ phần mềm trong môi trường phân tán và mở. Thập niên 90 đã chứng kiến sự nở rộ của nhiều ứng dụng và thử nghiệm thành công trong các lĩnh vực khác nhau như viễn thông, quản lý không lưu, các dịch vụ trên Internet .Những năm 2000, các nghiên cứu về agent tập trung vào Xây dựng các phương pháp luận Phát triển phần mềm bao gồm Xây dựng quy trình, công cụ cùng các kỹ thuật phân tích và thiết kế hệ đa agent.

    Như vậy, công nghệ agent đã được nghiên cứu và Phát triển mạnh mẽ trên thế giới và đã được áp dụng trong nhiều lĩnh vực khác nhau. Tuy nhiên, những nghiên cứu ở trong nước về agent mới chỉ ở giai đoạn bắt đầu và theo hiểu biết của chúng tôi nghiên cứu về công nghệ phần mềm hướng agent chưa được quan tâm nhiều.

    Nhằm đáp ứng nhu cầu nghiên cứu và Phát triển các hệ phần mềm đa agent, đề tài đã tập trung xem xét quy trình Phát triển và các kỹ thuật cho các bước trong các pha phân tích và thiết kế hệ này. Thuật ngữ quy trình trong đề tài này được hiểu là bao gồm các bước trong các pha phân tích và thiết kế phần mềm. Mặc dù có nhiều phương pháp luận và công cụ Phát triển hệ đa agent đã được Xây dựng nhưng phương pháp luận MaSE (chi tiết sẽ được trình bày trong Chương 2) đã được lựa chọn vì hai lý do sau đây:

    a. Phương pháp luận MaSE kế thừa từ phương pháp luận hướng đối tượng và do đó sẽ dẽ dàng hơn cho những người Phát triển phần mềm đã quen thuộc với cách tiếp cận hướng đối tượng phổ biến hiện nay;

    b. Phương pháp lụân này có công cụ đi kèm agentTool có thể hỗ trợ Phát triển từ phân tích, thiết kế đến sinh mã nguồn. Hơn nữa, trong khi các công cụ khác tách biệt khâu Phát triển ontology thì agentTool đã tích hợp khâu này vào trong quá trình Phát triển và do đó đã tạo điều kiện dễ dàng cho người Phát triển hơn vì không phải sử dụng các công cụ khác để Phát triển ontology và hơn nữa nó lại được sinh ra trong quá trình sinh mã nguồn hệ thống.

    Nội dung nghiên cứu của đề tài bao gồm:

    ã Nghiên cứu các đặc trưng của agent và hệ đa agent; một số vấn đề cơ bản liên quan đến Phát triển hệ phần mềm agent bao gồm Xây dựng ontology và tương tác;

    ã Nghiên cứu các bước trong phân tích và thiết kế hệ đa agent và sử dụng công cụ agentTool trong các bước này.

    ã Nghiên cứu áp dụng phương pháp luận MaSE trong phân tích và thiết kế hệ dịch vụ Thương mại Điện tử TraNeS.


    Tài liệu được tổ chức thành 2 phần bao gồm 7 chương như sau:

    Phần 1 Cơ sở Phát triển hệ đa agent

    Chương 1: Hệ đa agent

    Chương này trình bày một cách tổng quan về agent, hệ đa agent và các cách tiếp cận trong nghiên cứu Xây dựng các phương pháp luận Phát triển hệ đa agent. Nội dung của chương này tập trung xem xét các cách tiếp cận khi Xây dựng các phương pháp luận Phát triển hệ phần mềm đa agent.

    Chương 2: Tương tác trong hệ đa agent

    Chương này trước hết trình bày tổng quan vấn đề tương tác trong hệ đa agent bao gồm các dạng tương tác, tương tác với agent trung gian và thương lượng trong hệ đa agent. Một mô hình thương lượng song phương dựa trên ràng buộc mờ sẽ được trình bày nhằm cơ sở cho Phát triển hệ dịch vụ Du lịch sẽ được đề cập đến trong các chương tiếp theo.

    Chương 3: Ontology trong hệ đa agent

    Ontology là khái niệm quan trọng nhằm biểu diễn ngữ nghĩa của thông tin được truyền đi giữa các agent trong quá trình tương tác. Nội dung của chương này tập trung xem xét khái niệm ontology và vai trò của nó trong tương tác giữa các agent. Phần kỹ thuật Xây dựng ontology trong hệ đa agent sẽ được đề cập trong Chương 4.

    Chương 4: Quy trình Phát triển hệ phần mềm hướng agent

    Nội dung chương này tập trung trình bày quy trình Phát triển hệ phần mềm hướng agent dựa trên phương pháp luận MaSE cùng với các bước tương ứng trong quá trình Phát triển dựa trên công cụ agentTool. Các bước Phát triển ontology của hệ thống cũng được gói gọn trong chương này. Một áp dụng của quy trình này cho Phát triển hệ dịch vụ thương lượng tự động sẽ được mô tả chi tiết trong các chương còn lại.

    Phần 2: Áp dụng Phát triển hệ dịch vụ Du lịch

    Chương 5: Phân tích hệ dịch vụ

    Chương này nhằm trình bày chi tiết một áp dụng của quy trình Phát triển hệ đa agent cho phân tích hệ dịch vụ Du lịch TraNeS. Nội dung các bước phân tích này được trình bày gắn liền với công cụ Phát triển agentTool.

    Chương 6: Thiết kế hệ dịch vụ

    Nội dung chính của chương này là trình bày một áp dụng của quy trình Phát triển hệ đa agent trong thiết kế cho thiết kế hệ dịch vụ Du lịch TraNeS.

    Chương 7: Cài đặt và tích hợp hệ dịch vụ

    Nội dung của chương này trình bày các vấn đề liên quan đến cài đặt và tích hợp hệ dịch vụ thương lượng.

    Chương 8: Giới thiệu hệ TraNeS

    Nội dung nhằm điểm qua một số đặc trưng và cách tiến hành cài đặt của hệ dịch vụ Du lịch TraNeS đã được Phát triển trong các Chương 5, 6 và 7.

    Kết luận

    Phần cuối cùng là kết luận và một số vấn đề cần quan tâm nghiên cứu hơn nữa trong Phát triển các ứng dụng.


    Tài liệu này được viết với giả thiết rằng người đọc đã quen thuộc với phương pháp luận Phát triển phần mềm hướng đối tượng. Do đó, nhiều khái niệm không được nhắc lại như use case, biểu đồ tương tác, biểu đồ trạng thái. Mặc dù nhóm đề tài đã có nhiều nỗ lực để hoàn thiện tài liệu nhưng không thể tránh khỏi những thiếu sót. Rất mong nhận được những ý kiến đóng góp và chỉ bảo của các đồng nghiệp.


    MỤC LỤC



    LỜI GIỚI THIỆU 1

    MỤC LỤC 5

    PHẦN 1 CƠ SỞ Phát triển HỆ ĐA AGENT 8

    CHƯƠNG 1 HỆ ĐA AGENT 9


    1.1 Agent 10

    1.1.1 Khái niệm agent 10

    1.1.2 Agent và đối tượng 12

    1.2 Hệ đa agent 13

    1.2.1 Khái niệm hệ đa agent 13

    1.2.2 Môi trường tính toán thích hợp cho hệ đa agent 14

    1.2.3 Các ứng dụng của hệ đa agent 15

    1.3 Các phương pháp luận Phát triển hệ đa agent 16

    1.3.1 Các cách tiếp cận Phát triển hệ đa agent 17

    1.3.1.1 Các phương pháp mô hình yêu cầu 18

    1.3.1.2 Các cách tiếp cận trong phân tích thiết kế hệ thống đa agent 19

    1.4 Phương pháp luận Gaia 22

    1.4.1 Giới thiệu chung 22

    1.4.2 Pha phân tích 23

    1.4.3 Pha thiết kế 23

    1.5 Phương pháp luận MAS-CommonKADS 24

    1.5.1 Giới thiệu chung 24

    1.5.2 Pha khái niệm hoá 25

    1.5.3 Pha phân tích 25

    1.5.4 Pha thiết kế 27

    1.4 Kết luận 28

    CHƯƠNG 2 TƯƠNG TÁC TRONG HỆ ĐA AGENT 29

    2.1 Tổng quan về tương tác trong hệ đa agent 30

    2.1.1 Ngôn ngữ truyền thông giữa các agent 31

    2.1.2 Các mô hình tương tác 33

    2.1.3 Tương tác với agent trung gian 37

    2.2 Thương lượng trong hệ đa agent 40

    2.3 Mô hình thương lượng song phương 42

    2.3.1 Cơ sở Toán học cho thương lượng song phương 42

    2.3.2 Chiến lược thương lượng cho agent bán 45

    2.3.3 Chiến lược thương lượng cho agent mua 47

    2.4 Kết luận 52

    CHƯƠNG 3 ONTOLOGY TRONG HỆ ĐA AGENT 53

    3.1 Khái niệm Ontology 54

    3.1.1 Khái niệm 54

    3.1.2 Ontology và cơ sở tri thức 55

    3.1.3 Phân loại ontology 56

    3.1.4 Vai trò của ontology trong tương tác giữa các agent 57

    3.2 Biểu diễn ontology 58

    3.2.1 Biểu diễn ontology theo kiểu hình thức 59

    3.2.2 Biểu diễn ontology theo kiểu không hình thức 65

    3.3 Phương pháp luận Xây dựng ontology tổng quát 67

    3.4 Kết luận 69

    CHƯƠNG 4 QUY TRÌNH Phát triển HỆ PHẦN MỀM HƯỚNG AGENT 70

    4.1 Đặc điểm của phương pháp luận MaSE 71

    4.2 Quy trình Phát triển hệ phần mềm hướng agent 72

    4.2.1 Khái quát các bước Phát triển 72

    4.2.2 Pha phân tích 73

    4.2.3 Pha thiết kế 93

    4.3 Kết luận 103

    PHẦN 2 ÁP DỤNG Phát triển HỆ DỊCH VỤ Du lịch 104

    CHƯƠNG 5 PHÂN TÍCH HỆ DỊCH VỤ 105

    5.1 Mô hình sở thích người sử dụng 106

    5.1.1 Bài toán dịch vụ Du lịch 106

    5.1.2 Mô hình sở thích người sử dụng 107

    a. Ràng buộc các thuộc tính 107

    b. Ràng buộc giữa các mặt hàng 109

    5.2 Phân tích hệ thống 110

    5.2.1 Xác định đích của hệ thống 110

    5.2.2 Xây dựng các use case 112

    5.2.3 Xây dựng ontology 114

    5.2.4 Hoàn thiện các role 116

    5.3 Kết luận 120

    CHƯƠNG 6 THIẾT KẾ HỆ DỊCH VỤ 121

    6.1 Một số vấn đề về thiết kế hệ đa agent 122

    6.2 Thiết kế hệ đa agent 122

    6.2.1 Xây dựng các lớp agent 122

    6.2.2 Xây dựng các phiên hội thoại 124

    6.2.3 Hoàn thiện các agent 129

    6.2.4 Triển khai hệ thống 133

    6.3 Kết luận 133

    CHƯƠNG 7 CÀI ĐẶT VÀ TÍCH HỢP HỆ THỐNG 134

    7.1 Vài nét về agentMom 135

    7.2 Mô hình tích hợp hệ thống 137

    7.2.1 UserAgent 137

    7.2.2 HotelAgent và TrainAgent 137

    7.2.3 MatchAgent 138

    7.2.4 Hoạt động của hệ thống 139

    7.3 Cài đặt các lớp agent 140

    7.3.1 UserAgent 140

    7.3.2 HotelAgent 146

    7.3.3 TrainAgent 150

    7.3.4 MatchAgent 153

    7.4 Kết luận 156

    CHƯƠNG 8 GIỚI THIỆU HỆ TRANES 157

    8.1 Đặc trưng của Hệ TraNeS 158

    8.2 Các mô hình hoạt động của hệ TraNeS 158

    8.3 Các nhóm chức năng của Hệ TraNeS 162

    8.4 Cài đặt Hệ TraNeS 179

    8.5 Bài học từ Phát triển hệ TraNeS 179

    8.6 Kết luận 180

    KẾT LUẬN 183

    TÀI LIỆU THAM KHẢO 184
     

    Các file đính kèm:

Đang tải...