intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử: Java Agent Development Framework

Chia sẻ: Sao Cũng được | Ngày: | Loại File: PDF | Số trang:6

75
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử: Java Agent Development Framework xem xét các vấn đề chính như: Khái niệm về Jade, Cấu trúc của Jade platform, chuẩn FIPA, một số lớp quan trọng trong thư viện Jade, các hướng phát triển mới được Jade hỗ trợ. Mời tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử: Java Agent Development Framework

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2