0
Tải bản đầy đủ (.pdf) (83 trang)

Ƣu điểm của đàm phán tự động

Một phần của tài liệu PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ HƯỚNG TRÊN NỀN TẢNG PHÁT TRIỂN JADE.PDF (Trang 32 -32 )

Đàm phán thủ công (ngƣời với ngƣời) tiêu tốn nhiều thời gian và đòi hỏi những điều kiê ̣n cu ̣ thể phù hợp cho cả hai bên nên không thể tiến hành thƣờng xuyên. Do đó, những khách hàng khó có thể tìm đƣợc đối tác đem lại lợi ích nhất cho mình. Trong khi đó, đàm phán tự động có thể tiến hành thƣờng xuyên giữa các bên tham gia vì vậy dễ tìm ra đƣợc đối tác có mặt hàng/dịch vụ với chất lƣợng mong muốn.

Đàm phán thủ công dễ làm nản lòng khách hàng. Ngƣợc lại, đàm phán tự động có thể dẫn đến kết quả dễ làm thỏa mãn khách hàng. Khách hàng không phải bận tâm về vấn đề ngôn ngữ, khả năng giao tiếp và thuyết phục của mình. Hơn nữa, nhiều vấn đề cần đàm phán phức tạp (nhƣ nhiều mặt hàng phụ thuộc với nhau từ nhiều khách hàng) khó có thể tiến hành đàm phán thủ công. Trong khi đó, các hệ đàm phán tự động có khả năng hỗ trợ các dịch vụ nhƣ vậy.

Các hệ đàm phán tự động không đòi hỏi bên tham gia cố định về thời gian, không gian. Số các thực thể tham gia trong tiến trình có thể tăng lên và điều này đem lại nhiều khả năng lợi ích cho cả ngƣời cung cấp và tiêu thụ.

2.3. Các thành phần liên quan đến đàm phán

Lĩnh vực đàm phán: các đối tƣợng, các thuộc tính,…

Giao thức đàm phán: các luật/quy định mà các tác tƣ̉ tham gia đàm phán phải tuân theo.

Chiến lược đàm phán: các hành động nào mà các tác tử cần thực hiện trong quá trình đàm phán.

2.3.1. Kiến trúc tác tử và cơ chế tự đàm phán

Trong quá trình nghiên cứu và xây dựng các hệ đa tác tử, trong thực tế đã cho thấy rằng mô hình hệ đa tác tử có các tác tử môi giới là phù hợp nhất với các hệ

thống thực tế. Tác tử môi giới đứng giữa các tác tử có nhu cầu đàm phán để điều phối các hoạt động đàm phán. Tác tử môi giới sẽ làm vai trò cầu nối giữa tác tử mua và bán dịch vụ. Tác tử có nhu cầu bán hoặc trao đổi các tài nguyên trƣớc hết phải đăng ký với tác tử môi giới, tự giới thiệu về mình, khả năng dịch vụ và địa chỉ. Tƣơng tự nhƣ vậy thì tác tử có nhu cầu sử dụng nguồn tài nguyên cũng phải tự giới thiệu với tác tử môi giới. Tác tử môi giới làm nhiệm vụ đối chiếu giữa bên cung và bên cầu, tìm đối tác phù hợp và giới thiệu các tác tử này với nhau. Sau đó các tác tử này sẽ tự đàm phán và tƣơng tác trực tiếp với nhau. Nhiệm vụ của tác tử môi giới là tạo ra một cơ chế liên lạc giữa tác tử cung và tác tử cầu. Kiến trúc mà có mặt của tác tử môi giới cũng sẽ làm giảm thiểu tính phức tạp trong việc xử lý các nghiệp vụ của các tác tử cung và cầu. Tác tử môi giới cũng làm giảm những sự tƣơng tác không cần thiết giữa các tác tử.

