1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán" ppsx

12 923 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 361,8 KB

Nội dung

Hệ thống multi agent và ứng dụng trong tính toán phân tán Ngô Đăng quang Bộ môn Kết cấu xây dựng Trần Ngọc Linh Bộ môn tự động hóa thiết kế cầu đường Trường Đại Giao thông Vận tải Tóm

Trang 1

Hệ thống multi agent và ứng dụng trong tính toán phân tán

Ngô Đăng quang

Bộ môn Kết cấu xây dựng

Trần Ngọc Linh

Bộ môn tự động hóa thiết kế cầu đường Trường Đại Giao thông Vận tải

Tóm tắt: Software Agent được coi lμ một công nghệ có hiệu quả trong tính toán phân tán

Từ những năm 1990 đến nay, công nghệ liên tục được phát triển vμ đã bắt đầu được ứng dụng

có hiệu quả trong nhiều lĩnh vực khác nhau Bμi báo tập trung giới thiệu các khái niệm chính về

software agent vμ hệ thống Multiagent cũng như khả năng ứng dụng của chúng trong tính toán

phân tán Các ví dụ được nêu trong bμi báo lμ các ứng dụng đã được một số tác giả nước ngoμi

vμ chính các tác giả thực hiện

Summary: Software Agent is one of the most efficient technologies in distributed

computing Since the 1990s this technology is intensively developed and successfully applied

in many different fields This paper presents some main concepts of software agent and

multi-agent system as well as their features for distributed computing The examples given in the

paper are applications exercised by some foreign researchers and the authors themselves.

I Tổng quan về tính toán phân tán

Tính toán phân tán là phương pháp tính toán phân quyền và song song, sử dụng hai hay

nhiều máy tính được nối mạng với nhau để thực hiện một nhiệm vụ chung [10] Như vậy, khi sử

dụng phương pháp tính toán phân tán, các ứng dụng và logic nghiệp vụ sẽ được phân bố trên

nhiều nền tảng khác nhau Nói cách khác, việc xử lý được phân bố trên một hay nhiều máy mà

ở đó mỗi quá trình chỉ thực hiện một phần của ứng dụng theo một trình tự nhất định Các quá

trình này có thể không được thực hiện đồng thời [9]

CT 2

Có một số lý do làm cho việc tính toán phân tán trong một số dạng ứng dụng là cần thiết

Thứ nhất và điển hình nhất là, việc sử dụng các nguồn lực phân tán sẽ cho phép tăng tốc quá

trình tính toán, xử lý một vấn đề nhờ tính song song Tất nhiên, sự tăng tốc này phụ thuộc vào

mức độ song song của vấn đề cần xử lý Tính song song ở đây được hiểu là khả năng có thể

chia phạm vi vấn đề thành các phần nhỏ có thể xử lý song song và độc lập Mô hình tính toán

phân tán sẽ làm đơn giản hoá việc giải quyết các vấn đề khi tri thức chuyên gia và nguồn lực để

giải quyết chúng có tính phân tán Trong thực tế, có rất nhiều vấn đề lớn chỉ có thể giải quyết

được bằng việc sử dụng kết hợp nhiều nguồn lực khác nhau Các nguồn lực này lại có thể phân

tán cả về mặt địa lý, thành phần, nội dung và phạm vi Với các vấn đề dạng này, mô hình tính

toán tập trung là rất khó thực hiện Nhiều trường hợp, phương pháp tập trung là không thể thực

hiện được do các hệ thống và dữ liệu thuộc về các tổ chức độc lập và chúng được yêu cầu phải

giữ riêng biệt Một ví dụ điển hình ở đây là việc thiết kế hay chế tạo các thiết bị máy móc hoặc

công trình xây dựng Các quá trình này đòi hỏi sự tham gia của rất nhiều chuyên gia hay cơ sở

sản xuất ở các lĩnh vực rất khác nhau và phần nhiều các công việc mà họ thực hiện là có tính

độc lập tương đối và song song với nhau Ngoài ra, việc sử dụng mô hình tính toán phân tán

Trang 2

