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

7