Các tác tử khi muốn tham gia vào các hoạt động đàm phán, trao đổi tài nguyên dịch vụ phải đăng ký khả năng phục vụ của mình với tác tử môi giới và trở thành bên cung cấp dịch vụ. Tác tử môi giới sẽ quản lý các dịch vụ sẽ đƣợc cung cấp này trong một cơ sở dữ liệu. Cơ sở dữ liệu này có thể đƣợc tổ chức dƣới nhiều dạng khác nhau nhƣng để đạt hiệu quả một cách cao nhất, cơ sở dữ liệu này cần đƣợc tổ chức dƣới dạng cơ sở tri thức của tác tử môi giới. Khi nhận đƣợc một yêu cầu cung cấp dịch vụ từ tác tử có nhu cầu sử dụng dịch vụ, tác tử môi giới sẽ tìm kiếm trong cơ sở dữ liệu dịch vụ của mình tìm ra nhà cung cấp phù hợp nhất có thể cung cấp dịch vụ đó và sẽ trả lời cho tác tử yêu cầu qua thông điệp. Nội dung thông điệp đó thông thƣờng bao gồm: tên, địa chỉ của nhà cung cấp. Quá trình đàm phán sau đó sẽ do hai tác tử cung cấp và khai thác thực hiện trực tiếp. Vai trò của tác tử môi giới tƣơng tự nhƣ dịch vụ quản lý trang vàng (yellow pages).

2.4. Một số môi trường phát triển các hệ đa tác tử

2.4.1. AgentMom

AgentMom[22] là một bộ khung dựng sẵn dùng để phát triển các hệ thống tính toán phân tán đa tác tử. AgentMom đƣợc viết bằng ngôn ngữ lập trình Java là một ngôn ngữ hỗ trợ tính toán phân tán mạnh. Hệ thống AgentMom cung cấp các khối cơ sở dùng để xây dựng các tác tử, các cơ chế hội thoại giữa các tác tử, và thông điệp đƣợc truyền trong quá trình hội thoại giữa các tác tử.

2.4.2. Bộ công cụ Zeuz

Bộ công cụ Zeus[35] đƣợc xây dựng với mục đích hỗ trợ việc phát triển các hệ đa tác tử một cách dễ dàng và nhanh chóng. Tƣ tƣởng của Zeus là đƣa những yếu tố cơ bản của hệ đa tác tử vào trong bộ công cụ cùng với khả năng tùy biến để tạo ra các hệ đa tác tử.

Kiến trúc của bộ công cụ Zeus bao gồm nhiều thành phần đƣợc xây dựng trên ngôn ngữ lập trình Java. Các thành phần này đƣợc phân thành ba nhóm thƣ viện bao gồm:

1. Các thƣ viện thành phần tác tử là tập hợp các lớp mô tả những thành phần

đặc trƣng, các chức năng cơ bản của tác tử . Những lớp này giải quyết những vấn đề trong xây khi phát triển các hệ đa tác tử nhƣ:thể hiện ngôn ngữ, chuyển đổi thông điệp, soạn thảo và mô tả các ontology, biểu diễn tri thức, lập kế hoạch, ...

2. Các thƣ viện phát sinh tác tử: là tập hợp các máy sinh mã tác tử và các bộ

soạn thảo. Các bộ soạn thảo nhƣ: ontology editor, agent definition editor, task description editor, ... và các máy sinh mã tự động.

3. Các công cụ hỗ trợ: các tiện ích hỗ trợ việc giám sát, điều hành hệ đa tác tử.

2.4.3. JADE

JADE là một phần mềm trung gian đƣợc phòng thí nghiệm TILAB[37] phát triển và phát hành bởi nhằm mục đích xây dựng một khung làm việc cho việc xây dựng các hệ đa tác tử. JADE hỗ trợ phát triển các hệ đa tác tử và các ứng dụng Java thỏa mãn các chuẩn FIPA cho các tác tử thông minh. Nó là một khung làm việc cho việc phát triển các ứng dụng thuần Java. JADE đƣợc xây dựng theo đặc tả chuẩn của FIPA và phân phối dƣới dạng mã nguồn mở theo bản quyền LGPL.