trong một số ứng dụng sẽ làm giảm thiểu sự chuyển giao dữ liệu không cần thiết giữa các bộ phận xử lý trong một quá trình Các thông tin được sử dụng có thể phân tán về mặt địa lý, có thể

có nhiều thành phần, có thể có nội dung và phạm vi rất lớn ở các ứng dụng này, các dữ liệu thô

sẽ được sàng lọc ở các bộ phận xử lý ngoại vi và chỉ các dữ liệu cần thiết mới được chuyển về

bộ phận xử lý trung tâm [1]

II Giới thiệu một số công nghệ tính toán phân tán

2.1 COM – DCOM

Mô hình đối tượng thành phần phân tán DCOM (Distributed Component Object Model) cho phép gọi các đối tượng ở xa sử dụng RPC (Remote Procedure Call) Các đối tượng DCOM

thông báo các phương thức của chúng đến với các ứng dụng thông qua nhiều giao diện Các

giao diện này được xây dựng bằng ngôn ngữ định nghĩa giao diện (Interface Definition

Language - IDL) Trình biên dịch IDL sẽ tạo ra các thành phần (proxies/stubs) và bộ khung

(skeletons) rồi đăng ký chúng trong registry của hệ thống và đồng thời cũng tạo ra các thư viện

kiểu Các files này mô tả đối tượng ở xa và các đối tượng này có thể được gọi bằng các giao diện được cung cấp bởi cơ chế COM Phương thức được sử dụng ở đây là lời gọi thủ tục từ xa

(Object Remote Procedure Call - ORPC) Chuẩn nhị phân của DCOM cho phép các đối tượng

có thể được viết bằng các ngôn ngữ khác nhau Mặc dù DCOM được Microsoft phát triển nhưng

nó vẫn được sử dụng trong nhiều hệ điều hành khác MS Windows như UNIX, Apple Macintosh

và VSM [6]

2.2 CORBA

CT 2

Rất nhiều tổ chức đã sử dụng kiến trúc môi giới yêu cầu đối tượng phổ thông (Common

Object Request Broker Architecture - CORBA) của OMG, một tiêu chuẩn được sử dụng như là

công cụ để tích hợp các ứng dụng đa dạng, phân tán với dữ liệu Ngôn ngữ định nghĩa giao diện của CORBA cho phép người phát triển xác định các giao diện hướng đối tượng, không phụ thuộc ngôn ngữ lập trình cho các cấu kiện của ứng dụng và hệ thống Các định nghĩa IDL được lưu trữ trong một thư viện giao diện, một dạng như sổ điện thoại cung cấp các giao diện và dịch

vụ Để lập trình phân tán, thư viện đối tượng được dùng làm trung tâm để kết nối các đối tượng

được bố trí ở các hệ thống khác nhau

Môi giới yêu cầu đối tượng (Object Request Broker - ORB) của CORBA thực hiện một kênh

giao tiếp, qua đó, các ứng dụng có thể truy cập các giao diện của đối tượng để yêu cầu dữ liệu

và dịch vụ Môi trường đối tượng phổ biến (Common Object Environment - COE) của CORBA

cung cấp các dịch vụ ở cấp độ hệ thống như quản lý vòng đời của các đối tượng được truy cập thông qua CORBA, thông báo sự kiện giữa các đối tượng và kiểm soát giao tác và kiểm soát trùng hợp [9]

2.3 RMI

RMI (Remote Method Invocation) cho phép xây dựng các ứng dụng tính toán phân tán

bằng Java Theo công nghệ này, phương thức của các đối tượng Java có thể được gọi từ một

ứng dụng nằm ở một máy ảo Java (Java™ virtual machines – JVM™) từ xa Để gọi một đối

Trang 3

tượng từ xa, ứng dụng Java phải có tham chiếu đến đối tượng đó RMI cung cấp một số phương

pháp để một ứng dụng Java có thể nhận được tham chiếu của đối tượng ở xa cần thiết Với RMI,

việc phân biệt trình chủ hay trình khách chỉ là tương đối Chương trình có chứa các đối tượng có

thể được gọi từ xa được gọi là trình chủ Chương trình này, có thể đồng thời lại là trình khách khi

nó gọi đối tượng từ một chương trình khác RMI sử dụng phương pháp tuần tự hoá (serialization)

