Bài giảng Tác tử - Bài 10: Java Agent Development Framework
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:
 bai_giang_tac_tu_bai_10_java_agent_development_framework.pdf bai_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
- 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.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. 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. 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
- 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
- 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