JADE đƣợc viết trên ngôn ngữ Java và đƣợc cấu thành bởi nhiều gói, cung cấp cho lập trình viên các mảnh chức năng, các giao diện trừu tƣợng cho việc tối ƣu hóa các ứng dụng phụ thuộc vào nhiệm vụ của ứng dụng đó.

Các đặc điểm của JADE:

 JADE có cơ chế xƣ̉ lí phân tán . Môi trƣờng hoa ̣t đô ̣ng cho các tác tƣ̉ có thể

qua cơ chế RMI 4 của Java . Các tác tử thực hiện nhiệm vụ nhƣ các luồng

của Java . Các luồng này đƣợc chứa tron các AgentContainer .

AgentContainer là môi trƣờng hoa ̣t đô ̣ng của các tác tử.

 JADE cung cấp các công cu ̣ quản lí các tác tƣ̉ và các AgentContainer tƣ̀ xa .

Các công cụ này có giao diện đồ họa, thuâ ̣n lợi cho ngƣời sƣ̉ du ̣ng.

 JADE có các công cu ̣ gỡ lỗi cho quá trình phát triển các ƣ́ng du ̣ ng đa tác

tƣ̉ cha ̣y trên nền tảng JADE.

 JADE hỗ trơ ̣ viê ̣c thƣ̣c hiê ̣n các nhiê ̣m vu ̣ có tính chất phƣ́c ta ̣p nhƣ : xƣ̉ lí

song song, xƣ̉ lí tƣơng tranh thông qua các mô hình hành vi . JADE cũng có

khả năng lập lịch cho các hoạt động củ a tác tƣ̉.

 JADE hỗ trơ ̣ các chuẩn của FIPA nhƣ: AMS ( Agent Management System –

Hê ̣ thống quản lí tác tƣ̉ ), DF(Directory Faciliator – Công cu ̣ quản lý thƣ mục), ACC (Agent Communication Channel – Kênh giao tiếp giƣ̃a các tác tƣ̉), ... Thêm vào đó, JADE có các quá trình truyền thông điê ̣p ACL trong cùng nền tảng rất hiệu quả . Các thông điệp trao đổi đƣợc mã hóa nhƣ nhƣ̃ng đối tƣợng của Java nhằm tránh nhƣ̃ng sai sót trong quá trình truyền thông.

Chƣơng 3 - PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ

TRÊN NỀN TẢNG JADE

Phƣơng pháp thiết kế hệ đa tác tử đƣợc xây dựng trên cơ sở và mở rộng của phƣơng pháp hƣớng đối tƣợng, phục vụ cho việc thiết kế và xây dựng các hệ thống đa tác tử. Trong luận văn này không có tham vọng trình bày một phƣơng pháp phân tích thiết kế cho các hệ đa tác tử trên tất cả các nền tảng phát triển hệ đa tác tử mà chỉ đề cập đến một cách thức phân tích và thiết kế một hệ đa tác tử hƣớng vào nền

tảng JADE và các môi trƣờng phát triển hệ đa tác tử tƣơng thích đă ̣c tả chuẩn FIPA..

3.1. Tác tử và đối tượng

Mô hình hƣớng đối tƣợng nhìn một ứng dụng dƣới dạng các thực thể đƣợc gọi là các đối tƣợng và chúng giao tiếp với nhau bằng cách gửi và nhận thông điệp. Các đối tƣợng đƣợc nhóm lại thành lớp và các mối quan hệ giữa các lớp đƣợc thể hiện

thông qua sự tƣơng tác và kế thừa. Các đối tƣợng đƣợc kích hoạt bởi việc nhận các

thông điệp và các sự kiện bên ngoài. Mô hình hƣớng tác tử là sự phát triển cao hơn của mô hình hƣớng đối tƣợng. Nó nhìn ứng dụng nhƣ một hệ thống đƣợc xây dựng

nên bởi các tác tử tự trị. Mỗi tác tử liên tục nhận các dữ liệu đầu vào. Nó đáp ƣ́ng