để sắp xếp dữ liệu mà không phá vỡ cấu trúc kiểu của chúng Giao thức được dùng để trao đổi

dữ liệu là JRMP (Java Remote Method Protocol) RMI không sử dụng các ngôn ngữ trừu tượng

như IDL để mô tả đối tượng ở trình chủ

Nhược điểm chính của RMI là chỉ chạy trên môi trường của Java vì thế yêu cầu ở đây là cả

máy chủ và máy khách đều phải được cài Java Một nhược điểm nữa của RMI là khi kết nối với

mạng diện rộng Internet các ứng dụng của RMI bị chặn lại bởi tường lửa (Firewall) vì RMI không

sử dụng cổng 80 là cổng của dịch vụ HTTP (cổng mà hầu như mọi tường lửa đều cho qua) Vì

thế, để sử dụng RMI trên mạng diện rộng cần phải sử dụng một số cơ chế trung gian phức tạp

để sử dụng cổng 80 [6]

2.4 Webservice

Webservice là các ứng dụng phần mềm hoạt động dựa trên nền các giao thức chuẩn của

Internet và không phụ thuộc vào hệ thống cũng như ngôn ngữ lập trình Về bản chất,

webservice là các thủ tục hay hàm có thể thực hiện một số nhiệm vụ nhất định mà một ứng

dụng có thể gọi trên Internet Webservice có thể chia sẻ dữ liệu giữa các hệ thống và ngôn ngữ

lập trình Các ứng dụng sử dụng các dịch vụ của webservice không cần phải biết chi tiết thực

hiện của các dịch vụ này mà chỉ cần biết địa chỉ của dịch vụ, kiểu của các tham số đầu vào và

Do webservice sử dụng các giao thức chuẩn XML với HTTP, SMTP hay FTP nên nó có thể

khắc phục được các khó khăn có liên quan đến “tường lửa” của các công nghệ phân tán khác

như DCOM hay RMI Một hàm của webservice có thể được gọi một cách dễ dàng từ các ứng

dụng Web hay ứng dụng thông thường nếu các ứng dụng này có thể kết nối bằng các giao thức

Internet tiêu chuẩn

Như các ứng dụng phân tán khác, webservice cũng có thành phần “service broker” để tìm

kiếm dịch vụ, “service provider” cung cấp dịch vụ và “service requester” là ứng dụng yêu cầu

dịch vụ Ngôn ngữ được sử dụng để mô tả webservice là WSDL (Web Service Description

Language), một ngôn ngữ dựa trên XML WSDL cung cấp các thông tin về dịch vụ, địa chỉ cũng

như cách cung cấp dịch vụ của webservice Các dịch vụ webservice được đăng ký và quản lý

nhờ các chuẩn được định nghĩa bởi UDDI (Universal Description, Discovery, and Integration)

Webservice sử dụng SOAP (Simple Object Access Protocol) làm giao thức chuẩn để chuyển

giao dữ liệu giữa các thành phần của ứng dụng Đây là giao thức dựa trên XML và hoạt động

không phụ thuộc vào môi trường

Hiện nay, các tiêu chuẩn được sử dụng trong webservice vẫn đang ở trong giai đoạn phát

triển và chưa thật đầy đủ Khi so sánh với các công nghệ khác như CORBA, DCOM, tính hiệu

quả của công nghệ này không thật cao do các thông điệp được mô tả ở dạng văn bản và cần

phải chuyển đổi ở hai đầu [6]

Trang 4

III Hệ thống multi - Agent

Các công nghệ tính toán phân tán kể trên có dạng phân tán đối tượng kiểu khách - chủ

(client - server) với địa chỉ của các đối tượng cung cấp dịch vụ là cố định Bên cạnh các lợi thế

về tốc độ tính toán, tính đa dạng trong hoạt động, v.v… các công nghệ dạng này cũng có những hạn chế quan trọng như đòi hỏi tính đồng bộ cao, tốc độ đường truyền cao và độ trễ thấp Một

