Luận Văn Kiến trúc phần mềm dựa trên tác tử

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Mai Kul, 5/12/13.

  1. Mai Kul

    Mai Kul New Member

    Bài viết:
    1,299
    Được thích:
    0
    Điểm thành tích:
    0
    Xu:
    0Xu
    Đồ án tốt nghiệp
    Đề tài: Kiến trúc phần mềm dựa trên tác tử


    MỤC LỤC
    MỤC LỤC . 1
    DANH MỤC HÌNH VẼ . 4
    MỞ ĐẦU . 6
    CHƯƠNG 1: TÁC TỬ VÀ ĐA TÁC TỬ . 7
    1.1. Tác tử và hệ đa tác tử 7
    1.1.1. Giới thiệu về tác tử và hệ đa tác tử 7
    1.1.2. Định nghĩa về tác tử . 7
    1.1.3. Các kiểu kiến trúc của tác tử 8
    1.1.3.1. Những kiến trúc dựa trên logic . 8
    1.1.3.2. Phản ứng . 9
    1.1.3.3. BDI 10
    1.1.3.4. Kiến trúc phân lớp . 10
    1.1.4. Giao tiếp và phối hợp . 11
    1.1.4.1. Giao tiếp 11
    1.1.4.2. Phối hợp 12
    1.1.5. Ngôn ngữ lập trình và công cụ . 14
    1.1.6. Tác tử di động 15
    1.1.6.1. Thế nào là tác tử di động . 15
    1.1.6.2. Một số ưu điểm và nhược điểm của tác tử di động . 16
    1.1.6.3. Di chuyển mạnh và di chuyển yếu 17
    1.1.6.4. Quá trình di chuyển . 17
    1.1.7. Tạo tác tử . 18
    1.1.8. Ứng dụng hệ thống đa tác tử 18
    1.2. Nền tảng tác tử vật ký và tác tử thông minh . 19
    1.2.1. FIPA lịch sử và mục tiêu . 19
    1.2.2. Các khái niệm cốt lõi FIPA 21
    2
    1.2.2.1. Giao tiếp giữa các tác tử . 21
    1.2.2.2. Các lớp con của FIPA . 22
    1.2.2.3. Sự quản lý tác tử . 23
    1.2.2.4. Kiến trúc trừu tượng 25
    1.2.3. Các liên quan đến FIPA và JADE 25
    CHƯƠNG 2: NỀN TẢNG JADE 26
    2.1. JADE là gì? . 26
    2.2. Tóm tắt lịch sử 26
    2.3. JADE và mô hình tác tử 27
    2.4. Kiến trúc JADE . 27
    2.5. Những đặc điểm cơ bản của JADE . 29
    2.5.1. Cài đặt nhiệm vụ cho tác tử. 29
    2.5.1.1. Lập lịch và thực thi Behaviour 30
    2.5.1.2. One-shot behaviour, cyclic behavior và generic behavio . 31
    2.5.1.3. Bổ sung thêm về hành vi của tác tử 31
    2.5.1.4. Lập lịch cho các hành vi của tác tử . 32
    2.5.2. Truyền thông giữa các tác tử 32
    2.5.2.1. Gửi thông điệp 33
    2.5.2.2. Nhận thông điệp 33
    2.5.2.3. Khóa hành vi đợi thông điệp . 33
    2.5.2.4. Lựa chọn thông điệp từ hàng đợi 34
    2.5.2.5. Các cuộc hội thoại phức tạp 34
    2.5.2.6. Nhận thông điệp tại node đang khóa . 34
    2.5.3. Tác tử với giao diện đồ họa . 35
    2.5.3.1. Thực hành lập trình tốt với bộ lắng nghe sự kiện AWT . 35
    2.5.3.2. Thực hành lập trình bằng cách sửa đổi giao diện đồ họa trong
    luồng thực thi của tác tử . 36
    2.6. Những đặc điểm nâng cao của JADE . 36
    3
    2.6.1. Hợp các hành vi để xây dựng các tác tử 36
    2.6.1.1. Lớp SequentialBehaviour . 36
    2.6.1.2. Lớp FsmBehaviour . 37
    2.6.1.3. Lớp ParallelBehaviour 37
    2.6.1.4. Chia sẻ dữ liệu giữa các hành vi con: DATASTORE 37
    2.6.2. Hành vi luồng 37
    2.6.3. Các giao thức tương tác . 38
    2.6.3.1. Gói jade.proto 38
    2.6.3.2. Sử dụng các lớp giao thức . 38
    2.6.3.2. Lồng giao thức 39
    2.7. Biên dịch và chạy chương trình 40
    CHƯƠNG 3: KIẾN TRÚC PHẦN MỀM DỰA TRÊN TÁC TỬ VÀ
    ỨNG DỤNG 43
    3.1 Kiến trúc phần mềm dựa trên tác tử 43
    3.2 Thực nghiệm 44
    Bài toán 44
    Xây dựng các mô đun trong chương trình . 44
    3.3. Biên dịch tác tử . 47
    3.4. Gắn tác tử với Jade . 48
    KẾT LUẬN . 51
    TÀI LIỆU THAM KHẢO . 52


    MỞ ĐẦU
    Trong lĩnh vực công nghệ phần mềm có nhiều phương pháp tiếp cận để xây
    dựng phần mềm. Trong đó, xây dựng phần mềm dựa trên tác tử là hướng tiếp cận
    mới và đem lại nhiều lợi ích, đặc biệt trong một số ứng dụng chuyên biệt.
    Xuất phát từ yêu cầu thực tế đó em đã chọn đề tài “Kiến trúc phần mềm dựa
    trên tác tử ”.
    Đồ án bao gồm 3 chương :
    Chương 1: Tác tử và đa tác tử.
    Giới thiệu tổng quan kiến thức về tác tử và đa tác tử.
    Chương 2: Nền tảng JADE.
    Trong chương này đồ án trình bày những đặc điểm cơ bản kiến trúc JADE và
    các yếu tố liên quan.
    Chương 3: Kiến trúc phần mềm dựa trên tác tử và ứng dụng.
    Ứng dụng. và thực ngiệm.


    CHƯƠNG 1: TÁC TỬ VÀ ĐA TÁC TỬ
    1.1. Tác tử và hệ đa tác tử
    1.1.1. Giới thiệu về tác tử và hệ đa tác tử
    Chương này trước hết giới thiệu các khái niệm về tác tử [1] [2] [3], tổng
    quan các công nghệ tác tử, kiến trúc tác tử, các ngôn ngữ lập trình và các công cụ
    phát triển. Tiếp theo sẽ mô tả các đặc tả của FIPA [1] [7] - tập các tiêu chuẩn phổ
    biến nhất và được chấp nhận rộng rãi cho phát triển các nền tảng và ứng dụng đa
    tác tử. JADE [1] [8] là một nền tảng tuân theo các đặc tả FIPA và hơn nữa nó còn
    mở rộng mô hình FIPA trong một số lĩnh vực như tác tử cho thiết bị di động, tác tử
    cho dịch vụ web.
    1.1.2. Định nghĩa về tác tử
    Thuật ngữ “tác tử” hay tác tử phần mềm đã được sử dụng rộng rãi và xuất
    hiện trong nhiều lĩnh vực nghiên cứu như trí tuệ nhân tạo, cơ sở dữ liệu, các tài liệu
    về hệ điều hành và mạng máy tính.
    Mặc dù cho đến nay vẫn chưa có một định nghĩa thống nhất về tác tử nhưng
    tất cả các định nghĩa đều có chung một điểm rằng một tác tử, về bản chất, là một
    phần mềm máy tính đặc biệt có thể tự chủ và cung cấp một interface có khả năng
    tương thích với một hệ thống bất kì và/hoặc cư xử như là một tác tử con người hay
    đại diện cho một số client để thực thi các đích cho riêng mình.
    Mặc dù một đa tác tử có thể chỉ cần dựa trên một tác tử đơn lẻ để làm việc
    trong một môi trường và tương tác với người dùng của nó khi cần thiết, tuy nhiên
    các đa tác tử thường bao gồm nhiều tác tử. Những hệ thống đa tác tử (MAS:
    Multiagent System) có thể sử dụng để mô hình hóa các hệ thống phức tạp bao gồm
    các tác tử với các mục tiêu chung hoặc riêng. Những tác tử có thể tương tác
    với nhau một cách gián tiếp (qua tác động lên môi trường) hoặc trực tiếp (thông
    qua giao tiếp và thương lượng). Các tác tử có thể quyết định hợp tác để cùng có lợi
    hoặc có thể cạnh tranh để phục vụ cho mục tiêu của mình.
    Như vậy, tác tử có tính tự chủ, vì nó hoạt động mà không có sự can thiệp trực
    tiếp của con người hoặc các hệ thống khác và có khả năng kiểm soát được
    hành động và trạng thái bên trong của mình.
    8
    Tác tử có tính xã hội, vì nó tương tác với con người hoặc các tác tử khác để
    hoàn thành nhiệm vụ của mình.
    Tác tử có tính phản ứng, bởi vì nó nhận thức được môi trường và đáp ứng
    một cách kịp thời với những thay đổi xảy ra trong môi trường.
    Tác tử có tính hướng đích, vì nó không chỉ đơn giản là hoạt động để phản
    ứng với môi trường của nó mà còn có khả năng thể hiện hoạt động hướng
    đích một cách chủ động.
    Tác tử có thể có tính di động, với khả năng di chuyển giữa các node trong
    một mạng máy tính.
    Tác tử có thể có tính trung thực nghĩa là luôn cung cấp sự thật.
    Tác tử có thể tốt bụng, luôn cố gắng thực hiện những gì được yêu cầu.
    Tác tử có thể sáng suốt, luôn hoạt động hướng đến để đạt được mục tiêu và
    không bao giờ ngăn cản việc đạt được mục tiêu của mình.
    1.1.3. Các kiểu kiến trúc của tác tử.
    Kiến trúc tác tử là cơ chế nằm bên dưới các thành phần tự chủ nhằm hỗ trợ
    hành vi của tác tử trong thế giới thực, môi trường động và môi trường mở. Trong
    thực tế, những nỗ lực ban đầu trong lĩnh vực tính toán dựa trên tác tử tập trung vào
    sự phát triển của các kiến trúc tác tử thông minh và đã đưa ra khá nhiều kiểu kiến
    trúc. Vì vậy, kiến trúc tác tử có thể được chia thành bốn chính nhóm: dựa trên logic,
    có tính phản ứng, BDI và phân lớp.
    1.1.3.1. Những kiến trúc dựa trên logic
    Những kiến trúc dựa trên logic (logic-based) lấy nền tảng từ kỹ thuật dựa
    trên tri thức truyền thống trong đó một môi trường được thể hiện và hoạt động bằng
    cách sử dụng các cơ chế lập luận. Ưu điểm của cách tiếp cận này là tri thức của con
    người được biểu diễn bởi các ký hiệu và vì thế mà việc mã hóa trở nên dễ dàng hơn
    và cũng làm cho con người hiểu logic hoạt động của nó dễ dàng hơn. Nhược điểm
    là rất khó để biên dịch thế giới thực thành những mô tả hình tượng một cách chính
    xác và đầy đủ. Hơn nữa việc biểu diễn và xử lý dưới dạng các kí hiệu có thể mất
    nhiều thời gian để có được kết quả và thường là được đưa ra quá muộn, không còn
    có ích nữa.
    9
    1.1.3.2. Phản ứng
    Những kiến trúc có tính phản ứng (reactive) thực thi quá trình đưa ra quyết
    định khi ánh xạ trực tiếp tình huống sang hành động và được dựa trên một cơ chế
    kích thích - phản ứng được tạo ra bởi dữ liệu của thiết bị cảm biến. Không giống
    như những kiến trúc dựa trên logic, chúng không có bất kì mô hình biểu diễn tri
    thức và vì thế, không tận dụng được các kiểu lập luận phức tạp nào. Kiến trúc có
    tính phản ứng nổi tiếng nhất là kiến trúc gộp của Brooks [7]. Những ý tưởng chính
    mà dựa trên đó Brooks đã tìm ra kiến trúc này là:
    Một cách ứng xử thông minh có thể được tạo ra mà không cần biểu diễn rõ
    ràng và lập luận được cung cấp bởi các kỹ thuật của trí tuệ nhân tạo.
    Thông minh là một tính chất riêng biệt của những hệ thống phức tạp.
    Kiến trúc gộp xác định các tầng của các máy hữu hạn trạng thái – các máy
    được kết nối với thiết bị cảm biến – các thiết bị truyền thông tin theo thời gian thực
    (một ví dụ của kiến trúc gộp được thể hiện trong hình 1.1). Các tầng này tạo thành
    sự phân cấp các hành vi của tác tử trong đó, mức độ thấp nhất được điều khiển ít
    hơn so với mức độ cao hơn trong ngăn xếp, vì thế việc ra quyết định được đưa ra
    thông qua những hành vi hướng đích. Những tác tử được thiết kế gộp hiểu được
    điều kiện và hành động, nhưng không đưa ra được kế hoạch.


    TÀI LIỆU THAM KHẢO
    [1] Fabio Luigi Bellifemine, Developing Multi-Agent Systems with JADE
    (Wiley Series in Agent Technology).
    [2] Gerhard Weiss, MultiAgent Systems, A Modern Approach to Distributed
    Modern Approach to Artificial Intelligence.
    [3] Pattie maes, Communication of the ACM, Agents that Reduce Word and
    Information Overload.
    [4] White, JE. Telescrip Technology: Mobile Agent. In Bradsshaw jeffrey,
    (ed), Software Agent, AAAI Press/MIT Press, 1996.
    [5] Rodney A. Books – Subsumption Architecture.
    [6] Michael Georgeff, Barney Pell, Martha Pollack, Milind Tambe,
    MichaelWooldridge, The Belief – Desries – Intention Model of Agency.
    [7] http://fipa.org
    [8] http://jade.tilab.com/
     

    Các file đính kèm:

Đang tải...