lại môi trƣờng mà nó đang cƣ trú bằng cách thực hiện một số hành động tác động lên môi trƣờng phù hợp với dữ liệu đầu vào. Tác tử là các thực thể linh hoạt, có khả năng tính toán các điều kiện, trạng thái và thực hiện các hành động một cách phù hợp. Tác tử không đòi hỏi các thông điệp chỉ thị, ra lệnh hay hƣớng dẫn chúng thực hiện các hành vi nhƣ thế nào. Dƣới đây là một số ứng dụng nổi tiếng đƣợc phát triển dựa trên phƣơng pháp hƣớng tác tử : Spacecraft Fault Diagnosis[14], Management and Business Process Management[31], Air Traffic Management[7], Air Mission Simulation and Telecommunication Network Management[9].

Đối tƣợng trong lập trình hƣớng đối tƣợng biểu thị các thành phần tính toán giống nhƣ: các chỉ mục kiểm kê, các giao dịch tài chính, tài liệu, và các quy trình

nghiệp vụ. Nó là một phép ánh xạ từ không gian bài toán vào một mô hình tính toán. Chúng đƣợc phân biệt dựa trên trạng thái và các hành vi đã đƣợc khai báo. Chúng giao tiếp bằng các thông điệp ý nghĩa mơ hồ không rõ ràng. Với phƣơng pháp hƣớng tác tử, đối tƣợng đƣợc xem là nguồn gốc nguyên thuỷ của tác tử. Trong một số trƣờng hợp thì tác tử có thể đƣợc hiểu giống nhƣ là các đối tƣợng bởi chúng cũng đặc trƣng bởi trạng thái và các hành vi. Khác với đối tƣợng, tác tử hành động hƣớng mục đích và các nỗ lực thực hiện để thu đƣợc kết quả hƣớng đến những mục đích đó. Nói một cách khác, các phƣơng thức của đối tƣợng chỉ thực hiện các mã lệnh đã đƣợc cài đặt theo các thông điệp khác nhau. Còn một tác tử có thể tổng hợp các kế

hoạch tƣ̀ thông tin môi trƣờng và dƣ̃ liê ̣u sẵn có để xử lý các sự kiện mà ngƣời lập

trình chƣa thể nhìn thấy trƣớc và có thể học đƣợc từ việc đúc kết các kinh nghiệm. Sau khi nghiên cứu phƣơng pháp phân tích thiết kế hƣớng đối tƣợng, ta thấy rằng, phƣơng pháp này không thể áp dụng một cách trực tiếp cho việc phát triển các hệ thống đa tác tử. Đây là cơ sở để đƣa các các khái niệm khác nhau giữa tác tử và đối tƣợng:

 Tác tử có cấu trúc và các hành vi phức tạp hơn đối tƣợng và có thể so sánh

nó với các hệ thống con trong phƣơng pháp luận hƣớng đối tƣợng. Kiến trúc bên trong của chúng khác với đối tƣợng bởi tác tử có kiến trúc chức

năng cơ sở phức tạp hơn. Với quan điểm này thì tác tử có mức độ trừu

tượng cao hơn đối tượng.

 Trong khi với đối tƣợng thiên về các thực thể thụ động, thì tác tử là một

thực thể linh hoạt và chủ động. Một đối tƣợng chỉ ở trạng thái hoạt động thông qua việc nhận một thông điệp chỉ thị. Còn tác tử có thể tự quyết định

thực hiện các hành động theo những mục đích của nó. Chúng có thể đáp la ̣i

các sự kiện hoặc các thông điệp yêu cầu nhận đƣợc từ các tác tử khác. Nói

một cách khác chúng có khả năng tự tương tác với nhau và với môi trường

Các mô hình di động không thể đƣợc xử lý bằng phƣơng pháp hƣớng đối tƣợng .

3.2. Ứng dụng UML trong việc phân tích và thiết kế các hệ thống đa tác tử

đa tác tử