số công nghệ đòi hỏi dữ liệu phải được truyền qua một số cổng nhất định và do đó, không thích hợp với mạng diện rộng hay Internet Ngoài ra, các công nghệ nêu trên ít thích hợp với các hệ thống tính toán trên các thiết bị di động do các thiết bị này có khả năng tính toán thấp và đường truyền dữ liệu hạn chế Software Agent là một công nghệ tính toán phân tán mới, có thể khắc phục được các nhược điểm kể trên

3.1 Khái niệm về Software Agent

Tính toán phân tán dựa trên công nghệ Software Agent, sau đây gọi là Agent, là một phương pháp mới, được đánh giá là có hiệu quả Agent được phát triển dựa trên ý tưởng về trí

tuệ nhân tạo phân tán (Distributed Artificial Intelligence - DAI) và nhất là mô hình của Hewitt từ

những năm 1970 Trong mô hình của mình, Hewitt đã đề xuất một khái niệm về một đối tượng

có tính tự chủ, tương tác và hoạt động cạnh tranh (concurrently-executing) tức là một tác tử

(actor) Tuy nhiên, công nghệ này chỉ được phát triển mạnh mẽ sau khi Internet được sử dụng

rộng rãi [7], [8]

Cho đến nay vẫn chưa có một định nghĩa thống nhất về Agent Tuy nhiên, có thể mô tả Agent như là một đối tượng phần mềm hoạt động một cách tương đối độc lập, tự chủ và có khả năng cộng tác với nhau trong một môi trường để hoàn thành một nhiệm vụ định trước [8] Đặc

điểm cơ bản của Agent là có khả năng đóng gói mã lệnh, dữ liệu và cả trạng thái thi hành, nhờ vậy có thể chuyển công việc đang thực hiện tại một máy đến một máy khác Như vậy, so với các công nghệ tính toán phân tán trước đây, Agent tỏ ra là công nghệ tiên tiến nhất

CT 2

Một số đặc trưng quan trọng của Agent là

Tính tự chủ Tính tự chủ thể hiện khả năng tự kiểm soát bản thân của Agent Mỗi Agent

được trang bị một cơ sở kiến thức và một cơ cấu đưa ra các quyết định từ cơ sở kiến thức của nó

và các dữ kiện mà nó thu được từ bên ngoài Sau khi được giao nhiệm vụ, Agent tự hoạt động

mà không cần phải được điều khiển từ bên ngoài

Tính di động Khi di chuyển trong mạng, các Agent đóng gói mã lệnh, dữ liệu và trạng thái

thực hiện do đó, chúng có thể thực hiện một nhiệm vụ được giao trên nhiều trạm máy tính khác nhau

Tính thích ứng Một Agent có khả năng nhận thức được về môi trường của mình và có

những đáp thích hợp với sự thay đổi môi trường để thoả mãn các mục tiêu được giao

Tính chủ động Các Agent có khả năng thể hiện các ứng xử hướng mục tiêu bằng việc

hoàn thành các kế hoạch để thoả mãn các mục tiêu thiết kế

Tính xã hội Các Agent có khả năng tương tác với nhau và cả với con người để thoả mãn

các mục tiêu thiết kế

Trang 5

3.2 Khái niệm về hệ thống multi - Agent

Các Agent hoạt động và tồn tại trong một số môi trường, bao gồm cả môi trường tính toán

và môi trường vật lý Mặc dù có những trường hợp một Agent có thể hoạt động có hiệu quả một

mình nhưng, trong hệ thống các mạng máy tính, các tính huống như vậy rất hiếm gặp Thường

gặp là trường hợp các Agent tương tác với nhau Hệ thống hay môi trường mà, các Agent tương

tác được với nhau gọi là hệ thống multi-Agent Đây là một môi trường mạng gắn kết một cách tự

do các Agent để giải quyết một vấn đề mà từng Agent riêng biệt không giải quyết được Việc sử

dụng hệ thống multi-Agent cho phép một vấn đề có thể được giải quyết một cách phân tán trên

nhiều hệ thống phần mềm và phần cứng khác nhau Hiện nay, hệ thống multi-Agent được coi là

cách tốt nhất để mô tả và thiết kế các hệ thống tính toán phân tán

Trong một hệ thống multi - Agent, các software Agent phải có hai khả năng cơ bản là tìm

