Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
470,36 KB
Nội dung
ÁP DỤNG HỆ THỐNG VIẾT LẠI SỐ HẠNG ĐỂ TỔ HỢP CÁC DỊCH VỤ WEB TỰ ĐỘNG Huỳnh Tấn Khải1 Tóm tắt: Với ưu điểm dịch vụ web so với ứng dụng truyền thống việc giải vấn đề độc lập tảng, khả tái sử dụng, dễ triển khai,… số lượng dịch vụ web ngày tăng Thay phải phát triển phần mềm cho yêu cầu công việc, người dùng sử dụng dịch vụ web phù hợp sẵn có Người dùng tìm kiếm tổ hợp dịch vụ web sẵn có theo yêu cầu Do đó, tổ hợp dịch vụ web đáp ứng yêu cầu người dùng vấn đề cần phải giải Tổ hợp tự động dịch vụ web lĩnh vực thu hút quan tâm nhà nghiên cứu Tuy nhiên, phương pháp nhiều hạn chế tốn thời gian, không xét đến giá trị chất lượng dịch vụ,… Nghiên cứu báo cung cấp hướng mới, sử dụng phương pháp viết lại số hạng để tự động hóa việc tổ hợp dịch vụ web Từ khoá: Viết lại số hạng, Dịch vụ Web, Tổ hợp Dịch vụ Web, Tái sử dụng Dịch vụ Web, Term Rewriting Mở đầu Ngày nay, nhu cầu doanh nghiệp ngày tăng trưởng số lượng lẫn chất lượng, việc doanh nghiệp tự phát triển phần mềm riêng biệt cho cơng ty trở nên tốn kém, khó mở rộng, phát triển chia sẻ với doanh nghiệp bên Dịch vụ web tạo thỏa mãn u cầu nêu có tính chất sau [1]: - Khả kết hợp lẫn nhau: dịch vụ web không nằm doanh nghiệp mà chia sẻ bên ngồi Do đó, chúng có khả kết hợp lẫn để thỏa mãn nhu cầu ngày phức tạp người dùng Hơn nữa, dịch vụ web tổ hợp không phụ thuộc vào ngơn ngữ lập trình hệ điều hành Từ đó, việc phát triển dịch vụ web phức tạp dựa dịch vụ đơn giản, sẵn có thực cách dễ dàng - Khả sử dụng: từ kho dịch vụ mà người dùng tìm mạng, họ tự lựa chọn dịch vụ mà họ cần, sử dụng ngôn ngữ lập trình cơng cụ để thay đổi dịch vụ theo hướng mà họ muốn - Khả triển khai: dịch vụ web triển khai dựa tiêu chuẩn cơng nghệ mạng Do đó, việc sử dụng dịch vụ web thực dễ dàng từ nơi đâu có kết nối mạng Các dịch vụ web mạng bản, phục vụ cho yêu cầu đơn giản Tuy nhiên, yêu cầu người dùng lại phức tạp, thường phải kết hợp nhiều dịch vụ có sẵn lại với để thực cơng việc mong muốn Ví dụ với dịch vụ có sẵn như: dịch vụ chọn đặt vé máy bay, dịch vụ vận chuyển, chọn khách sạn,… Một người dùng du lịch lại cần dịch vụ phức tạp tổ hợp từ dịch vụ trên, giải vấn đề thủ tục di chuyển, việc chọn nơi ở,… Đồng thời, dịch vụ tổ hợp thỏa mãn TS., Khoa Toán – Tin, Trường Đại học Quảng Nam 47 ÁP DỤNG HỆ THỐNG VIẾT LẠI SỐ HẠNG ĐỂ TỔ HỢP tiêu chí đặt thời gian, chi phí,… Các tiêu chí gọi chất lượng dịch vụ (Quality of Service - QoS) [2] Như vậy, người dùng cần giải pháp giúp tổng hợp dịch vụ web phức hợp từ dịch vụ có nhằm thỏa mãn u cầu Hiện nay, nhiều giải pháp đưa để giải vấn đề Tuy nhiên, giải pháp nhiều nhược điểm như: - Các giải pháp tính tốn để đưa tất cách kết hợp có để từ đưa kết tối ưu thỏa yêu cầu người dùng Vì số lượng dịch vụ web nhiều, phương pháp tốn thời gian khơng thích hợp số lượng dịch vụ web cập nhật (vì chương trình phải tính tốn lại để đưa danh sách tổ hợp có thể) - Các tính tốn dựa vào khả kết hợp dịch vụ mà khơng tính đến tiêu chí đặc điểm chất lượng dịch vụ Do đó, giải pháp đưa khơng thỏa mãn nhu cầu người dùng - Với nhiều loại chất lượng dịch vụ khác nhau, cơng thức tính tốn chất lượng dịch vụ lại khác Ví dụ: tính theo chi phí dịch vụ chi phí dịch vụ web tổ hợp tổng chi phí dịch vụ thành phần, tính theo độ sẵn có (availability) độ sẵn có dịch vụ web tổ hợp tích độ sẵn có dịch vụ thành phần Các công thức mô tả riêng khỏi dịch vụ web gán cứng mã nguồn chương trình tổ hợp Mỗi muốn thay đổi công thức này, người dùng cần phải sửa chúng mã nguồn chạy lại chương trình tổ hợp Giải pháp đề nghị nghiên cứu dựa luật mô tả dịch vụ web Các luật mơ tả đặc điểm dịch vụ web đầu vào, đầu ra, thông số chất lượng dịch vụ, điều kiện để thực Cơng thức tính tốn chất lượng dịch vụ web tổ hợp mô tả đặc tả luật tương ứng với dịch vụ web đơn cấu tạo nên chúng Chương trình dựa tập luật để chọn luật phù hợp với yêu cầu người dùng Với phương pháp trên, chương trình có khả tổ hợp dịch vụ web thỏa mãn yêu cầu cho trước cho phép thay đổi tập luật q trình tính tốn Trong báo này, đưa giải pháp áp dụng hệ thống viết lại số hạng (term rewriting) để tổ hợp dịch vụ web dựa tiêu chí ràng buộc cứng (tiêu chí đầu vào đầu ra), ràng buộc mềm (tiêu chí chất lượng dịch vụ) Để minh họa kết trình nghiên cứu, tác giả xây dựng nên chương trình có khả tổ hợp dịch vụ web sẵn có nhằm thỏa mãn yêu cầu người dùng Sau đóng góp báo: - Đưa phương pháp để tổ hợp dịch vụ web sử dụng hệ thống viết lại số hạng Nhờ vào phương pháp này, thay đổi tập dịch vụ web (thêm, bớt dịch vụ) thực thi q trình tính tốn - Cho phép xác định khả thực thi kiểm tra trình tổ hợp cách xác định điều kiện dịch vụ thông qua giá trị chất lượng dịch vụ Ví dụ: dịch vụ vận chuyển khơng áp dụng chi phí vượt mức yêu cầu người dùng Đối với 48 HUỲNH TẤN KHẢI phương pháp khác, điều kiện xem xét sau biết cách tổ hợp dịch vụ web - Cải tiến việc lựa chọn dịch vụ web: thay tạo tất mơ hình kết hợp có tất dịch vụ web, chương trình tổ hợp dựa yêu cầu người dùng để loại bỏ dịch vụ không thỏa mãn bước lựa chọn dịch vụ, sử dụng giải thuật heuristic để tăng tốc q trình tìm kiếm Phần cịn lại báo tổ chức sau: Phần khảo sát cơng trình nghiên cứu có liên quan Trong phần 3, báo sâu vào việc phân tích diễn giải kiến thức tảng hệ thống viết lại số hạng để phục vụ cho việc tổ hợp dịch vụ web Phần trình bày chi tiết ý tưởng xây dựng chương trình tổ hợp dịch vụ web đưa ví dụ thực tế để minh họa cho chương trình Phần trình bày kết thực nghiệm đưa số đánh giá hệ thống Phần đưa kết luận đề xuất số hướng phát triển tương lai Nội dung 2.1 Các cơng trình nghiên cứu có liên quan Các nghiên cứu vấn đề tổ hợp dịch vụ web phân thành nhóm sau: 2.1.1 Tổ hợp dịch vụ web dựa ràng buộc cứng Tổ hợp dịch vụ web liên quan đến thuộc tính chức (các ràng buộc cứng) toán kinh điển kiến trúc hướng dịch vụ (SOA), phần lớn nghiên cứu thuộc nhóm dựa lý thuyết Lập kế hoạch lĩnh vực trí tuệ nhân tạo (AI planning), chẳng hạn [3] Một số nghiên cứu gần đề xuất sử dụng mơ hình trừu tượng Petri net Colored Petri net [4] để tổ hợp xác minh dịch vụ web PORSCE II [3] khung thức thực tổ hợp dịch vụ web dựa yêu cầu đầu vào đầu dịch vụ (ràng buộc chức hay ràng buộc cứng) Tương tự, OWLS-XPlan [5] sử dụng dịch vụ web thể ngôn ngữ OWL-S để chuyển toán từ lĩnh vực tổ hợp dịch vụ web sang lĩnh vực lập kế hoạch sử dụng lập kế hoạch có tên XPlan để xử lý 2.1.2 Thành phần dựa ràng buộc cứng mềm Phương pháp tổ hợp dịch vụ web kết hợp thuộc tính chức (ràng buộc cứng) thuộc tính chất lượng dịch vụ - QoS (ràng buộc mềm) đề xuất [2] Trong [2], tác giả áp dụng thuật toán di truyền (Genetic Algorithm - GA) để giải vấn đề tổ hợp với cách tổ hợp mã hóa thành gen Tuy nhiên, nghiên cứu cung cấp cho chế để chọn cách tổ hợp tốt (có thể) từ tập hợp tổ hợp (lược đồ tổ hợp đầy đủ) thực bước tổ hợp từ dịch vụ web thành phần Bên cạnh đó, việc áp dụng thuật toán di truyền làm tăng độ phức tạp tốn khó áp dụng vào thực tế Một cách tiếp cận khác [6] đề xuất khôi phục tự động tổ hợp việc thực thi tổ hợp bị rơi vào trạng thái lỗi (không thể truy cập đến dịch vụ web dịch vụ web không đáp ứng yêu cầu người dùng) Trong cách tiếp cận này, 49 ÁP DỤNG HỆ THỐNG VIẾT LẠI SỐ HẠNG ĐỂ TỔ HỢP phải có lược đồ tổ hợp đầy đủ mô tả ngôn ngữ BPEL, chuyển đổi thành Hệ thống chuyển tiếp gắn nhãn (Lebelled Transition System - LTS), giám sát một giám sát chuyển trạng thái tự động (monitor automata) Khi phát sinh lỗi (trạng thái đạt đến được, tương ứng với dịch vụ web truy cập được), hệ thống bắt đầu tính tốn phương án khôi phục giải thuật di truyền Sự khác biệt [6] [2] kích thước gen [6] không cố định, điều phụ thuộc vào số bước thực qua số bước phải quay lui việc thực thi tổ hợp bị rơi vào trạng thái lỗi 2.2 Hệ thống viết lại số hạng (Term Rewriting System – TRS) Trong phần này, chúng tơi sâu vào việc phân tích diễn giải kiến thức tảng việc xây dựng hệ thống viết lại số hạng (Term Rewriting System – TRS) [7] để áp dụng vào việc tổ hợp dịch vụ web Để tăng tốc trình tổ hợp nhằm thỏa mãn yêu cầu chất lượng dịch vụ, chúng tơi sử dụng phương pháp tìm kiếm tốt trước (best-first search) dựa giá trị thuộc tính chất lượng dịch vụ bước q trình tổ hợp Để hiểu rõ hệ thống viết lại số hạng, bắt đầu với biểu thức đơn giản (9 - 5)2 × (7 + 4), biểu thức đơn giản hóa theo số bước, sử dụng quy tắc số học (9 - 5)2 × (7 + 4) → 42 × 11 → 16 × 11 → 176 Có nhiều hình thức đơn giản hóa (rút gọn) biểu thức Quy tắc đơn giản hóa thường bắt nguồn từ quy tắc toán học, chẳng hạn a2 + 2ab + b2 = (a + b)2 quy tắc nghiệp vụ vấn đề mà cần giải Một cách tổng quát, quy tắc rút gọn có hai vế, vế bên trái công thức (biểu thức) phức tạp, biểu thức đơn giản hóa thành biểu thức vế bên phải Các biểu thức gọi số hạng - term việc áp dụng quy tắc rút gọn gọi viết lại số hạng – term rewriting [8] Một nhìn đơn giản hệ thống viết lại số hạng (Term Rewriting System – TRS) thể Hình Cho tập hợp quy tắc viết lại biểu thức ban đầu T, thuật toán viết lại số hạng áp dụng trả biểu thức Hình Hệ thống viết lại số hạng T’, biểu thức đơn giản hóa T T’ gọi (Term Rewriting System – TRS) dạng đơn giản hóa hay dạng chuẩn T 2.3 Tổ hợp dịch vụ web tự động dựa hệ thống viết lại số hạng - TRS 2.3.1 Vấn đề tổ hợp dịch vụ web tốn TRS Trong phần 2.2., chúng tơi giới thiệu cách sử dụng TRS để rút gọn toán Vấn đề tổ hợp dịch vụ web vấn đề rút gọn cố gắng thay biểu thức mô tả yêu cầu người dùng biểu thức mô tả dịch vụ web thành phần có 50 HUỲNH TẤN KHẢI sẵn Để áp dụng TRS để giải vấn đề tổ hợp dịch vụ web, cần chuyển đổi dịch vụ web thành luật lĩnh vực TRS Một dịch vụ web bao gồm hai thành phần chính: đầu vào (dữ liệu cần thiết để thực dịch vụ) đầu (dữ liệu thu sau thực dịch vụ) Tính hồn tồn giống với khái niệm luật TRS Khi biểu thức khớp với phía bên trái luật, viết lại biểu thức vế bên phải luật Do đó, dịch vụ web thành phần có sẵn mơ tả luật TRS Tổ hợp dịch vụ web trình để tìm thứ tự áp dụng dịch vụ web thành phần để đáp ứng u cầu người dùng Việc tính tốn TRS dựa luật có sẵn để có dạng rút gọn nhận biểu thức thỏa mãn u cầu người dùng mơ tả Do đó, tốn tổ hợp dịch vụ web tốn TRS, luật biểu thức mô tả dịch vụ web thành phần mục tiêu biểu thức mô tả yêu cầu người dùng Việc áp dụng quy tắc thu gọn dừng lại đạt đến biểu thức thỏa mãn yêu cầu người dùng đạt đến dạng tối giản Một vấn đề khác thuộc tính QoS (chẳng hạn chi phí thực thi, thời gian phản hồi, tính khả dụng, v.v.) tính đến, giá trị thuộc tính QoS thay đổi dựa công thức cho thuộc tính cụ thể giá trị dịch vụ web tham gia tổ hợp Sử dụng TRS, “đính kèm” thơng tin đặc tả dịch vụ web giúp tính tốn giá trị thuộc tính QoS dịch vụ thành phần Khi giá trị đầu vào đầu (thuộc tính chức năng) dịch vụ web khơng thay đổi, chúng biểu diễn số Để dễ xử lý, định số bắt đầu chữ hoa; biến hàm bắt đầu chữ thường; công thức tốn học đặt dấu ngoặc vng (“[” “]”) Các điều kiện dịch vụ (ví dụ: dịch vụ áp dụng tổng chi phí thực không vượt ngưỡng định), đặt cuối đặc tả dịch vụ web phân tách ký hiệu “|” Khi điều kiện gồm nhiều điều kiện con, chúng tơi sử dụng hàm “and” Ví dụ 1: Đặc tả dịch vụ web thực chức giao hàng ShippingService nhận vào thông tin đặt hàng khách hàng (OrderData) địa giao hàng (Address); trả thông tin ngày giao hàng (ShippingDate); chi phí thực (qosCost) dịch vụ đơn vị tiền tệ TRS sau: ShippingService: and(OrderData, Address, qosCost(x)) → and(ShippingDate, qosCost([x + 3])) Trong đó, x đại diện cho giá trị qosCost dịch vụ web tổ hợp trước tổ hợp thêm dịch vụ này, qosCost ([x + 3]) cho biết giá trị qosCost tăng lên đơn vị sau áp dụng dịch vụ Lưu ý rằng, có nhiều thuộc tính QoS, người dùng cần định tất cơng thức Ở bước tổ hợp, dịch vụ web đáp ứng yêu cầu đầu vào người dùng, sử dụng Khi đó, đầu dịch vụ web thêm vào danh sách đầu vào trạng thái tại, giá trị thuộc tính QoS cập nhật Quá trình 51 ÁP DỤNG HỆ THỐNG VIẾT LẠI SỐ HẠNG ĐỂ TỔ HỢP diễn liên tục đầu tổ hợp thỏa mãn yêu cầu người dùng Quá trình sử dụng TRS để giải vấn đề tổ hợp dịch vụ web minh họa Hình Trong hệ thống, dịch vụ web mô tả ngôn ngữ OWL-S lưu trữ kho dịch vụ Web Trình phân tích cú pháp (Parser) đọc dịch vụ web trả thông tin gồm tên dịch vụ web (WSName), đầu vào (I), đầu (O) thuộc tính QoS (Q) dịch vụ web Sau đó, trình chuyển đổi (Transformer) chuyển đổi thông tin thành luật miền TRS Mỗi luật có dạng sau: tên luật (R) theo sau dấu hai chấm (:), vế trái (LS) suy (→) vế phải (RS) Yêu cầu người dùng mô tả luật (gọi luật mục tiêu) TRS thực trình viết lại số hạng để tạo biểu thức thỏa mãn kết đầu luật mục tiêu Hình Sử dụng TRS để giải tốn tổ hợp dịch vụ web Ví dụ 2: Minh họa chuyển đổi biến đổi dịch vụ web thành luật TRS Bảng sau: Bảng Kho dịch vụ web đơn có Tên dịch vụ Đầu vào Đầu Mơ tả Luật TRS Trả thông tin nhà xuất sách BookToPublisherService: and(Book, Author, qosCost(x)) →and(Publisher, qosCost([x+1])) Publisher, CustomsCost OrderData Trả chi phí đơn hàng CustomsCostService: and( Publisher, OrderData, qosCost(x)) → and (CustomsCost,qosCost([x+2])) Address, ShippingDate OrderData Trả ngày giao cho đơn hàng ShippingService: and(Address, OrderData, qosCost(x)) → and(ShippingDate, qosCost([x+3])) BookTo Publisher Service Book, Author Customs Cost Service Shipping Service Publisher CreditCard OrderData, Payment ChargeService CreditCard 52 Chi phí 1 Trả thơng CreditCardChargeService: tin tín dụng cho and(OrderData, CreditCard, đơn hàng qosCost(x)) → and(P ayment, qosCost([x + 1])) HUỲNH TẤN KHẢI WaysOf OrderService Publisher Electronic Trả đơn WaysOfOrderService: hàng có and(Publisher, qosCost(x)) → nhà XB and(Electronic,qosCost([x+2])) Electronic OrderService Electronic OrderData Thực thi đơn hàng ElectronicOrderService: and(Electronic, qosCost(x)) → and(OrderData,qosCost([x+3])) Giả sử có yêu cầu người dùng cung cấp Tên tác giả (Author), Tên sách (Book) Địa giao hàng (Address), người dùng mong muốn thông tin giá tiền (CustomCost) ngày giao hàng (ShippingDate) Đó ràng buộc mặt chức (ràng buộc cứng) Ngoài ra, người dùng cịn mong muốn chi phí để thực dịch vụ không vượt 12 đơn vị tiền tệ (đây ràng buộc mặt chất lượng dịch vụ) Yêu cầu người dùng biến đổi thành luật (luật mục tiêu) hệ thống TRS sau: and(Author, Book, Address, qosCost(0)) → and(CustomCost, ShippingDate, qosCost(12)) Quá trình tổ hợp thể Hình Ở bước, luật chọn thay thế, q trình tổ hợp kết thúc đạt đến biểu thức đáp ứng yêu cầu đầu người dùng khơng thể tìm thấy luật áp dụng Trong ví dụ này, trình tổ hợp dừng lại đạt đến thuộc tính CustomsCost ShippingDate yêu cầu người dùng Khi trình tổng hợp dừng lại, giá trị thuộc tính qosCost 11 and(Author, Book, Address, qosCost(0)) → and(Author, Book, Address, Publisher, qosCost(1)) [BookToPublisherService] → and(Author, Book, Address, Publisher, Electronic, qosCost(3)) [WaysOfOrderService] → and(Author, Book, Address, Publisher, Electronic, OrderData, qosCost(6)) [ElectronicOrderService] → and(Author, Book, Address, Publisher, Electronic, OrderData, CustomsCost, qosCost(8)) [CustomsCostService] → and(Author, Book, Address, Publisher, Electronic, OrderData, CustomsCost, ShippingDate, qosCost(11)) [ShippingService] Hình Minh họa trình tổ hợp dịch vụ web dựa TRS 2.3.2 Áp dụng giải thuật Tìm kiếm tốt trước (Best-First Search – BFS) để tối ưu cho vấn đề tổ hợp dịch vụ web Nói chung, phương pháp áp dụng TRS cho vấn đề tổ hợp dịch vụ web mô tả Phần 2.3.1 lấy luật để xử lý theo thứ tự xuất chúng kho lưu trữ Nếu luật chọn luật tốt (theo thuộc tính QoS), hệ thống tạo kết khơng tối ưu Ví dụ, thêm dịch vụ web BookElectronicOrderService, dịch 53 ÁP DỤNG HỆ THỐNG VIẾT LẠI SỐ HẠNG ĐỂ TỔ HỢP vụ nhận vào Sách (Book), Tác giả (Author); trả nhiều thông tin liệu đơn hàng (OrderData) chi phí (CustomCost) Tuy nhiên, chi phí để sử dụng dịch vụ lớn, đến 20 đơn vị tiền tệ Với trường hợp này, phương pháp trình bày Phần 2.3.1 tìm tổ hợp dịch vụ khơng phải phương án tối ưu Vì vậy, phương pháp tìm kiếm tốt trước (Best First Search - BFS) áp dụng để khắc phục nhược điểm Thuật toán BFS cho việc chọn luật TRS mô tả Thuật toán Thuật toán dử dụng hàm đánh giá f dựa thuộc tính QoS Thuật toán trả danh sách luật xếp thứ tự ưu tiên theo hàm chi phí f tăng dần Thuật toán Thuật toán BFS cho TRS Đầu vào: Tập hợp luật đại diện cho dịch vụ web thành phần (Ri: Ii → Oi), luật mục tiêu đại diện cho yêu cầu người dùng (Ir → Or) Đầu ra: Các luật đại diện cho tổ hợp dịch vụ web với giá trị QoS tốt (Rm • • Rn) 1: Thêm Ir vào danh sách OPEN 2: If OPEN rỗng then return unsuccessful error 3: Lấy luật x từ OPEN với giá trị hàm mục tiêu f tốt 4: Thêm x vào danh sách CLOSED 5: if x thỏa Or then return danh sách CLOSED 6: for each Ii thỏa x 7: Tính hàm mục tiêu f(Ii) 8: if Ii chưa có OPEN CLOSED then Thêm Ii vào OPEN 9: else 10: Cập nhật giá trị f(Ii) giá trị tốt 11: if Ii có CLOSED then Đưa Ii vào OPEN 12: goto bước Áp dụng Thuật toán vào hệ thống gồm có dịch vụ web Bảng yêu cầu người dùng mô tả trên, hàm tối ưu (heuristic) f dịch vụ web tổ hợp tính tốn bước Q trình tổ hợp dịch vụ web dựa TRS sử dụng thuật toán BFS diễn tiến qua bước sau: Bước 1: OPEN = {[Author, Book, Address]} Bước 2: OPEN không rỗng Bước 3&4: x = [Author, Book, Address], f(x) = Chọn x, thêm x vào CLOSED, CLOSED={[Author, Book, Address]} Bước 5: x chưa thỏa mãn mục tiêu Bước 6: Chúng ta có luật có vế trái thỏa mãn x, BookToPublisherService BookElectronicOrderService 54 HUỲNH TẤN KHẢI Bước 7: Ta tính f(BookToPublisherService)=1, (BookElectronicOrderService)=20 Bước 8: Cả hai luật chưa có OPEN nên thêm chúng vào OPEN Bước 9: Quay lại Bước 2, chọn luật BookToPublisherService cho có giá trị hàm f tốt Quá trình lặp lại thỏa yêu cầu người dùng Kết có chuỗi luật tối ưu sau: BookToPublisherService • WaysOfOrderService • ElectronicOrderService • CustomsCostService • ShippingService Đây danh sách dịch vụ web thành phần dịch vụ web tổ hợp kết 2.4 Kết thực nghiệm Bảng Tập liệu thực nghiệm Số lượng Tập liệu Mô tả dịch vụ Travel Booking(TB) Gồm dịch vụ web cung cấp thông tin để phục 20 vụ việc đặt vé du lịch Book Store(BS) Gồm dịch vụ mua sách, toán trực tuyến 40 giao sách cho khách hàng Online Film Bao gồm dịch vụ hỗ trợ tìm kiếm, mua xem 60 Store(OFS) phim trực tuyến Medical Services Bao gồm dịch vụ cung cấp thông tin để tra cứu 80 (MS) bệnh viện, điều trị, thuốc men, v.v Education Bao gồm dịch vụ liên quan đến giáo dục 100 Services(EDS) học bổng, khóa học, cấp, v.v Trong phần này, chúng tơi trình bày kết thực nghiệm phương pháp tiếp cận Để đánh giá, chúng tơi thử nghiệm cách tiếp cận liệu thực thu từ dự án OWLS-TC [9] OWLS-TC cung cấp 1000 dịch vụ web ngữ nghĩa phân loại thành miền khác mô tả ngôn ngữ OWL-S Trong tập liệu này, chọn năm tập liệu với số lượng dịch vụ web nhóm dao động từ 20 đến 100 dịch vụ Bảng Bên cạnh đó, chúng tơi đánh giá so sánh với cách tiếp cận khác thấy hiệu cách tiếp cận Chúng tơi tiến hành kịch thử nghiệm dựa ba cách tiếp cận khác nhau, đặt tên Lược đồ tổ hợp đầy đủ dựa giải thuật di truyền (GA) [2]; Tổ hợp dịch vụ web dựa lập kế hoạch trí tuệ nhân tạo, đại diện khung thức PORSCE II [3]; cách tiếp cận – tổ hợp dịch vụ web dựa TRS Cách thứ cách tiếp cận điển hình với việc chọn tổ hợp tối ưu thuật tốn tối ưu hóa thuật toán di truyền Lưu ý rằng, hướng tiếp cận dựa lập kế hoạch giải ràng buộc mềm PORSCE II ngoại lệ Cách tiếp cận hỗ trợ hai ràng buộc: ràng buộc thuộc tính chức (ràng buộc cứng) ràng buộc thuộc tính QoS (ràng buộc mềm) Với tập liệu cách tiếp cận, chúng 55 ÁP DỤNG HỆ THỐNG VIẾT LẠI SỐ HẠNG ĐỂ TỔ HỢP chạy 10 yêu cầu người dùng khác với giá trị ngẫu nhiên thuộc tính QoS Giá trị thời gian thực thi lượng nhớ sử dụng thu thập Bảng 3, minh họa trực quan Hình Bảng Kết thực nghiệm đo theo thời gian xử lý (giây) lượng nhớ sử dụng (Kb) Hướng tiếp cận tổ hợp Sử dụng GA PORSCE II Dựa TRS Loại R buộc Cứng Mềm Cứng Mềm Cứng Mềm TB(20) Thời Bộ gian nhớ 0.50 6,539 2.51 10,427 0.02 6,293 0.04 4,257 1.25 4,307 BS(40) Thời Bộ nhớ gian 0.90 7,192 6.80 11,373 0.04 6,552 0.15 4,334 3.35 4,503 OFS(60) Thời Bộ nhớ gian 2.53 8,066 15.60 12,971 0.13 7,066 0.55 4,616 7.53 4,932 MS(80) Thời Bộ nhớ gian 5.59 9,521 32.85 15,172 0.85 7,801 1.25 4,850 15.25 5,210 EDS(100) Thời Bộ nhớ gian 11.20 11,348 75.85 19,391 3.70 8,818 4.33 5,528 33.25 6,288 Ràng buộc cứng (b) Ràng buộc mềm Hình Minh họa trực quan kết thực thời gian xử lý (giây) Kết luận Cách tiếp cận tổ hợp dịch vụ web đề cập báo cách tiếp cận hoàn toàn dựa lý thuyết viết lại số hạng (term rewriting) Phương pháp chuyển đổi dịch vụ web thành phần có sẵn thành luật kèm với thơng tin thuộc tính chức lẫn thuộc tính QoS Hệ thống có khả chọn luật tốt bước viết lại đạt biểu thức thỏa mãn yêu cầu người dùng Trong trình tổ hợp, phương pháp cho phép cập nhật số lượng dịch vụ mà không ảnh hưởng đến việc thực thi hệ thống Bên cạnh đó, nghiên cứu cho phép tổ hợp dịch vụ web đáp ứng ràng buộc cứng lẫn ràng buộc mềm Trong tương lai, để có hiệu suất tốt hơn, phương pháp mở rộng cách áp dụng chế lập mục (hoặc) phân cụm dịch vụ web để truy xuất dịch vụ web (hay luật) hiệu Việc tích hợp kỹ thuật khai phá liệu vào TRS xem hướng mở rộng tương lai nghiên cứu 56 HUỲNH TẤN KHẢI TÀI LIỆU THAM KHẢO [1] Q Z Sheng, X Qiao, A V Vasilakos, C Szabo, S Bourne, and X Xu, “Web services composition: A decades overview,” Information Sciences, vol 280, pp 218–238, 2014 [2] M AllamehAmiri, V Derhami, and M Ghasemzadeh, “Qos-based web service composition based on genetic algorithm,” Journal of AI and Data Mining, vol 1, no 2, pp 63–73, 2013 [3] O Hatzi, D Vrakas, and I Vlahavas, “The PORSCE II framework: Using AI planning for automated semantic web service composition,” The knowledge Engineering Review, vol 28, no 02, pp 137–156, 2013 [4] Y W M Maung and A A Hein, “Colored petri-nets (CPN) based model for web services composition,” IJCCER, vol 2, pp 169–172, 2014 [5] M Klusch, A Gerber, and M Schmidt, “Semantic web service composition planning with OWLS-XPlan,” in Proceedings of Semantic Web and Agents, AAAI Press, 2015 [6] H Jingjing, Z Wei, Z Xing, and Z Dongfeng, “Web service composition automation based on timed automata,” Appl Math, vol 8, no 4, pp 2017–2024, 2014 [7] M Bezem, J W Klop, and R de Vrijer, Term rewriting systems., Cambridge University Press, 2003 [8] F Baader and T Nipkow, Term rewriting and all that Cambridge university press, 1999 [9] M Klusch, “Owls-tc: Owl-s service retrieval test collection, version 2.1,” available at: http://projects.semwebcentral.org/projects/owls-tc/ THE APPLICATION OF TERM REWRITING SYSTEM TO AUTOMATIC WEB SERVICE COMPOSITION HUYNH TAN KHAI Quang Nam University Abstract: With the powerful advantages of web services compared to traditional ways to solve the problems such as platform-independence, reusability, deployment,…, the number of web services increases day by day Instead of developing a new software which satisfies the requirements, users can search for available appropriate web services Users can search and combine available web services in order to meet their requirements Therefore, the composition of web services that respond to users’ requirements is a problem that needs solving Composing web services automatically attracts much interest from researchers However, current methods have some limitations such as time consumption, inconsideration of the quality of services, The research in this paper proposes a new approach of basing on the Term Rewriting System (TRS) to automate the web service composition process Keywords: Term Rewriting System, Web service, Web service composition, Web service recycling 57 ... dựng hệ thống viết lại số hạng (Term Rewriting System – TRS) [7] để áp dụng vào việc tổ hợp dịch vụ web Để tăng tốc trình tổ hợp nhằm thỏa mãn yêu cầu chất lượng dịch vụ, sử dụng phương pháp tìm... vụ web tự động dựa hệ thống viết lại số hạng - TRS 2.3.1 Vấn đề tổ hợp dịch vụ web tốn TRS Trong phần 2.2., chúng tơi giới thiệu cách sử dụng TRS để rút gọn toán Vấn đề tổ hợp dịch vụ web vấn... khả tổ hợp dịch vụ web thỏa mãn yêu cầu cho trước cho phép thay đổi tập luật q trình tính tốn Trong báo này, đưa giải pháp áp dụng hệ thống viết lại số hạng (term rewriting) để tổ hợp dịch vụ web