You are on page 1of 7

Đại học Quốc gia Thành phố Hồ Chí Minh

Trường Đại học Công Nghệ Thông Tin



Tìm hiểu về JADE


(Java Agent Development Framework)

Học kỳ: VI

Lớp: CNTN02

Môn học: Trí tuệ nhân tạo nâng cao

Giảng viên hướng dẫn: ThS. Nguyễn Trần Minh Khuê

Thực hiện:

Nguyễn Hữu Việt Long 07520205

Hoàng Linh 07520…

1
1. CÔNG NGHỆ AGENT
1.1. Định nghĩa:
1.1.1.Agent:

Theo Wooldridge và Jennings (hai giáo sư nổi tiếng ngành Khoa học máy tính của hai trường đại
học lớn ở Anh là University of Liverpool và School of Electronics and Computer Science at

Southampton University): Agent (tác tử) là một hệ thống tính toán (máy tính) có khả năng tự
chủ hành động với tư cách đại diện cho một ai đó (tìm ra các cách thức để hoàn thành mục tiêu
đã thiết kế hơn là chỉ nhất nhất làm theo những gì được chỉ bảo)

Giáo sư Michael Wooldridge

1.1.2.Multi-agent:

2
Multi-agent là một hệ thống gồm nhiều agents có thể tương tác với nhau bằng cách trao đổi các
thông điệp thông qua hạ tầng mạng máy tính. Để tương tác thành công, các agents phải được
cung cấp khả năng cộng tác (cooperate), phối hợp (coordinate) và dàn xếp (negotiate) với nhau.

1.2. Tính chất:


– Tính phản xạ
– Tính tự chủ động
– Tính cộng đồng
– Khả năng tự học
– Tính thích nghi
– Khả năng di chuyển
1.1. The Foundation for Intelligent, Physical Agents (FIPA)

FIPA là một tổ chức phi lợi nhuận, thành lập năm 1996. Đây là thành viên của IEEE Computer
Society, nó cung cấp, cải tiến các công nghệ trên cơ sở Agent, Multi-agent và tích hợp nó với các
công nghệ khác.

Ngày nay FIPA đã có 65 công ty thành viên trên toàn thế giới

Website chính thức của FIPA: http://www.fipa.org/

2. JADE PLATFORM
2.1. Lịch sử JADE

JADE được phát triển lần đầu bởi Telecom Italia vào khoảng cuối năm 1998 và được thúc đẩy
phát triển bởi mong muốn công bố những kỹ thuật, tiêu chuẩn đầu tiên, sơ khởi của FIPA

JADE tiến tới trở thành mã nguồn mở vào năm 2000 với giấy phép LGPL (Library Gnu Public
Licence).

2.2. Tổng quan về JADE

JADE (Java Agent Development Framework) là một nền tảng phần mềm giúp cho việc phát
triển các ứng dụng agent dễ dàng hơn, nó cung cấp cơ bản lớp trung (middleware-layer) các chức
năng mà không phụ thuộc vào ứng dụng cụ thể và giúp đơn giản hóa việc thực hiện phát triển các
ứng dụng khai thác các phần mềm Agent (Theo Wooldridge và Jennings)

JADE hoàn toàn hướng đối tượng, sử dụng ngôn ngữ Java và được phát triển trên nền tảng mã
nguồn mở.

Phiên bản mới nhất của JADE là JADE 4.0 công bố ngày 20-04-2010

2.3. Kiến trúc của JADE:

3
JADE platform là kết hợp của các Agent Containers – có thể phát triển thông qua mạng Internet.
Các Agents cư ngụ trong các Containers là các tiến trình Java cung cấp JADE run-time và tất cả
dịch vụ cần thiết cho việc hosting và thực hiện các Agents. Có một container đặc biệt, gọi là
main container, biểu diễn bootstrap point của một platform: nó là container đầu tiên được nối tới
và tất cả containers khác phải tham gia vào một main container bằng cách đăng ký với nó.

Main container một số chức năng đặc biệt sau:

– Quản lý container table (CT), dùng để chứa các thông in đăng ký của các đối tượng tham
chiếu và địa chỉ luân chuyển của tất cả các container nodes kết hợp trên một platform
– Quản lý Global Agent Descriptor Table (GADT), chứa các thông tin đăng ký của tất cả
Agents trên platform, bao gồm trạng thái hiện tại và vị trí của chúng
– Hosting AMS và DF, hai Agents đặc biệt cung cấp bộ quản lý Agent, white page service
và yellow page service mặc định của platform.

JADE platform tuân theo các tiêu chuẩn của FIPA cho các hệ thống đa tác tử thông minh. Mục
đích của JADE là đơn giản hóa việc phát triển mà vẫn đảm bảo tuân thủ các tiêu chuẩn thông qua
1 tập hỗn hợp các dịch vụ hệ thống và các tác tử. Để đạt được mục đích này, JADE đưa ra 1 danh
sách các tính năng cho người lập trình agent:

– Tiêu chuẩn FIPA về nền tảng Agent (FIPA-compliant Agent Platform), bao gồm hệ thống
quản lý Agent AMS (Agent Management System), DF (Directory Facilitator) và kênh
thông tin agent ACC (Agent Comunication Channel). Cả 3 agent đó đều được kích hoạt
tự động ngay khi khởi động nền tảng agent này.
– Nền tảng agent phân tán. Nền tảng agent này có thể được phân chia trên 1 vài máy chủ
(với điều kiện không có tường lửa giữa chúng). Chỉ có 1 ứng dụng được thực thi trên mỗi
máy chủ vì chỉ có 1 máy ảo Java. Các agent được thực thi như 1 luồng Java và các sự
kiện Java được dùng để nâng cao hiệu suất và giảm nhẹ gánh nặng liên lạc giữa các agent

4
trên cùng 1 host. Các tác vụ song song có thể được thực thi bởi 1 agent, và JADE lập lịch
cho các tác vụ này 1 cách hiệu quả hơn máy ảo Java thực hiện cho 1 luồng (thậm chí có
thể đơn giản hơn đối với người lập trình tốt).
– Một số DFs (Directory Facilitator) chuẩn FIPA có thể được khởi động khi đang chạy
chương trình để thực thi các ứng dụng đa miền, nơi mà khái niệm miền (domain) là 1
khái niệm logic như được mô tả trong phần 1 FIPA97.
– Lập trình giao diện để đơn giản hóa việc đăng ký của 1 dịch vụ agent với 1 hay nhiều
miền (domain).

– Cơ chế truyền tải và giao diện cho việc gửi / nhận thông điệp đi / đến các agent khác
– Dùng giao thức IIOP chuẩn FIPA97 để kết nối các nền tảng agent khác nhau
– Sự truyền tải nhẹ nhàng của các thông điệp ACL bên trong cùng nền tảng agent thì tốt
hơn các chuỗi, hơn nữa có thể tránh các thủ tục ghép nối, vì các thông điệp này được mã
hóa như các đối tượng Java.
– Thư viện của các giao thức tương hỗ FIPA luôn sẵn sàng để sử dụng.
– Giao diện đồ họa người dùng để quản lý các agent trong cùng 1 agent. Hoạt động của mỗi
nền tảng (platform) có thể được theo dõi và ghi lại. Toàn bộ vòng đời hoạt động của các
agent (tạo mới, treo hay kết thúc 1 agent đang tồn tại,...) có thể được thực hiện thông qua
giao diện quản lý này.

5
Mô hình UML trình bày khái quát mối quan hệ giữa các phần tử kiến trúc chính của JADE

1.1. Message transport service

Message transport service (MTS) là một trong ba dịch vụ quan trọng mà một agent platform yêu
cầu (hai dịch vụ còn lại là AMS và DF). MTS quản lý tất cả các giao tiếp thông điệp bên trong
và giữa các platforms

1.1.1.Message Transport Protocols

Để phát triển ứng dụng giao tiếp với các platforms khác (không phải là JADE), JADE thực thi tất
cả Message Transport Protocols (MTPs) được định nghĩa bởi FIPA. Mỗi MTP định nghĩa một
phương thức vận chuyển và một chuẩn mã hóa thông điệp

Mỗi thông điệp cung cấp một chuẩn xuất ra khi kết nối tới một main container và thông báo
tương tự như thế này:

INFO: MTP addresses:

http://anduril:7778/acc

1.1.2.Internal Message Transport Protocol

6
JADE IMTP (Internal Message Transport Protocol) chỉ được dùng khi trao đổi thông điệp giữa
các Agents cư ngụ trong các containers khác nhau của cùng một platform. Do chỉ được dùng để
giao tiếp bên trong các platform, nên nó không cần phù hợp với một chuẩn FIPA nào. Nó hoàn
toàn có quyền tự chủ nên thường được thiết kế để gia tăng hiệu suất platform. JADE IMTP thực
ra không chỉ được dùng để vận chuyển các thông điệp mà còn vận chuyển các câu lệnh bên trong
cần thiết để quản lý platform phân tán.

JADE được thiết kế để cho phép chọn lựa IMPT tại thời điểm kết nối với platform. Có hai IMPT
chính: IMPT dựa trên java RMI là lựa chọn mặc định của hệ thống; IMPT dựa trên một phương
thức sử dụng TCP sockets, điều này hạn chế sữ biến mất của Java RMI trong môi trường J2ME.
Cả hai IMPT này đều cung cấp vài lựa chọn về cấu hình cho phép điều chỉnh tốt IMPT trong
mạng chỉ định và các đặc trưng của thiết bị

2. KIẾN TRÚC NỘI TẠI CỦA JADE


3. TÀI LIỆU THAM KHẢO:

Fabio Bellifemine, Giovanni Caire, Dominic Greenwood – Developing Multi-Agent Systems


with JADE – John Wiley & Sons Ltd, 2007

Michael Wooldridge – An Introduction to Multiagent Systems – John Wiley & Sons Ltd, 2002

You might also like