kiếm “đối tác”, tức là các Agent khác, và hợp tác với chúng để thực hiện công việc [8]

Việc hỗ trợ các Agent trong việc tìm kiếm đối tác được thực hiện bởi các Agent trung gian

(middle Agent) Các Agent thông thường sử dụng Agent trung gian để khai báo khả năng của

mình hay tìm các Agent khác cung cấp dịch vụ mà chúng cần Một lợi thế của Agent trung gian

là chúng cho phép các hệ thống multi-Agent có thể hoạt động một cách ổn định khi đối mặt với

những vấn đề như sự xuất hiện, biến mất hay chuyển động của các Agent Dạng Agent trung

gian phổ biến có dạng “trang vàng” (yellow page) Dạng Agent này hỗ trợ các Agent thông

thường trong việc tìm kiếm dịch vụ của các Agent khác dựa trên những khả năng đã được đăng

nhập

Tương tác là một trong những đặc trưng quan trọng nhất của một Agent Các Agent thường

xuyên tương tác với nhau để chia sẻ thông tin và thực hiện nhiệm vụ chung Để tương tác, các

Agent phải sử dụng chung các ngôn ngữ và giao thức trao đổi, các cấu trúc chung về nội dung

thông tin và cùng chia sẻ ngữ nghĩa

CT 2

Ngôn ngữ trao đổi giữa các Agent ACL (Agent Communication Language) chủ yếu là ngôn

ngữ khai báo được phát triển dựa trên lý thuyết hành vi ngôn ngữ (illocutionary acts) như yêu

cầu, mệnh lệnh Ngôn ngữ khai báo được sử dụng phổ biến nhất hiện nay là KQML [8] Cấu trúc

ngữ nghĩa của thông điệp giữa các Agent được định nghĩa bởi bản thể (ontology) Ontology là

các cấu trúc để mô tả khái niệm và quan hệ giữa chúng trong phạm vi vấn đề Ontology mà các

Agent sử dụng để mô tả phạm vi vấn đề phải có cấu trúc giống nhau Một khi các Agent trao đổi

các ontology chung, chúng sẽ sử dụng các ontology này để hiểu nhau và thực hiện các hành vi

xác định

3.3 Lĩnh vực áp dụng

Các hệ thống multi - Agent thích hợp cho các ứng dụng có những đặc trưng sau:

Có tính phân tán cố hữu: dữ liệu và thông tin của chúng được xử lý ở các vị trí địa lý khác

nhau, ở các thời gian khác nhau, được tổ chức thành các nhóm mà việc truy cập chúng cần các

ngữ nghĩa và ngôn ngữ khác nhau (sự phân tán về ngữ nghĩa) hay được tổ chức thành các nhóm

mà việc truy cập chúng cần các khả năng về nhận biết, tri thức khác nhau (sự phân tán về chức

năng)

Trang 6

Có tính phức hợp cố hữu: chúng là những vấn đề quá lớn không thể xử lý được bằng một hệ

thống riêng, tập trung do các giới hạn về công nghệ phần cứng và phần mềm Việc mở rộng các

hệ thống tập trung là rất khó khăn, tốn thời gian, tiền của Hơn nữa việc mở rộng này rất không bền vững và sẽ không còn tác dụng khi phạm vi vấn đề lại tiếp tục được mở rộng

3.4 Các lợi thế của các hệ thống multi - Agent

Với tư cách là một hệ thống tính toán phân tán, các hệ thống multi-Agent có các đặc trưng chính sau:

Có tốc độ vμ hiệu quả xử lý cao: Các Agent có thể hoạt động theo kiểu không đồng bộ và

song song có thể làm tăng tốc toàn bộ quá trình xử lý

Chắc chắn vμ tin cậy: Sự hư hỏng của một vài Agent sẽ không nhất thiết làm cho toàn bộ

hệ thống không còn hoạt động nữa vì các Agent còn lại có thể tiếp quản các phần việc của

chúng

Có tính điều chỉnh được vμ tính mềm dẻo cao: Hệ thống có thể bổ sung thêm các Agent khi

phạm vi vấn đề được mở rộng và không ảnh hưởng đến sự hoạt động của các Agent khác

