5.2.1 Phừn tớch
Nhƣ đú trỡnh bày trong chƣơng 2, pha phõn tớch bao gồm bốn bƣớc: xỏc định cỏc mục tiờu, xỏc định ussecase, xõy dựng ontology và hoàn thiện cỏc role [14].
5.2.1.1 Xỏc định mục tiờu
Pha nắm bắt mục tiờu gồm hai giai đoạn: xỏc định tập hợp mục tiờu và xừy dựng cấu trỳc cỏc mục tiờu.
Xỏc định tập hợp mục tiờu
Đối với hệ thống này, nhiệm vụ chủ yếu của nú là tỡm ra đƣợc một sản phẩm thoả mún yờu cầu ngƣời dựng, do đú, mục tiờu chủ yếu của hệ thống chỉ là thương lượng. Bƣớc tiếp theo là xỏc định cỏc mục tiờu con của mục tiờu này. Để cú thể tiến hành đƣợc thƣơng lƣợng, trƣớc hết, agent mua cần phải tỡm kiếm đối tỏc. Sau khi đú hoàn thành nhiệm vụ này, thỡ agent mua mới cỳ thể thƣơng lƣợng đƣợc, và kết quả của quỏ trỡnh này sẽ là một bản bỏo cỏo kết quả. Từ đú ta cú thể thấy hai mục tiờu con của mục tiờu “thương lượng” sẽ là “tỡm kiếm đối tỏc” và “bỏo cỏo”.
Tổ chức cừy phừn cấp cỏc mục tiờu
Áp dụng sơ đồ cấu trỳc cỏc mục tiờu đú đƣợc trỡnh bày trong chƣơng 2, ta thấy hệ thống sẽ cỳ một mục tiờu chung là thương lượng. Mục tiờu này đƣợc xỏc định ở mức cao nhất vỡ nỳ phục vụ cho mục tiờu tổng thể, chớnh là mục tiờu chung của bài toỏn. Do đú, mục tiờu tổng thể sẽ là mua bỏn tự động (MoSeB).
Tiếp đến là hai mục tiờu con “tỡm kiếm đối tỏc” (search partner) và “bỏo cỏo” (report result) đƣợc phõn rú từ mục tiờu “thương lượng” (negotiation). Quỏ trỡnh này đƣợc thể hiện trờn hỡnh 5.1 (cỏc ký hiệu đƣợc sử dụng theo cỏc ký hiệu trong bộ cụng cụ agentTool):
5.2.1.2 Xừy dựng cỏc usecase
Cỏc usecase đƣợc xuất phỏt từ mong muốn của ngƣời dựng. Tuy nhiờn trong một số trƣờng hợp phức tạp, ngƣời dựng khụng thể hỡnh dung toàn bộ cỏc hoạt động của hệ thống, khi đú, ngƣời phõn tớch hệ thống cú thể thay mặt ngƣời dựng đảm nhiệm role này. Bƣớc này cũng bao gồm hai bƣớc con là: tạo cỏc usecase và xõy dựng biểu đồ tuần tự.
Tạo cỏc usecase
Trong phần này, cõu hỏi đặt ra cho ngƣời phõn tớch là “hệ thống làm gỡ ?”. Quỏ trỡnh trả lời cừu hỏi này đƣợc thực hiện dần dần từng bƣớc, bắt đầu từ cỏc nỳt lỏ của cõy phõn cấp mục tiờu, tiếp đến là cỏc nỳt cha và kết thỳc tại nỳt gốc. Trong quỏ trỡnh đú, cỏc usecase sẽ đƣợc trớch dẫn. Cỏc usecase của cõy phõn cấp mục tiờu trờn đƣợc thể hiện nhƣ hỡnh 5.2.
Hỡnh 5.2: Trớch chọn cỏc usecase
THƢƠNG LƢỢNG
1. Ngƣời dựng gửi yờu cầu đến nhà mụi giới để tỡm kiếm đối tỏc thớch hợp 2. Sau khi đú xỏc định đƣợc đối tỏc,
ngƣời mua liờn hệ trực tiếp đến ngƣời bỏn để xỏc định thụng tin về sản phẩm
3. Tiến hành xỏc định cỏc giỏ trị thuộc tớnh
4. Bắt đầu tiến trỡnh thƣơng lƣợng theo đỳng qui tắc.
5. Thụng bỏo kết quả cho ngƣời dựng.
TốM ĐỐI TÁC
1. Ngƣời bỏn đăng ký địa chỉ và dịch vụ với ngƣời mụi giới
2. Khi cỳ yờu cầu, nhà mụi giới tỡm kiếm trong miền tri thức của mỡnh một ngƣời bỏn cú dịch vụ phự hợp với ngƣời yờu cầu
3. Kết quả tỡm kiếm đƣợc thụng bỏo cho ngƣời yờu cầu.
BÁO CÁO
1. Ngƣời dựng đăng nhập vào hệ thống 2. Agent mua thụng bỏo kết quả cho
Xõy dựng biểu đồ tuần tự
Biểu đồ tuần tự mụ tả chuỗi cỏc sự kiện đƣợc truyền qua cỏc role đú đƣợc xỏc định trong cỏc usecase. Việc xỏc định cỏc biểu đồ tuần tự đƣợc xỏc định thụng qua cỏc usecase. Mỗi usecase sẽ cú tƣơng ứng một biểu đồ tuần tự. Hỡnh vẽ 5.3, 5.4, 5.5 đõy mụ tả cỏc biểu đồ tuần tự tƣơng ứng với cỏc usecase.
Hỡnh 5.3: Biểu đồ tuần tự bỏo cỏo
Hỡnh 5.4: Biểu đồ tuần tự thƣơng lƣợng
THễNG BÁO KẾT QUẢ
1. Người dựng trước khi xem kết quả phải đăng nhập thành cụng vào hệ thống.
2. Kết quả thương lượng sẽ đựoc thụng bỏo khi cú yờu cầu.
THƢƠNG LƢỢNG
1. Sau khi đú tỡm được đối tỏc, người mua đăng nhập vào hệ thống để ra lệnh thương lượng.
2. Khi nhận được yờu cầu, agent mua sẽ tự động thương lượng với agent bỏn.
3. Kết quả trả về được lưu trữ để thụng bỏo cho người dựng
Hỡnh 5.5: Biểu đồ tuần tự mụi giới
Việc xỏc định cỏc role từ cỏc usecase đƣợc thực hiện nhƣ sau:
- Trong usecase “tỡm kiếm đối tỏc”, cú cỏc danh từ cú thể đại diện cho cỏc role là: ngƣời mua, ngƣời bỏn, nhà mụi giới. Do đú cần đến cỏc role là: Buyer,
Seller và Broker.
- Với usecase “bỏo cỏo” chỉ cú hai role: ngƣời bỏn và ngƣời dựng. Do đú sẽ cú hai role tƣơng ứng: Buyer và User.
- Với usecase “thương lượng”, cần hầu hết tất cả cỏc role: Buyer, User, Seller,
Broker.
5.2.1.3 Xừy dựng ontology
Nhƣ đú trỡnh bày trong chƣơng 2, theo phƣơng phỏp luận MaSE, việc xõy dựng ontology bao gồm 4 giai đoạn: Xỏc định mục đớch, phạm vi của ontology; thu thập dữ liệu; xừy dựng ontology và hoàn thiện ontology.
Xỏc định mục đớch và phạm vi của ontology
MễI GIỚI
1. Nguời mua đăng ký với nhà mụi giới để quảng bỏ sản phẩm của mỡnh.
2. Người bỏn trước khi tỡm kiếm sản phẩm phải đăng nhập vào hệ thống để yờu cầu tỡm kiếm đối tỏc thụng qua nhà mụi giới. 3. Sau khi đăng nhập agent mua cũng phải đăng ký với nhà mụi giới để tỡm kiếm đối tỏc.
Ở đõy, chỳng ta sử dụng kỹ thuật khoanh vựng và thu hẹp cỏc miền tri thức để xỏc định phạm vi của ontology. Trong ứng dụng này, phạm vi của miền tri thức ban đầu đƣợc xỏc định là tri thức thương mại điện tử. Tuy nhiờn, luận văn chỉ thực hiện theo mụ hỡnh thương lượng song phương. Do đú phạm vi của tri thức đƣợc thu hẹp lại thành tri thức về hoạt động thương lượng song phương trong thương mại điện tử.
Trong phạm vi của ứng dụng này, cỏc miền tri thức bao gồm:
- Tri thức về ngƣời bỏn: Hệ thống chỉ quan tõm tới những ngƣời bỏn cú sản phẩm là xe mỏy.
- Tri thức về ngƣời mua: Hệ thống chỉ tập trung vào những ngƣời mua xe mỏy. - Tri thức về mặt hàng: Mặt hàng trong ứng dụng này chỉ là xe mỏy và cỏc
thụng tin liờn quan đến chỳng.
- Tri thức về nhà mụi giới: Hệ thống chỉ quan tõm đến những nhà mụi giới cho agent mua và bỏn xe mỏy.
Thu thập dữ liệu
Quỏ trỡnh thu thập dữ liệu đƣợc thực hiện để xỏc định miền tri thức cho cỏc role hệ thống. Trong hệ hỗ trợ mua bỏn xe mỏy, miền tri thức gồm cú:
- Miền tri thức của ngƣời bỏn:
+ Tờn, địa chỉ, số hiệu cổng kết nối của ngƣời bỏn.
+ Tờn mặt hàng và cỏc thuộc tớnh của mỗi mặt hàng của ngƣời bỏn. - Miền tri thức của ngƣời mua:
+ Tờn, địa chỉ và cổng kết nối của ngƣời mua.
+ Yờu cầu về sở thớch của ngƣời mua đối với mặt hàng. + Cỏc thụng tin khỏc.
- Miền tri thức của nhà mụi giới:
+ Tờn, địa chỉ và số hiệu cổng kết nối của nhà mụi giới.
+ Tờn, địa chỉ, số hiệu cổng kết nối và khả năng cung cấp dịch của cỏc agent bỏn.
Xừy dựng ontology
Trong luận văn này, chỳng tụi sử dụng kỹ thuật xõy dựng ontology từ đầu. Từ miền tri thức trong bƣớc thu thập dữ liệu, quỏ trỡnh phừn loại với mỗi miền tri thức con đƣợc tiến hành nhƣ sau:
Từ miền tri thức ngƣời bỏn và ngƣời mụi giới, cú cỏc khỏi niệm nhƣ sau: địa chỉ (Address), tờn (name), số hiệu cổng kết nối (port).
Từ miền tri thức của ngƣời mua, cú hai khỏi niệm là: giỏ nhỏ nhất (minVal) và giỏ lớn nhất (maxVal). Hai khỏi niệm này đƣợc đặt vào trong một lớp (Internal).
Miền tri thức của mặt hàng cỳ cỏc khỏi niệm chớnh là (Product). Khỏi niệm này trở thành lớp tƣơng ứng. Cỏc khỏi niệm đƣợc xõy dựng từ cỏc thuộc tớnh của chỳng: giỏ tiền (cost), thời hạn đăng ký (register), màu sắc (color), húng xe (manufacture), phừn khối (capacity).
Hỡnh 5.6: Cỏc lớp ontology
Khi nhận đƣợc yờu cầu từ ngƣời mua, nếu khụng tỡm đƣợc sản phẩm nào thoả mún, ngƣời bỏn cần phải tỡm một sản phẩm khỏc “thoả mún nhất” với cỏc yờu cầu
class Address { String name; String host; port: int; } class Aspect { String name; double value; double weight } class Weight{ double wColor; double wManufacture; double wCapacity; double wCost; double wRegister; } class Product{ int color; int manufacture; int capacity; double cost; double register; } class Interval { double maxVal; double minVal; } class Constraint { String name; double value; }
của khỏch hàng, để đỏnh giỏ đƣợc mức độ thoả mún này, cần phải cỳ cỏc khỏi niệm về khớa cạnh đỏnh giỏ (Aspect). Với mỗi khớa cạnh sẽ cỳ cỏc thuộc tớnh: tờn (name), giỏ trị (value) và trọng số tƣơng ứng (weight).
Trong quỏ trỡnh trao đổi thụng tin giữa ngƣời mua và ngƣời bỏn, ngƣời mua lần luợt cung cấp cho ngƣời bỏn cỏc yờu cầu của mỡnh, từ đú ta cú thờm khỏi niệm về cỏc yờu cầu (Constraint). Khỏi niệm này chỉ đơn thuần cú hai thuộc tớnh: tờn thuộc tớnh (name) và giỏ trị yờu cầu (value).
Cả ngƣời mua và ngƣời bỏn đều cú mức độ ƣu tiờn (hay cũn gọi là trọng số) khỏc nhau với cỏc thuộc tớnh của sản phẩm. Từ đú, ta sẽ cú thểm khỏi niệm về mức độ ƣu tiờn cho cả bờn bỏn và bờn mua. Khỏi niệm này đƣợc gúi chung vào trong cựng một lớp Weight và mỗi thuộc tớnh của nú sẽ là trọng số tƣơng ứng cho từng thuộc tớnh. Thing Address Constraint Interval Product Weight Aspect name host port name value minVal maxVal color manufacture capacity cost register color manufacture capacity cost register name value weight
Hỡnh 5.7: Sơ đồ ontology hệ thống
Hoàn thiện và kiểm định ontology
Ontology này đú mụ tả đầy đủ, chi tiết cỏc tri thức cần thiết cho việc trao đổi thụng tin giữa ngƣời mua và ngƣời bỏn. Sơ đồ lớp ontology của hệ thống đƣợc minh hoạ trong hỡnh 5.7
5.2.1.4 Hoàn thiện cỏc role
Xỏc định role
Từ quỏ trỡnh phừn tớch trờn, chỳng ta cỳ thể xỏc định đƣợc cỏc role trong hệ thống gồm cú:
- Role Broker thực hiện mục tiờu tỡm kiếm đối tỏc. - Role User thực hiện mục tiờu xem bỏo cỏo kết quả. - Role Sheller và Buyer thực hiện mục tiờu thƣơng lƣợng.
Mỗi role sẽ cú cỏc nhiệm vụ tƣơng ứng cần phải thực hiện để đạt đƣợc mục tiờu của mỡnh. Cỏc nhiệm vụ của tƣơng ứng cỏc role đƣợc biểu diễn trong hỡnh 5.8 dƣới đõy.
- Role User cỳ nhiệm vụ là ra yờu cầu, chuẩn bị cho quỏ trỡnh thƣơng lƣợng đăng ký, phục vụ... Tuy nhiờn nhiệm vụ chớnh của nỳ là mụ hỡnh hoỏ yờu cầu, nhiệm vụ này cỳ tờn là modelling.
- Role Broker cỳ nhiệm vụ chớnh là tỡm kiếm và đối sỏnh cỏc yờu cầu giữa ngƣời mua và ngƣời bỏn. Hai nhiệm vụ này cũng cú thể đƣợc xem là hai chức năng của một nhiệm vụ match. Tuy nhiờn, trƣớc khi cú thể thực hiện quỏ trỡnh này, cỏc nhà mụi giới cũn phải tiếp nhận cỏc yờu cầu tỡm kiếm từ phớa ngƣời mua và yờu cầu đăng ký từ phớa ngƣời bỏn. Do đú, nú cú thờm một chức năng nữa là confirm.
- Role Seller cỳ hai nhiệm vụ chớnh. Thứ nhất là đăng ký với nhà mụi giới nhằm mục đớch quảng bỏ sản phẩm của mỡnh. Nhiệm vụ này cỳ tờn là
advertise. Nhiệm vụ thứ hai là phục vụ khi cú ngƣời mua. Nhiệm vụ này cú tờn tƣơng ứng là serve.
- Role Buyer cũng cú hai nhiệm vụ tƣơng ứng với role Seller. Thứ nhất là phải đăng ký với nhà mối giới để cú thể tỡm đƣợc nhà cung cấp ƣng ý và sau đú
sẽ thƣơng lƣợng trực tiếp với ngƣời bỏn đƣợc nhà mụi giới giới thiệu. Hai nhiệm vụ này cú tờn tƣơng ứng là register và negotiate.
Ngoài ra cỏc role Buyer, Seller đều cú nhiệm vụ interface để giao tiếp với ngƣời dựng.
Hỡnh 5.8: Lƣợc đồ cỏc role hệ thống
Mụ hỡnh nhiệm vụ
Trong phần này, chỳng ta chỉ tập trung vào hai nhiệm vụ chớnh, quan trọng nhất và cú thể đƣợc xem nhƣ là trỏi tim của luận văn đú là nhiệm vụ thƣơng lƣợng trong vai trũ ngƣời mua và nhiệm vụ phục vụ trong vai trũ ngƣời bỏn. Hỡnh 5.9 mụ tả cỏc hoạt động chớnh trong nhiệm vụ thƣơng lƣợng (negotiate) và hỡnh 5.10 mụ tả cỏc hoạt động chớnh trong nhiệm vụ phục vụ (serve).
Sơ đồ hoạt động của nhiệm vụ negotiate đƣợc thực hiện theo thuật toỏn thƣơng lƣợng song phƣơng dành cho ngƣời mua đú trỡnh bày trong chƣơng 4. Theo đú, nú bắt đầu từ trạng thỏi start (đƣợc ký hiệu bởi hỡnh trũn tụ đậm, biờn đơn) khi cú yờu cầu từ nhiệm vụ modelling trong role User. Tiếp đến, nú đi vào trạng thỏi select (lựa chọn) để chọn ra một ràng buộc cú độ ƣu tiờn cao nhất, với ràng buộc đú, nú chọn giỏ trị mong muốn nhất gửi cho đối tỏc (ngƣời bỏn) kốm theo thụng điệp “check”.
Sau đú nú đi vào trạng thỏi wait (chờ đợi) để chờ đợi thụng tin phản hồi từ phớa ngƣời bỏn. Tại trạng thỏi này, tuỳ vào thụng điệp nhận đƣợc từ phớa đối tỏc nú sẽ cú ứng hoạt động phự hợp.
Hỡnh 5.9: Sơ đồ hoạt động của nhiệm vụ Negotiate trong role Buyer
- Nếu nhận đƣợc thụng điệp “check” nỳ sẽ chuyển vào trạng thỏi check (kiểm tra).
- Nếu nhận đƣợc thụng điệp “try” nỳ sẽ chuyển ngay vào trạng thỏi verify
(duyệt).
- Nếu nhận đƣợc thụng điệp “relax”, nỳ sẽ chuyển vào trạng thỏi relax
(nhượng bộ).
Trong cỏc trạng thỏi mới, tuỳ vào cỏc giỏ trị nhận đƣợc nú sẽ cú những tớnh toỏn thớch hợp dựa trờn cỏc hàm và cỏc thủ tục bờn trong đú.
Trong trạng thỏi check, nú sẽ kiểm tra sản phẩm nhận đƣợc từ phớa ngƣời bỏn xem cú vi phạm ràng buộc nào nữa khụng. Nếu cú nú sẽ gửi ràng buộc cú độ ƣu tiờn cao nhất bị vi phạm cho ngƣời bỏn nhằm mục đớch tỡm lại sản phẩm khỏc. Ràng buộc bị vi phạm sẽ đƣợc gửi kốm theo thụng điệp “find”.
Trong trạng thỏi relax, nỳ sẽ kiểm tra xem cỳ cũn nhƣợng bộ đƣợc thuộc tớnh nào nữa khụng.
- Nếu cũn nhƣợng bộ đƣợc, nú sẽ chọn nhƣợng bộ làm giảm ớt lợi nhuận nhất đối với nú và gửi đi kốm theo thụng điệp “find” nhằm tỡm kiếm sản phẩm khỏc với ràng buộc nhẹ hơn.
- Ngƣợc lại, nú sẽ gửi thụng điệp “norelax” để thụng bỏo khụng thể nhƣợng bộ đƣợc nữa.
Trong trạng thỏi verify, nú sẽ kiểm tra xem sản phẩm nhận đƣợc cú thoả mún mong muốn của mỡnh hay khụng. Lỳc này, nỳ khụng quan từm đến cỏc ràng buộc mà chỉ quan tõm đến mức độ chấp nhận đƣợc của sản phẩm.
- Nếu sản phẩm thoả mún, nú sẽ gửi thụng điệp “deal” cho ngƣời bỏn để kết thỳc giao dịch trong sự thành cụng.
- Ngƣợc lại, nú sẽ gửi thụng điệp “fail” để thụng bỏo giao dịch thất bại.
Sơ đồ hoạt động của nhiệm vụ serve hoạt động dựa trờn chiến lƣợc thƣơng lƣợng dành cho ngƣời bỏn. Nú bƣớc vào trạng thỏi start khi cú yờu cầu từ phớa ngƣời bỏn. Sau khi đƣợc khởi động, nú bắt đầu chờ đợi cỏc yờu cầu đƣợc gửi sang từ phớa ngƣời mua. Tuỳ theo cỏc thụng điệp nhận đƣợc, nú sẽ đi vào trạng thỏi tƣơng ứng để xử lý.
- Nếu nhận đƣợc thụng điệp “find”, nỳ sẽ chuyển sang trạng thỏi update (cập nhật).
- Nếu nhận đƣợc thụng điệp “refind”, nỳ sẽ chuyển trực tiếp vào trạng thỏi
search (tỡm kiếm).
- Nếu nhận đƣợc thụng điệp “norelax”, nỳ sẽ chuyển sang trạng thỏi similarity
(tương tự).
Tuỳ theo cỏc giỏ trị nhận đƣợc, tại mỗi trạng thỏi, nú sẽ cú cỏc tớnh toỏn sao cho cú lợi nhất cho mỡnh bằng cỏc hàm đú đƣợc xõy dựng sẵn.
Trong trạng thỏi update (cập nhật), nú sẽ cập nhật ràng buộc mới vào danh sỏch cỏc ràng buộc hiện tại. Điều này khụng chỉ đơn giản là chấp nhận thờm yờu cầu từ phớa khỏch hàng mà nú cũn giỳp ngƣời bỏn thu thập thờm thụng tin từ phớa khỏch hàng để hỗ trợ ra quyết định hành động cho cỏc hoạt động sau này.
Trong trạng thỏi search (tỡm kiếm), nỳ sẽ tỡm kiếm tất cả cỏc sản phẩm thoả mún tất cả cỏc yờu cầu của ngƣời mua.
- Nếu tỡm thấy sản phẩm thoả mún tất cả cỏc ràng buộc, nỳ sẽ chọn sản phẩm