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