Có chi phí hợp lý: Hệ thống multi - Agent có chi phí hợp lý hơn so với các hệ thống tập

trung do hệ thống multi - Agent có thể được ghép từ các hệ thống con đơn giản có giá thành

thấp

Có khả năng dùng lại: Một số Agents cụ thể có thể được phát triển từ đầu một cách riêng

biệt bởi một số chuyên gia trong khi phần còn lại của hệ thống vẫn được tiếp tục sử dụng

CT 2

IV Xây dựng hệ thống multi - Agent

Với các ứng dụng thông thường, các hệ thống multi Agent thường được phát triển dựa trên

các hệ thống khung (framework) Hiện nay, có nhiều hệ thống khung đã được giới thiệu Điển

hình trong số này là JACK của Agent Oriented Software Pty Ltd., JADE (Java Agent

DEvelopment Framework) Telecom Italia, Aglets được phát triển bởi IBM Nhật bản, MAST

(MultiAgent Systems Tool) của Trường Đại học tổng hợp kỹ thuật Madrid Phần sau đây giới

thiệu cách xây dựng hệ thống multi-Agent với JADE do đây là hệ thống tương đối mạnh và được

sử dụng khá phổ biến

4.1 Giới thiệu về JADE

JADE (Java Agent Development Framework) là một môi trường hỗ trợ phát triển hệ thống

multi-Agent dựa trên nền tảng Java JADE bao gồm các thành phần chính sau:

Môi trường thực thi, là môi trường mà trong đó các Agent “sống” và hoạt động Môi trường này cần được kích hoạt ở từng máy tính trước khi các Agent có thể bắt đầu hoạt động

Một số thư viện Java chứa các lớp mà người lập trình cần sử dụng để phát triển các Agent Một loạt các công cụ đồ hoạ để quản lý và kiểm soát hoạt động của các Agent

Mỗi một môi trường thực thi của JADE được gọi là một container Mỗi container chứa một

Trang 7

hay một số các Agent Một tập hợp các container được gọi là một platform Mỗi platform phải có

một container chính (main container) và các container khác, khi khởi động, đều phải đăng ký với

container chính các thông tin về tên máy (host) và cổng (port) của chúng

Mỗi container chính chứa hai Agent đặc biệt AMS (Agent Management System) và DF

(Directory Facilitator) AMS có nhiệm vụ quản lý các Agent có trong các container của cả

platform thông qua dịch vụ đặt tên để đảm bảo rằng, các Agent chỉ có một tên duy nhất trong

toàn bộ platform Các Agent trong các platform cũng được quản lý (xoá, tạo mới) nhờ AMS DF

có nhiệm vụ cung cấp các “trang vàng” để qua đó, một Agent có thể tìm thấy các Agent khác

cung cấp các dịch vụ mà Agent đó cần để thực hiện công việc của mình Một khi các Agent đã

biết tên của nhau, chúng có thể liên lạc được với nhau không phụ thuộc vào vị trí vật lý của

chúng Trên hình 1, Agent A2 có thể liên lạc được với Agent A3 ở cùng container, với Agent A1

hoặc A4 ở khác container hay với A5 ở khác platform

Như trên đã nêu, JADE là môi trường thực thi và phát triển ứng dụng Agent trên nền Java

nên ngôn ngữ lập trình cho các hệ thống chính là Java và một Agent trong JADE thực chất là

một đối tượng Java

CT 2

Hình 1 Cấu trúc của hệ thống multiAgent được xây dựng với JADE

4.2 Xây dựng hệ thống multi-Agent với JADE

Các nội dung chính trong quá trình xây dựng hệ thống bao gồm [2], [3]:

Xây dựng kiểu Agent: Mỗi kiểu Agent trong JADE được tạo ra từ việc mở rộng lớp

Trang 8

jade.core.Agent và cài đặt hàm setup.

Xác định nhiệm vụ cho Agent: Các nhiệm vụ mà một Agent cần hoàn thành là một đối

tượng thuộc một kiểu là lớp con của lớp jade.core.behaviours.Behaviour Đối tượng nhiệm vụ, sau khi được tạo ra, sẽ được gán cho từng Agent Mỗi lớp nhiệm vụ (lớp con của lớp Behaviour)

