Bài giảng Tác tử - Bài 10: Java Agent Development Framework

pdf 6 trang huongle 2880
Bạn đang xem tài liệu "Bài giảng Tác tử - Bài 10: Java Agent Development Framework", để 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:

  • pdfbai_giang_tac_tu_bai_10_java_agent_development_framework.pdf

Nội dung text: Bài giảng Tác tử - Bài 10: Java Agent Development Framework

  1. CÁC VẤN ĐỀ Java Agent Development Framework 1. Khái niệm về Jade what it is and what it is next ? site: 2. Cấu trúc của Jade platform 3. Chuẩn FIPA 4. Một số lớp quan trọng trong thư viện Jade 5. Các hướng phát triển mới được Jade hỗ trợ (c) SE/FIT/HUT 200x (c) SE/FIT/HUT 200x 2 1. Các khái niệm về Jade 1. Các khái niệm về Jade (tiếp) „ Jade là phần mềm dạng middle-ware phục vụ „ Jade được xây dựng hoàn toàn trên ngôn ngữ cho việc phát triển MAS. Java „ Hỗ trợ việc xây dựng từng Agent trong hệ MAS. „ Đòi hỏi môt trường JDK 1.2 trở lên „ Cung cấp các dịch vụ cho hoạt động của Agent: „ Có thể hoạt động phân tán trên nhiều máy(Không • life-cycle, white-page, yellow-page, message nhất thiết cùng hệ điều hành) transport, message encoding „ Jade là một hệ mở và mã nguồn mở „ Cung cấp các tools phục vụ cho việc debug: • remote monitoring agent, sniffer agent, „ Yêu cầu xây dựng Agent dựa trên chuẩn FIPA. (c) SE/FIT/HUT 200x 3 (c) SE/FIT/HUT 200x 4 Cấu trúc phân tán của Jade platform 2. Cấu trúc của Jade platform host1.it host2.jp host3.us 2.1 Cấu trúc phân tán của Jade platform „ Platform Jade là môi trường hỗ trợ Agent hoạt động, trao đổi thông tin Application Agent Application Agent Application Agent Application Agent „ Application Agent Application Agent Platform Jade chứa nhiều container, các container Application Agent Application Agent Application Agent khác có thể hoạt động độc lập trên các host khác nhau. Jade distributed Agent Platform „ Có hai loại container: Jade Main-container Jade Agent Container Jade Agent Container • Jade main-container: mỗi platform chỉ có một main-container. JRE 1.2 JRE 1.2 JRE 1.2 • Jade Agent-container: một platform có thể có nhiều Network protocol stack Agent-container. (c) SE/FIT/HUT 200x 5 (c) SE/FIT/HUT 200x 6 1
  2. 2.1 Cấu trúc phân tán của Jade platform(tiếp) 2.1 Cấu trúc phân tán của Jade platform(tiếp) a. Tìm hiểu về Jade main-container Tìm hiểu về Jade Agent-Container „ Container này được khởI tạo cùng vớI Jade „ Chứa các Agent của ngườI sử dụng platform, và chỉ bị huỷ bỏ khi huỷ platform. „ Commad line: „ Chứa một số Agent quan trọng của Jade platform: java jade.Boot –container • RMA(Remote Management Agent): hoạt động như một „ Các container có thể nằm trên các host khác màn hình điểu khiển, phục vụ cho việc qlý platform. nhau, nếu có opption : -host trong commad line. command line: java Jade.Boot –platform –gui java jade.Boot –host [host’s Name/ IP] • DF(Directory Facilitator): là một Agent cung cấp dịch vụ yellow-page trong platform. • AMS(Agent Managemrnt System): là Agent theo dõi và quản lý sự truy cập và sử dụng Agent Platform. • Cung cấp dịch vụ white-page. (c) SE/FIT/HUT 200x 7 (c) SE/FIT/HUT 200x 8 2.2 Cấu trúc run-time của Jade 2.3 Hoạt động của Jade Platform „ Cấu trúc chuẩn của Agent platform (FIPA) Agent Directory Management Facilitator System White page Yellow page service service cache of Agent Communication Channel agent addresses Intra-Container Inter-Containers Inter-Platforms Message Transport Message Transport Message Transport (Java events) (Java RMI) (IIOP, HTTP, ) (c) SE/FIT/HUT 200x 9 (c) SE/FIT/HUT 200x 10 2.3.1 Các dịch vụ cần cho hoạt động của Jade 2.3 Hoạt động của Jade Platform (tiếp) (tiếp) 2.3.1 Các dịch vụ cần cho hoạt động của Jade platform c. Message Transport System (tiếp) a. White-page service „ Còn được gọI là ACC (Agent communication „ Quản lý việc đăng ký của Agent channel) „ Quản lý AID của các Agent đã đăng ký „ Là một thành phần thực hiện việc truyển và „ Quản lý vòng đờI của Agent nhận các message giữa các Agent, thuộc cùng b. Yellow-page service platform hay các platform ở xa. „ Quản lý việc giao tiếp giữa các Agent „ Điều phốI luồng thông tin trao đổI „ Các message được lưu trữ trong queue cho đến c. Message Transport System khi Agent nhận gọi phương thức receive(); „ Là hệ thống phục vụ việc giao tiếp giữa các Agent (c) SE/FIT/HUT 200x 11 (c) SE/FIT/HUT 200x 12 2
  3. 3. Chuẩn FIPA 3. Chuẩn FIPA (tiếp) „ Foundation for Intelligent Physical Agents „ Chuẩn FIPA vớI công nghệ Agent: „ Quy định cấu trúc và hoạt động của Jade „ Do một tổ chức phát triển lên (1996, Thụy Platform. Sỹ), hiện nay có khoảng 65 công ty thành „ Định nghĩa ngôn ngữ giao tiếp giữa các Agent, viên. ngôn ngữ ACL. „ Việc phát triển ứng dụng dựa trên chuẩn FIPA „ Cung cấp các dịch vụ của platform. giúp ta có thể tái sử dụng các thành phần một cách dễ dàng. (c) SE/FIT/HUT 200x 13 (c) SE/FIT/HUT 200x 14 Định nghĩa Agent Platform (FIPA) 4. Một số lớp quan trọng trong thư viện Jade. Agent Platform „ Package jade.core provides „ Implements the kernel of the system Normative servicesService Optional services „ Includes Agent class must be extend by AP Life cycle Management „ Contains jade.core.behaviour sub-package Agent-Software Integration implement the task of Agent White page service Ontology Service Yellow page service Human Agent Interaction Message Transport service (c) SE/FIT/HUT 200x 15 (c) SE/FIT/HUT 200x 16 4. Một số lớp quan trọng trong thư viện Jade 4. Một số lớp quan trọng trong thư viện Jade. „ Package jade.lang.acl „ Package jade.domain „ Process Agent Communication Language „ Represent Agent management entities defined according to FIPA standard specification by FIPA standard „ Provide some services: life-cycle, yellow page, white page . (c) SE/FIT/HUT 200x 17 (c) SE/FIT/HUT 200x 18 3
  4. 4. Một số lớp quan trọng trong thư viện Jade. 4. Một số lớp quan trọng trong thư viện Jade. „ Package jade.wrapper Others „ Provides wrapper of the JADE higher-level „ Package jade.content functionalities „ Package jade.mtp „ Allow the usage of Jade as a library whether „ Package jade.gui external Java app launch JADE agents and agent „ Package jade.proto containers „ Package jade.tools (c) SE/FIT/HUT 200x 19 (c) SE/FIT/HUT 200x 20 4. Một số lớp quan trọng trong thư viện Jade. 4. Một số lớp quan trọng trong thư viện Jade. 4.1. Lớp jade.core.Agent „ Cung cấp phương thức đăng ký vớI platform. „ Cung cấp các phương thức xác định trạng thái của Agent, quản lý trạng thái. „ Cung cấp các phương thức hoạt động khác của Agent (c) SE/FIT/HUT 200x 21 (c) SE/FIT/HUT 200x 22 4. Một số lớp quan trọng trong thư viện Jade. 4. Một số lớp quan trọng trong thư viện Jade. „ Methods Họat động của Agent „ doStart(): initiate active „ doMove(): active transit Đặt tên AMS active setup „ doClone(): active copy „ doWake(): waiting active doActive(): suspended active, waiting destroy „ (c) SE/FIT/HUT 200x 23 (c) SE/FIT/HUT 200x 24 4
  5. 4. Một số lớp quan trọng trong thư viện Jade. 4. Một số lớp quan trọng trong thư viện Jade. Package jade.core.behaviour Gồm một số lớp chính sau „ Bao gồm các lớp cho phép tạo ra các hoạt động „ Behaviour của Agent từ đơn giản đến phức tạp „ SimpleBehaviour „ Ta có thể tạo ra hành động cho Agent bằng việc kế thừa các lớp này „ OneShotBehaviour • Cài đặt phương thức Action() „ CyclicBehaviour „ Agent.addBehaviour(Behaviour) „ CompositeBehaviour (c) SE/FIT/HUT 200x 25 (c) SE/FIT/HUT 200x 26 4. Một số lớp quan trọng trong thư viện Jade. 4. Một số lớp quan trọng trong thư viện Jade. „ SequentialBehaviour Class ACLMessage „ ParallelBehaviour „ Biểu diễn thông điệp ACL trao đổi giữa các Agent „ FSMBehaviour „ Các thuôc tính trong ACL message obj có thể „ SenderBehaviour truy cập thông qua các pt get/set „ ReceiverBehaviour „ Hỗ trợ khả năng reply „ WakerBehaviour „ . (c) SE/FIT/HUT 200x 27 (c) SE/FIT/HUT 200x 28 4. Một số lớp quan trọng trong thư viện Jade. 4. Một số lớp quan trọng trong thư viện Jade. Cách tạo Agent Cách tạo behaviour public class MyAgent extends Agent public class MyBehaviour extends Behaviour { { // some attributes // some attributes public void setup() public MyBehaviour(Agent agent){super(agent)} { public void action() // registry with AMS // other activities { addBehaviour(myBehaviour) // agent action } } // other methods // other methods } } (c) SE/FIT/HUT 200x 29 (c) SE/FIT/HUT 200x 30 5
  6. 5.JADE Tools 5.JADE Tools (c) SE/FIT/HUT 200x 31 (c) SE/FIT/HUT 200x 32 5.JADE Tools 5.JADE Tools (c) SE/FIT/HUT 200x 33 (c) SE/FIT/HUT 200x 34 6