UML là ngôn ngữ cho việc đặc tả, xây dựng, và tài liệu hoá các công cụ của hệ thống phần mềm cũng nhƣ các mô hình nghiệp vụ và các hệ thống khác không phải là phần mềm. UML biểu diễn một tập hợp các thao tác kĩ nghệ mà có thể tăng khả năng thành công trong việc mô hình hoá các hệ thống lớn và phức tạp. UML là một ngôn ngữ chứ không hẳn là các ký pháp và sơ đồ hình vẽ. UML không phải là một quy trình, nó cung cấp một ngôn ngữ mô hình hoá không có vòng đời.

Dập khuôn là một cơ chế trong UML cho phép đƣa ra các kiểu mới của các

thành phần mô hình hoá trên cơ sở các khái niệm, ký pháp đã có . Cú pháp của dập

khuôn là một xâu kí tự đƣợc bao trong thẻ <<>>, khai báo trƣớc tên của mỗi thành phần. Chúng có thể có các ký hiệu đồ hoạ liên quan hoặc các ký pháp đồ hoạ. Thành phần mô hình hoá mới có thể đƣợc biểu diễn thông qua kiểu dập khuôn nhƣng phải là một lớp con của một lớp có sẵn.

Kết hợp UML và kiểu mở rộng dấp khuôn có thể đặc tả các hệ thống đƣợc thiết

kế theo phƣơng pháp hƣớng tác tử . Dƣới đây là bảng một số các thành phần dấp

khuôn bổ xung cho bộ ký pháp UML nhằm phục vụ cho việc phân tích và thiết kế hệ đa tác tử[26].

Tên Ứng dụng

<<Tác tử>> Lớp đối tƣợng <<Tác tử di động >> Tác tử

<<Nơi cƣ trú >> Lớp đối tƣợng <<Hàng xóm>> Gói

<<Mẫu tác tƣ̉te>> Gói <<Hành trình>> Gói

<<Mẫu nơi cƣ trúe>> Gói thƣ viê ̣n <<Vòng đời>> Gói thƣ viện <<Mẫu nhiệm vu ̣>> Gói thƣ viện <<Tác tử giao diện>> Tác tƣ̉ <<Tác tử nhiệm vụ>> Tác tƣ̉ <<Tác tử thông tin>> Tác tƣ̉ <<Đi>> Hành động <<Gặp>> Hành động

3.3. Giai đoạn phân tích

3.3.1. Sơ đồ tiến trình phân tích

3.3.2. Mô tả các bƣớc

a) Bước 1 – Xác định và phân tích các ca sử dụng của hệ thống

Phân tích ca sử dụng là một phƣơng pháp có hiệu quả để nhận biết các yêu cầu thực tế và tiềm năng của một hệ thống mới. Mỗi ca sử dụng sẽ biểu diễn một hoặc

nhiều tình huống,mô tả làm cách nào hệ thống sẽ tƣơng tác với ngƣời dùng cuối và

các hệ thống khác để đạt đƣợc mục đích nào đó. Có một số lƣợng lớn các chuẩn đã

Hình 3.1 Các kiểu dập khuôn bổ sung

Phân tích ca sƣ̉ dụng

Xác đi ̣nh nhiê ̣m vụ của tác tử

Xác đi ̣nh

nơi cƣ trú Xác đi ̣nh tác tử cơ sở

Gán trách nhiê ̣m

Hình 3.2. Sơ đồ tiến trình phân tích Yêu cẩu của ngƣời sƣ̉ du ̣ng Tách/gô ̣p tác tƣ̉ Bảng

nhiê ̣m vu ̣ Danh sách

nơi cƣ trú Danh sách tác tử cơ sở Bảng trách nhiê ̣m của tác tử Danh sách tác tử

đƣợc xây dựng để biểu diễn các ca sử dụng. Phổ biến nhất là đặc tả UML với các ký pháp đồ họa đã đƣợc định nghĩa.

Các ca sử dụng cũng đƣợc sử dụng trong phƣơng pháp hƣớng đối tƣợng nhƣng

Một phần của tài liệu PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ HƯỚNG TRÊN NỀN TẢNG PHÁT TRIỂN JADE.PDF (Trang 32 -32 )

×