sẽ mô tả các ứng xử của Agent cũng như điều kiện kết thúc công việc

Thực hiện quá trình trao đổi giữa các Agent: Thông tin giữa các Agent được thực hiện theo kiểu gửi thông điệp không đồng bộ Định dạng của thông điệp trong JADE là ACL, đã được FIPA chuẩn hoá Mỗi thông điệp là một đối tượng thuộc lớp jade.lang.acl.ACLMessage Lớp ACLMessage xác định các thông tin về người gửi, người nhận, ngôn ngữ, bản thể (ontology), nội dung, v.v của thông điệp Thông điệp được gửi và nhận bằng các hàm đã được định nghĩa sẵn trong lớp Agent

Đăng nhập vμ tìm kiếm dịch vụ: Như đã nêu ở trên, các Agent đăng ký dịch vụ của mình

cũng như tìm kiếm dịch vụ của các Agent khác thông qua Agent DF Thông điệp giữa Agent DF

và các Agent khác chính là ACL Tuy nhiên, ngôn ngữ và bản thể của thông điệp với DF đã

được FIPA chuẩn hoá do đó, các Agent có thể làm việc được với các DF ở các platform khác nhau

Xử lý nội dung thông điệp:các thông điệp có thể được trao đổi và xử lý theo 3 cách Cách thứ nhất là sử dụng một đối tượng thuộc kiểu ContentManager để chuyển đổi một đối tượng Java thành chuỗi ký tự hoặc chuỗi byte và đặt chuỗi này vào mục nội dung của thông điệp ACL

Đối tượng này cũng có nhiệm vụ thực hiện quá trình ngược lại, chuyển chuỗi thành đối tượng Cách tiếp theo là sử dụng phương pháp tuần tự của chính Java để trao đổi dữ liệu Phương pháp khác là sử dụng đối tượng thuộc kiểu bản thể để mô tả cấu trúc ngữ nghĩa của nội dung các thông điệp

CT 2

V Ví dụ ứng dụng

Phần sau đây giới thiệu một số ứng dụng điển hình về tính toán phân tán trong ngành xây dựng đã được thực hiện các hệ thống multi-Agent Tất cả các hệ thống này đã được phát triển bằng JADE

5.1 Hệ thống multi - Agent hỗ trợ thiết kế hợp tác

Các dự án thiết kế trong xây dựng luôn có sự tham gia của nhiều đối tác hoặc văn phòng thiết kế Trong hầu hết các trường hợp, các văn phòng thiết kế này nằm ở các vị trí địa lý khác nhau và sử dụng nhiều hệ thống phần mềm khác nhau Cho đến nay, thông tin trao đổi hầu hết

đều ở dạng các tập tin dữ liệu tĩnh và đòi hỏi phải được xử lý bằng tay thường mất nhiều thời gian và công sức Việc sử dụng các hệ thống multi-Agent cho phép dữ liệu được xử lý một cách

tự động thông qua các Agent với các nhiệm vụ đã được định nghĩa sẵn

Quá trình hợp tác thực hiện một dự án của các văn phòng thiết kế có thể được chia thành 3

bộ phận chính là cá nhân hoặc đơn vị thiết kế, dữ liệu thiết kế cần trao đổi, xử lý và hệ thống

phần mềm được sử dụng trong thiết kế hợp tác Tương ứng với 3 bộ phận trên, sẽ có 3 nhóm

Agent được phát triển: nhóm Agent làm việc trực tiếp với các tác nhân, nhóm Agent có nhiệm vụ

Trang 9

xử lý và trao đổi dữ liệu và nhóm Agent kết nối với các phần mềm (hình 2) Thông qua hệ thống

các Agent kể trên, các dữ liệu và phần mềm khác nhau có thể làm việc chung được với nhau [3]

Hình 2 Hệ thống multi-Agent trong hệ thống hỗ trợ thiết kế hợp tác

5.2 Hệ thống multi-Agent hỗ trợ phân tích mỏi trong kết cấu thép

Rất nhiều bài toán xây dựng đòi hỏi khối lượng và thời gian tính toán lớn có thể được chia

