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.

pdf6 trang | Chuyên mục: Trí Tuệ Nhân Tạo | Chia sẻ: dkS00TYs | Lượt xem: 1802 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Java Agent Development Framework, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfBài giảng Java Agent Development Framework.pdf
Tài liệu liên quan