thành nhiều bài toán nhỏ, độc lập và được phân tích song song với nhau Khác với mô hình tính

toán song song được thực hiện trên các máy tính song song đắt tiền, việc áp dụng các hệ thống

multi-Agent cho phép thực hiện các tính toán song song trên mạng máy tính đơn giản như mạng

PC

CT 2

Một ví dụ chứng minh tính hiệu quả của phương pháp này đã được thể hiện ở tính toán mỏi

do gió của cáp treo cầu vòm (Hình) được Jelic, Bilek, Gálffy, Hartmann thực hiện [4]

Hình 3 Mô hình kết cấu cần khảo sát

Trang 10

Quá trình tính toán mỏi do gió bao gồm các bước chính sau:

Tạo tập hợp các tốc độ gió theo dạng xác suất, Tính toán dao động của cáp treo,

Tính toán kết cấu dưới tác dụng của tải trọng động, Tính toán phá hoại mỏi

ứng với mỗi cấp tốc độ gió cần xây dựng một mô hình và thực hiện tính toán Với ví dụ đã nêu, các tác giả cần thực hiện tính toán với 1226 mô hình Việc tính toán song song đã được thực hiện với một hệ thống multi Agent được phát triển với JADE Hệ thống multi Agent được cấu tạo từ một main-Agent và một loạt slave-Agent Main-Agent cung cấp giao diện đồ hoạ và quản

lý các mô hình tính toán Trong khi đó, các slave-Agent di chuyển trên mạng máy tính để thực hiện quá trình tính toán Kết quả tính toán song song trên các mạng PC được thể hiện trên hình 4

CT 2

Hình 4 Thời gian tính toán mỏi kết cấu trên mạng PC

5.3 Hệ thống multi - Agent hỗ trợ phân tích cục bộ kết cấu cầu

Một hệ thống tương tự trên đã được xây dựng ở Trường Đại học Giao thông Vận tải (Hà Nội) để tính toán phân tán các bộ phận chi tiết của kết cấu

Trong yêu cầu tính toán cầu vượt Ngã Tư Sở (Hà Nội), có 6 khu vực cần được thực hiện phân tích cục bộ là các khu vực neo cáp ở dầm chính, khu vực neo cáp ở đỉnh tháp cũng như khu vực chung giữa chân tháp và dầm chính (hình 6) Bê tông ở tất cả các khu vực đều được mô hình hoá bằng các phần tử khối sáu mặt Cáp dự ứng lực được mô hình hoá thành các phần tử thanh và liên kết với các phần tử bê tông xung quanh bằng các liên kết cứng Trung bình, mỗi mô hình ứng với một khu vực tính toán có chứa hơn 80.000 phần tử và hơn 100.000 nút (hình 7) Thời gian tính toán một mô hình trên một máy PC mất trung bình hơn 120 phút

Ngày đăng: 06/08/2014, 13:20

HÌNH ẢNH LIÊN QUAN

Hình 1. Cấu trúc của hệ thống multiAgent đ−ợc xây dựng với JADE - Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán" ppsx
Hình 1. Cấu trúc của hệ thống multiAgent đ−ợc xây dựng với JADE (Trang 7)
Hình 3. Mô hình kết cấu cần khảo sát - Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán" ppsx
Hình 3. Mô hình kết cấu cần khảo sát (Trang 9)
Hình 2. Hệ thống multi-Agent trong hệ thống hỗ trợ thiết kế hợp tác - Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán" ppsx
Hình 2. Hệ thống multi-Agent trong hệ thống hỗ trợ thiết kế hợp tác (Trang 9)
Hình 4. Thời gian tính toán mỏi kết cấu trên mạng PC - Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán" ppsx
Hình 4. Thời gian tính toán mỏi kết cấu trên mạng PC (Trang 10)
Hình 6. Mô hình cầu Ngã T− Sở vμ các khu vực cần phân tích chi tiết - Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán" ppsx
Hình 6. Mô hình cầu Ngã T− Sở vμ các khu vực cần phân tích chi tiết (Trang 11)
Hình 7. Mô hình phân tích chi tiết ở một khu vực kết cấu - Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán" ppsx
Hình 7. Mô hình phân tích chi tiết ở một khu vực kết cấu (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w