Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 129 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
129
Dung lượng
2,38 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA HUỲNH TẤN KHẢI KẾT HỢP KHAI PHÁ DỮ LIỆU VÀ PHƯƠNG PHÁP HÌNH THỨC CHO BÀI TỐN TỔ HỢP VÀ KIỂM CHỨNG DỊCH VỤ WEB LUẬN ÁN TIẾN SĨ KỸ THUẬT TP HỒ CHÍ MINH NĂM 2018 ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA HUỲNH TẤN KHẢI KẾT HỢP KHAI PHÁ DỮ LIỆU VÀ PHƯƠNG PHÁP HÌNH THỨC CHO BÀI TỐN TỔ HỢP VÀ KIỂM CHỨNG DỊCH VỤ WEB Chuyên ngành: Khoa học máy tính Mã số chuyên ngành: 62.48.01.01 Phản biện độc lập 1: GS TS Nguyễn Thanh Thủy Phản biện độc lập 2: PGS TS Hồ Bảo Quốc Phản biện 1: PGS TS Đỗ Phúc Phản biện 2: PGS TS Trần Mạnh Hà Phản biện 3: PGS TS Dương Tuấn Anh NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS Quản Thành Thơ PGS TS Bùi Hoài Thắng LỜI CAM ĐOAN Tác giả xin cam đoan cơng trình nghiên cứu thân tác giả Các kết nghiên cứu kết luận luận án trung thực, không chép từ nguồn hình thức Việc tham khảo nguồn tài liệu (nếu có) thực trích dẫn ghi nguồn tài liệu tham khảo quy định Tác giả luận án Chữ ký Huỳnh Tấn Khải i TÓM TẮT LUẬN ÁN Tái sử dụng thành phần xem phương pháp phát triển nhanh phần mềm có nhiều ưu điểm sử dụng rộng rãi Kiến trúc hướng dịch vụ (SOA) kiến trúc phần mềm giúp xây dựng hệ thống CNTT thơng qua thành phần đóng gói dạng dịch vụ Do vậy, nói phương pháp phát triển phần mềm dựa tái sử dụng áp dụng SOA Dịch vụ Web dịch vụ mà chúng hoạt động giao tiếp sử dụng giao thức Internet Một dịch vụ Web cung cấp hồn chỉnh chức Tuy nhiên, dịch vụ đơn lẻ khơng phải lúc đáp ứng yêu cầu người dùng Do đó, tổ hợp dịch vụ Web vấn đề quan trọng kiến trúc hướng dịch vụ Tổ hợp dịch vụ Web tốn có độ phức tạp hàm mũ Để giảm độ phức tạp tính toán, cần sàng lọc dịch vụ ứng viên bước tổ hợp kỹ thuật khai phá liệu ứng dụng phương pháp tìm kiếm dựa heuristic Ngoài ra, để tổ hợp thỏa loại ràng buộc khác nhau, đặc biệt ràng buộc quan hệ thời gian dịch vụ, phương pháp hình thức cần áp dụng, phương pháp truyền thống lập kế hoạch kiểm tra ràng buộc Các đóng góp luận án tóm tắt sau: i Luận án đề xuất khung thức tổng quát cho toán tổ hợp thành phần phần mềm nói chung tổ dịch vụ Web nói riêng cách tự động ii Luận án đề xuất cách đặc tả hình thức cho dịch vụ Web mơ hình hóa thư viện dịch vụ dạng mơ hình LTS4WS Do đó, việc tổ hợp kiểm chứng thực theo phương pháp kiểm tra mơ hình iii Tiếp theo, luận án đưa giải pháp kiểm sốt vấn đề bùng nổ khơng gian trạng thái toán tổ hợp cách áp dụng phương pháp tìm kiếm heuristic lập mục dựa bit nhị phân iv Luận án đưa phương pháp gom cụm dịch vụ Web dựa luận lý nhằm hỗ trợ truy xuất dịch vụ cần cho việc tổ hợp v Cuối cùng, luận án xây dựng cơng cụ hồn chỉnh tên WSCOVER cho việc tổ hợp kiểm chứng tổ hợp dịch vụ Web tự động Từ khóa: Tổ hợp dịch vụ Web, kiểm chứng tổ hợp dịch vụ Web, gom cụm dịch vụ Web, WSCOVER, tìm kiếm tổ hợp dịch vụ Web dựa heuristic ii ABSTRACT Components Reuse is considered a method of the rapid software development approach that has many advantages and is widely used Service-Oriented Architecture (SOA) is a software architecture that helps build information technology systems through components that are packaged as services Thus, it can be said that component-based software development method are reused in SOA Web services are services which operate and communicate using Web protocols A Web service provides complete functionality However, a single Web service is unlikely to meet the user requirements Therefore, Web Service Composition is a very important issue in SOA Web service composition is a exponential complexity problem To reduce the complexity, we need to filter the candidate services at each composition step by using data mining techniques and applying the heuristic-based searching method In addition, in order to the composition satisfies different kinds of constraints, especially the temporal relationship constraint between services, the formal methods should be applied Because the traditional approaches such as planning can not check these constraints The main contributions of the thesis are summarized as follows i The thesis proposes a general framework for software component composition in general and Web service composition in particular ii The thesis proposes a formal specification for Web services and formalize the Web service repository as an LTS4WS model Based on this model, the Web service composition and verification is done by using the model checking technique iii Next, the thesis presents a solution to control the state space explosion problem of composition problem by applying the heuristic-based searching method and the bitwise-based indexing technique iv The thesis proposes a logic-based Web services clustering method to support the filtering of candidate services needed for the composition process v Finally, the thesis has built a complete tool called WSCOVER for composing and verifying the Web service composition automatically Keywords: Web service composition, Web service verification, Web clustering, WSCOVER, and Heuristic-based Web service composition searching iii LỜI CẢM ƠN Đầu tiên, xin gởi lời tri ân sâu sắc đến PGS TS Quản Thành Thơ TS Bùi Hồi Thắng, hai thầy tận tình hướng dẫn, định hướng động viên suốt thời gian học tập, nghiên cứu thực luận án Tôi xin chân thành cảm ơn Hiệu trưởng, Ban giám hiệu, phòng Sau đại học, Khoa Khoa học Kỹ thuật Máy tính, Bộ mơn Cơng nghệ phần mềm đồng nghiệp Trường Đại học Bách Khoa Tp Hồ Chí Minh hỗ trợ tơi q trình học tập, thực bảo vệ luận án Cuối cùng, tơi muốn bày tỏ lịng biết ơn sâu sắc đến Cha, Anh Chị, Vợ điểm tựa vững chắc, chăm sóc tiếp thêm nghị lực giúp tơi hồn thành tốt luận án Tp HCM, tháng năm 2017 Tác giả luận án iv MỤC LỤC LỜI CAM ĐOAN i TÓM TẮT LUẬN ÁN ii ABSTRACT iii LỜI CẢM ƠN iv MỤC LỤC v DANH MỤC CÁC HÌNH ẢNH ix DANH MỤC CÁC BẢNG BIỂU x DANH MỤC CÁC TỪ VIẾT TẮT xi CHƯƠNG GIỚI THIỆU Bối cảnh nghiên cứu 1.1.1 Vấn đề tái sử dụng thành phần 1.1.2 Bài toán tổ hợp dịch vụ Web Phát biểu vấn đề Câu hỏi nghiên cứu Mục tiêu nghiên cứu Những đóng góp nghiên cứu Tầm quan trọng nghiên cứu 11 Giới hạn nghiên cứu 12 Bố cục luận án 12 CHƯƠNG TÌNH HÌNH NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG 14 Tình hình nghiên cứu 14 2.1.1 Giới thiệu kiến trúc hướng dịch vụ 14 2.1.2 Tổ hợp dịch vụ Web 15 2.1.3 Kiểm chứng việc tổ hợp dịch vụ Web 19 2.1.4 Các đề xuất định hướng cho nghiên cứu 21 Kiến thức tảng 22 2.2.1 Các phương pháp hình thức 22 2.2.2 Khai phá liệu 26 2.2.3 Tìm kiếm dựa heuristic 28 Kết chương 31 v CHƯƠNG KHUNG THỨC TỔNG QUÁT TỔ HỢP THÀNH PHẦN PHẦN MỀM TỰ ĐỘNG 32 Đặc tả hình thức cho thành phần phần mềm 32 3.1.1 Đặc tả thành phần dựa luận lý bậc 32 3.1.2 Tính độ tương tự thành phần dựa luận lý bậc 33 3.1.3 Tổ hợp thành phần dựa lập kế hoạch trí tuệ nhân tạo 34 Khung thức tổ hợp thành phần phần mềm đề xuất 35 3.2.1 Thành phần xử lý giao diện người dùng 35 3.2.2 Chức tổ hợp thành phần 36 3.2.3 Chức lựa chọn thành phần 36 3.2.4 Thư viện đặc tả thành phần phần mềm 37 Thí nghiệm minh họa 37 Kết chương 39 CHƯƠNG TỔ HỢP VÀ KIỂM CHỨNG TỔ HỢP DỊCH VỤ WEB DỰA TRÊN KIỂM TRA MƠ HÌNH 41 Ví dụ động 41 Xây dựng mơ hình 43 4.2.1 Đặc tả hình thức cho dịch vụ Web 43 4.2.2 Quản lý thuộc tính chất lượng dịch vụ 48 4.2.3 Tổ hợp kiểm chứng dịch vụ dựa kiểm tra mơ hình 49 Áp dụng thực nghiệm 51 4.3.1 Minh họa thí nghiệm 51 4.3.2 Kết thực nghiệm 52 Kết chương 55 CHƯƠNG KIỂM SỐT BÙNG NỔ KHƠNG GIAN TRẠNG THÁI CHO BÀI TOÁN TỔ HỢP DỊCH VỤ WEB 56 Tìm kiếm heuristic cho toán tổ hợp dịch vụ Web 56 5.1.1 Tìm kiếm kiểm tra mơ hình 56 5.1.2 Các hàm xử lý tính tốn 57 5.1.3 Đánh giá hàm heuristic 59 5.1.4 Trường hợp thí nghiệm 60 Lập mục dịch vụ Web dựa bit nhị phân 60 5.2.1 Giới thiệu 60 vi 5.2.2 Phương pháp thực 61 5.2.3 Trường hợp thí nghiệm 66 Kết thực nghiệm 68 Kết chương 70 CHƯƠNG GOM CỤM CÁC DỊCH VỤ WEB DỰA TRÊN LUẬN LÝ 71 Ví dụ động 71 Gom cụm dịch vụ Web dựa luận lý 76 6.2.1 Biểu diễn luận lý dịch vụ Web 76 6.2.2 Độ tương tự dịch vụ Web dựa luận lý 76 6.2.3 Gom cụm dịch vụ Web dựa luận lý 80 6.2.4 Hướng tiếp cận gom cụm kiểm soát chất lượng cụm dịch vụ Web 85 Kết thực nghiệm 87 6.3.1 Điều chỉnh tham số cho việc gom cụm 88 6.3.2 Đánh giá chất lượng phương pháp gom cụm 89 6.3.3 Đánh giá hiệu suất toán tổ hợp kiểm chứng dịch vụ Web 90 6.3.4 Tác động chất lượng gom cụm lên kết tổ hợp dịch vụ Web 92 Kết chương 92 CHƯƠNG CÔNG CỤ TỔ HỢP VÀ KIỂM CHỨNG TỔ HỢP DỊCH VỤ WEB TỰ ĐỘNG WSCOVER 94 Chức WSCOVER 94 7.1.1 Tổ hợp kiểm chứng theo cách on-the-fly 94 7.1.2 Tổ hợp dịch vụ Web có định hướng heuristic 95 7.1.3 Gom cụm dịch vụ Web dựa luận lý 95 Kiến trúc WSCOVER 96 7.2.1 Tầng tiền xử lý 96 7.2.2 Tầng xử lý tổ hợp kiểm chứng 97 7.2.3 Tầng giao diện người dùng 97 So sánh WSCOVER với công cụ có 98 Minh họa công cụ WSCOVER 101 7.4.1 Ví dụ minh họa 101 7.4.2 Kết thực nghiệm so sánh với công cụ khác 102 Kết chương 103 vii CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 104 Kết luận 104 Hướng phát triển 105 8.2.1 Xử lý vấn đề ngữ nghĩa dịch vụ Web dựa ontology 105 8.2.2 Khai thác thư viện dịch vụ Web với phương pháp khai phá liệu khác 105 8.2.3 Áp dụng mơ hình xác suất học máy việc xử lý thư viện dịch vụ Web 106 8.2.4 Cho phép đặc tả yêu cầu người dùng dạng ngôn ngữ tự nhiên 106 8.2.5 Một số hướng nghiên cứu mở rộng khác 106 DANH MỤC CƠNG TRÌNH ĐÃ CƠNG BỐ 107 CÁC ĐỀ TÀI NGHIÊN CỨU KHOA HỌC ĐÃ THAM GIA THỰC HIỆN 109 TÀI LIỆU THAM KHẢO 110 viii đồ tổ hợp trước VeriWS [16] hay AgFlow [75] Cuối cùng, WSCOVER tích hợp nhiều kỹ thuật giúp cải thiện hiệu suất trình xử lý áp dụng cho thư viện dịch vụ kích thước lớn mà cơng cụ khác khơng có, chẳng hạn tìm kiếm heuristic, lập mục dịch vụ dựa bit nhị phân đặc biệt phương pháp gom cụm dịch vụ Web dựa luận lý Minh họa cơng cụ WSCOVER 7.4.1 Ví dụ minh họa Bảng 7-2 Các yêu cầu minh họa kết tương ứng [CT10] # Yêu cầu người dùng R1 TOB ⊨ reach(Date ∧ Sightseeing → Price ∧ HotelReservation) LbC HS R3 TOB ⊨ G((Dates ∧ Sightseeing → Price ∧ HotelReservation) ∧ (¬HotelReservation U Price)) R4 TOB ⊨ G((Dates ∧ Sightseeing → Price ∧ HotelReservation) ∧ (respTime ≤ 30) ∧ (¬HotelReservation U Price)) UM Kết tổ hợp 30 8,693 121 13 21 8,675 101 26 37 8,642 33 18 7,319 3,371 338 35 9,801 341 35 25 9,214 1,405 352 33 8,055 61 16 13 7,326 881 89 82 131 14 20 237 60 30 8,979 SCH ● HP ● 8,958 HR 7,257 37 10 11 7,185 ET 26 VS 251 R2 TOB ⊨ reach((Date ∧ Sightseeing → Price ∧ HotelReservation) ∧ (respTime ≤ 30)) ES 10,911 1,092 341 35 3,029 758 113 29 SCH ● HR ● HP SC ● CH ● HR ● HP 89 11,471 SC ● CH ● 12 10,796 HP ● HR 91 10,452 8,957 Trong phần này, chúng tơi trình bày số ví dụ minh họa thấy chức cách làm việc WSCOVER Tình nghiệp vụ cho ví dụ minh họa chúng tơi sau: Chúng ta có kho gồm 10 dịch vụ Web Bảng 1-1 người dùng muốn sử dụng dịch vụ để đặt chuyến du lịch trực tuyến (Travel Online Booking – TOB) Bảng 7-2 trình bày số yêu cầu kết tổ hợp tương ứng Đối với yêu cầu, đánh giá hiệu suất công cụ WSCOVER dựa bốn kịch bản: sử dụng gom cụm dựa luận lý (Logic-based Clustering – LbC) tìm kiếm heuristic (Heuristic Search – HS); sử dụng tìm kiếm heuristic khơng 101 sử dụng gom cụm; sử dụng gom cụm không sử dụng tìm kiếm heuristic; khơng sử dụng hai Bên cạnh kết tổ hợp, thu thập thông số hệ thống thấy hiệu chức công cụ Thông tin hệ thống bao gồm số trạng thái mở rộng (Expanded States – ES), số trạng thái duyệt (Visited States – VS), thời gian xử lý (Execution Time – ET) theo mili-giây (ms) lượng nhớ sử dụng (Used Memory – UM) tính kilobyte (KB) Những yêu cầu bao gồm ràng buộc chức (hoặc) ràng buộc chất lượng Ngoài ra, số yêu cầu có ràng buộc mối quan hệ thời gian dịch vụ Web 7.4.2 Kết thực nghiệm so sánh với công cụ khác Trong phần này, trình bày kết thực nghiệm so sánh WSCOVER với cơng cụ có, gồm PORSCE II [19] GA-based [35], hai công cụ đề cập Phần 7.3 Ở đây, không thực so sánh với cơng cụ OWLSXPlan [18] chất, cơng cụ có phương pháp xử lý giống với PORSCE II, thực việc tổ hợp dựa kỹ thuật lập kế hoạch PORSCE II xem mở rộng, cải tiến công cụ OWLS-XPlan Để chạy thực nghiệm so sánh, sử dụng liệu lấy từ dự án OWLS-TC [69] với tập có quy mô từ 20 đến 1000 dịch vụ Bảng 4-1 Chúng chạy công cụ máy tính với xử lý i5-5200 (4x2.7 Ghz), nhớ RAM 8.0 Gb sử dụng hệ điều hành Windows 64-bit Kết thực nghiệm đánh giá ba khía cạnh: số trạng thái mở rộng, số trạng thái duyệt thời gian xử lý Chúng thiết lập ngưỡng giới hạn thời gian xử lý (timeout) cho yêu cầu 600,000 mili-giây (10 phút) Kết thực nghiệm phân tích dạng thống kê Bảng 7-3 so sánh trực quan Hình 7-4 Bảng 7-3 Kết thực nghiệm so sánh công cụ Tập liệu Công cụ Thời gian xử lý (ms) TB (20) MS (50) EDS (100) ECS (200) Global (1000) PORSCE II [19] 250 1,008 5,570 28,198 timeout GA-based [35] 410 1,820 14,579 123,030 timeout WSCOVER 106 561 3,008 15,664 260,983 19,211 25,769 44,873 88,381 timeout 21,314 30,257 73,177 177,622 timeout 17,319 23,298 36,824 76,586 307,441 Dung lượng PORSCE II [19] nhớ sử GA-based [35] dụng (KB) WSCOVER 102 Kết thực nghiệm cho thấy hiệu công cụ WSCOVER Cơ chế gom cụm dịch vụ dựa luận lý giúp WSCOVER thu giảm số trạng thái phải mở rộng Phương pháp tìm kiếm heuristic WSCOVER chọn trạng thái tốt để duyệt qua không gian trạng thái bước tổ hợp Cần lưu ý để thực với công cụ PORCSE II GA-based, kịch thực nghiệm bỏ qua ràng buộc có yếu tố thời gian công cụ thực việc tổ hợp với loại ràng buộc thời gian 140,000 120,000 100,000 80,000 60,000 40,000 20,000 200,000 150,000 100,000 50,000 TB (20) PORSCE II MS (50) EDS (100) ECS (200) GA-based WSCOVER TB (20) PORSCE II (a) Thời gian xử lý (ms) MS (50) EDS (100) ECS (200) GA-based WSCOVER (b) Dung lượng nhớ sử dụng Hình 7-4 So sánh trực quan công cụ tổ hợp dịch vụ Web Kết chương Trong chương này, trình bày cơng cụ WSCOVER, cơng cụ hỗ trợ việc tổ hợp kiểm chứng dịch vụ Web cách tự động WSCOVER cho phép kiểm chứng kết hợp loại ràng buộc ràng buộc chức năng, ràng buộc chất lượng ràng buộc có yếu tố thời gian dịch vụ Công cụ tích hợp phương pháp tìm kiếm heuristic lẫn kỹ thuật lập mục dựa bit nhị phân để kiểm sốt bùng nổ khơng gian trạng thái thi thực tổ hợp Bên cạnh đó, để phù hợp với kho dịch vụ quy mơ lớn, WSCOVER cịn tích hợp phương pháp gom cụm dịch vụ dựa luận lý Điều giúp cho WSCOVER làm việc với kho dịch vụ quy mô lớn mà công cụ khác xử lý Kết thực nghiệm thư viện dịch vụ trở nên lớn (chẳng hạn từ 1000 dịch vụ Web trở lên) có cơng cụ WSCOVER xử lý trả kết tổ hợp Các cơng trình cơng bố có liên quan đến cơng việc chương gồm [CT8], [CT10] WSCOVER xem công cụ thực hóa cho ý tưởng, lý thuyết trình bày luận án Tất tài liệu hướng dẫn liệu thực nghiệm tải từ liên kết http://cse.hcmut.edu.vn/~save/project/wscover/ Phiên trực tuyến WSCOVER cài đặt địa chỉ: http://www.cse.hcmut.edu.vn/wscover/ 103 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Thông qua luận án này, xây dựng thành công phương pháp tổ hợp kiểm chứng dịch vụ Web cách tự động Việc tổ hợp đáp ứng loại ràng buộc khác ràng buộc chức năng, ràng buộc chất lượng ràng buộc quan hệ thời gian dịch vụ Để thực việc tổ hợp khắc phục vấn đề mà toán tổ hợp gây ra, chúng tơi kết hợp phương pháp hình thức với phương pháp khai phá liệu Phương pháp hình thức, mà cụ thể phương pháp kiểm tra mơ hình, giúp kiểm chứng loại ràng buộc kể trên, đặc biệt ràng buộc quan hệ thời gian, theo cách on-the-fly Kỹ thuật gom cụm khai phá liệu giúp gom cụm truy xuất dịch vụ mà cần cho q trình tổ hợp Ngồi ra, chúng tơi đề xuất áp dụng phương pháp tìm kiếm heuristic trình tổ hợp giúp thu kết tổ hợp nhanh hơn, tối ưu Các đóng góp luận án tổng kết lại sau: (a) Luận án đề xuất khung thức tổng quát cho toán tổ hợp tái sử dụng thành phần phần mềm cách tự động Khung thức bao gồm tất chức từ quản lý lưu trữ, gom cụm thành phần; tiếp nhận xử lý yều cầu tổ hợp từ người dùng với loại ràng buộc khác (b) Luận án đề xuất cách biểu diễn hình thức cho dịch vụ Web mơ hình hóa thư viện dịch vụ dạng mơ hình LTS4WS Thơng qua mơ hình này, việc tổ hợp kiểm chứng thực phương pháp kiểm tra mơ hình Kết tìm tổ hợp thỏa mãn đồng thời loại ràng buộc khác (c) Tiếp theo, luận án đưa giải pháp kiểm soát vấn đề bùng nổ khơng gian trạng thái tìm kiếm cho tốn tổ hợp, sử dụng tìm kiếm heuristic Luận án xây dựng hàm tính chi phí heuristic dựa đặc trưng dịch vụ Với phương pháp này, kết tổ hợp tối ưu, thời gian tài nguyên hệ thống giảm đáng kể vét cạn khơng gian trạng thái Ngồi ra, luận án đề xuất phương pháp lập mục dựa bit nhị phân cho dịch vụ Web, giúp tối ưu việc tính tốn chi phí heuristic trạng thái 104 (d) Luận án đề xuất cách tiếp cận gom cụm dịch vụ Web dựa luận lý Cách tiếp cận có đóng góp cụ thể là: (1) Đưa cách biểu diễn dịch vụ cụm dịch vụ biểu thức luận lý; (2) Đề xuất cách tính độ tương tự dịch vụ dựa biểu thức luận lý; (3) Phương pháp gom cụm dựa luận lý giúp cho việc lựa chọn cụm bước tổ hợp đảm bảo tính tính đầy đủ (e) Luận án xây dựng cơng cụ hồn chỉnh có tên WSCOVER cho việc tổ hợp kiểm chứng tổ hợp dịch vụ Web tự động Đây đóng góp mang tính thực tế, sản phẩm cuối cùng, thực cho lý thuyết mà xây dựng Hướng phát triển Đối với công việc tương lai, nghiên cứu nhiều vấn đề cần xem xét, phát triển Chi tiết hướng mở rộng, phát triển cho nghiên cứu là: 8.2.1 Xử lý vấn đề ngữ nghĩa dịch vụ Web dựa ontology Trong luận án này, độ tương tự dịch vụ Web đánh giá dựa độ tương tự biểu thức luận lý đại diện Các mệnh đề biểu thức xây dựng từ thuộc tính chức Trong thực tế, thuộc tính có nhiều tên gọi khác nhau, thuộc tính khác lại có mối quan hệ với Vấn đề thường gặp thực tế, gọi xử lý ngữ nghĩa khái niệm [76] Đã có nhiều nghiên cứu cách tính độ tương tự dịch vụ Web theo ngữ nghĩa, sử dụng ontology [19], [74], [77] Tuy nhiên, luận án này, chưa áp dụng khía cạnh ngữ nghĩa vào việc tính độ tương tự dịch vụ Đây công việc luận án tương lai gần 8.2.2 Khai thác thư viện dịch vụ Web với phương pháp khai phá liệu khác Để truy xuất kho liệu dịch vụ, luận án áp dụng phương pháp gom cụm liệu Hai phương pháp gom cụm liệu phổ biến áp dụng k-means HAC Ngoài ra, luận án đề xuất phương pháp gom cụm kiểm soát chất lượng cách kết hợp k-means HAC để tận dụng điểm mạnh chúng Tuy nhiên, lĩnh vực khai phá liệu nói chung gom cụm liệu nói riêng, có nhiều phương pháp kỹ thuật khác [78], [79] Vì vậy, để có giải pháp hiệu nhất, cần áp dụng, thử nghiệm đánh giá phương pháp cho nghiên cứu luận án 105 8.2.3 Áp dụng mơ hình xác suất học máy việc xử lý thư viện dịch vụ Web Bên cạnh việc áp dụng phương pháp gom cụm, việc áp dụng mơ hình xác suất [6] học máy [80] xem cách tiếp cận xử lý, khai thác liệu, đặc biệt bối cảnh Big Data Đây cách tiếp cận truy xuất kho dịch vụ Web hoàn toàn khác hẳn với cách tiếp cận gom cụm trình bày luận án Vì vậy, hứa hẹn hướng nghiên cứu mở rộng tiềm cho công việc luận án 8.2.4 Cho phép đặc tả yêu cầu người dùng dạng ngôn ngữ tự nhiên Như đề cập từ Chương 1, xu hướng công nghệ phần mềm viết mã lập trình ngơn ngữ tự nhiên (Code as NLP) [7] Vì vậy, yêu cầu người dùng nên cung cấp dạng ngôn ngữ tự nhiên Cơng cụ tổ hợp cần có chế hiểu phân tích yêu cầu chuyển chúng thành đặc tả tương ứng Đã có nhiều nghiên cứu đơn lẻ vấn đề việc mơ hình hóa khái niệm u cầu dựa ngơn ngữ tự nhiên [81], phân tích ngữ nghĩa yêu cầu phần mềm dựa ngôn ngữ tự nhiên [82], … Tuy nhiên, việc phân tích yêu cầu người dùng dạng ngôn ngữ tự nhiên chuyển chúng thành biểu thức luận lý cách tự động thách thức mà chưa nghiên cứu thực Vấn đề xem hướng mở rộng tương lai công việc luận án 8.2.5 Một số hướng nghiên cứu mở rộng khác Ngoài hướng phát triển nêu trên, tương lai, nghiên cứu luận án mở rộng với cơng việc cụ thể sau: Mở rộng chức phân tích mơ tả dịch vụ Web WSCOVER cho phép xử lý với ngôn ngữ mô tả dịch vụ khác, chẳng hạn WSDL [12], RSDL [13] Phương pháp gom cụm trình bày luận án sử dụng độ đo độ tương tự bên cụm để đánh giá chất lượng gom cụm Chúng ta nghiên cứu, áp dụng thêm độ đo chất lượng gom cụm khác đánh giá độ biến động cụm Khi triển khai toán tổ hợp dịch vụ Web vào thực tế, cần phải xem xét, giải thêm loại ràng buộc sách sử dụng, trạng thái máy chủ dịch vụ ràng buộc sách thương mại khác 106 DANH MỤC CƠNG TRÌNH ĐÃ CƠNG BỐ Tạp chí chun ngành quốc tế [CT1] H T Khai, Q T Tho and B H Thang, “A bitwise-based indexing and heuristic-driven on-the-fly approach for Web service composition and verification,” Vietnam Journal of Computer Science (VJCS), vol 4, no 2, pp 111-126, 2016 [CT2] H T Khai, Q T Tho and B H Thang, “A Quality-Controlled Logic-based Clustering Approach for Web Service Composition and Verification,” International Journal of Web Information Systems (IJWIS), vol 13, no 2, pp 173-198, 2017 (Scopus, ESCI) [CT3] H T Khai, B H Thang and Q T Tho, "One Size Does Not Fit All: Logicbased Clustering for On-the-fly Semantic Web Service Composition and Verification," International Journal of Web and Grid Services (IJWGS), vol 14, no 3, pp 237-272, 2017 (SCI-E) Tạp chí chuyên ngành nước [CT4] H T Khai, N M Thong, B H Thang and Q T Tho, “A framework for automatic search and reusage of API functions based on formal specification,” Tạp chí Khoa học Trường Đại học Cần Thơ, Số chuyên đề: Công nghệ Thông tin (2013), pp 152-161, 2013 [CT5] H T Khai, B H Thang and Q T Tho, “On-the-fly Web Service Composition and Verification”, Journal of Science and Technology, Vietnam Academy of Science and Technology, vol 53, no 2, pp 74-89, 2015 Hội thảo chuyên ngành quốc tế [CT6] H T Khai, B H Thang and Q T Tho, “A Lightweight Formal Approach for Component Reuse,” in Knowledge and Systems Engineering (KSE’14), Springer, Ha Noi, Viet Nam, 2014, pp 513-524 107 [CT7] H T Khai, Q T Tho and B H Thang, “Fast and formalized: Heuristicsbased on-the-fly web service composition and verification,” in Information and Computer Science (NICS), 2015 2nd National Foundation for Science and Technology Development Conference on, IEEE, Ho Chi Minh, Viet Nam, 2015, pp 174-179 [CT8] H T Khai, B H Thang, and Q T Tho, “Instance-based web services composition and verification,” in 2015 International Conference on Communications, Management and Telecommunications (ComManTel), IEEE, Da Nang, Viet Nam, 2015, pp 245-259 [CT9] H T Khai, P T T Van, Q T Tho, and B H Thang, “Web Service Composition Automation Based on Term Rewriting System,” in 2015 International Conference on Advanced Computing and Applications (ACOMP), IEEE, Ho Chi Minh, Viet Nam, 2015, pp 43-50 [CT10] H T Khai, B H Thang and Q T Tho, “WSCOVER: A Tool for Automatic Composition and Verification of Web Services Using Heuristic-Guided Model Checking and Logic-Based Clustering,” in International Workshop on Multi-disciplinary Trends in Artificial Intelligence, Springer, Bangkok, Thailand, 2016, pp 50-62 [CT11] H T Khai, Q T Tho and B H Thang, “Smaller to sharper: efficient web service composition and verification using on-the-fly model checking and logic-based clustering,” in International Conference on Computational Science and Its Applications, Springer, Beijing, China, 2016, pp 453-468 [CT12] H T Khai, B H Thang and Q T Tho, “An Application of Bitwise-based Indexing to Web Service Composition and Verification,” in 2016 International Conference on Advanced Computing and Applications (ACOMP), IEEE, Can Tho, Viet Nam, 2016, pp 51-58 108 CÁC ĐỀ TÀI NGHIÊN CỨU KHOA HỌC ĐÃ THAM GIA THỰC HIỆN Tên đề tài Mã số đề tài Năm thực Cấp quản lý Vai trò Kết tham gia nghiệm thu Xây dựng khung TNCS2013thức tìm kiếm 20132014 sử dụng hàm KHMT-11 API tự động dựa đặc tả hình thức Cấp trường Chủ trì Tốt Nghiên cứu đề xuất phương pháp tổ hợp dịch vụ Web với điều kiện ràng buộc hướng thời gian TNCS201420142015 KHMT-04 Cấp trường Chủ trì (Đề tài đề án 911) Tốt Cách tiếp cận hạng nhẹ áp dụng đặc tả hình thức vào trình phát triển phần mềm C2015-20- 2015 10 ĐHQG Đã báo cáo kỳ 109 Tham gia TÀI LIỆU THAM KHẢO [1] D Chong and H Shi, "Big data analytics: a literature review," Journal of Management Analytics, vol 2, pp 175-201, 2015 [2] A McAfee, E Brynjolfsson and T H Davenport, "Big data: the management revolution," Harvard business review, vol 90, no 10, pp 60-68, 2012 [3] R DeLine, "Research opportunities for the big data era of software engineering," in Big Data Software Engineering (BIGDSE), 2015 IEEE/ACM 1st International Workshop on IEEE, 2015 [4] "Github," [Online] Available: https://github.com/ [Accessed 2017] [5] "Atlassian bitbucket," [Online] Available: https://www.codeplex.com/ [Accessed 2017] [6] P Bielik, V Raychev and M Vechev, "Programming with "Big Code": Lessons, Techniques and Applications," LIPIcs-Leibniz International Proceedings in Informatics, vol 32, pp 41-50, 2015 [7] A Hindle, E T Barr, M Gabel, Z Su and P Devanbu, "On the naturalness of software," Communications of the ACM, vol 59, no 5, pp 122-131, 2016 [8] E C Foster, "Introduction to Software Engineering," in Software Engineering: A Methodical Approach, Berkeley, CA, Apress, 2014, pp 3-20 [9] M P Papazoglou and W J Van Den Heuvel, "Service oriented architectures: approaches, technologies and research issues," The VLDB journal, vol 16, no 3, pp 389-415, 2007 [10] S Mumbaikar and P Padiya, "Web services based on soap and rest principles," International Journal of Scientific and Research Publications, vol 3, no 5, pp 1-4, 2013 [11] D Martin, M Burstein, J Hobbs, O Lassila, D McDermott, S McIlraith, S Narayanan, M Paolucci, B Parsia and T Payne, "OWL-S: Semantic markup for web services," W3C member submission, vol 22, pp 2007-04, 2004 [12] E Christensen, F Curbera, G Meredith and S Weerawarana, Web services description language (WSDL) 1.1, Citeseer, 2001 [13] J Robie, R Cavicchio, R Sinnema and E Wilde, "RESTful Service Description Language (RSDL), Describing RESTful services without tight coupling," in Balisage: The Markup Conference, 2013, pp 6-9 [14] R Yin, "Study of composing web service based on SOA," Proceedings of the 2nd International Conference on Green Communications and Networks 2012 (GCN 2012): Volume 2, vol 2, pp 209-214, 2013 110 [15] Q Z Sheng, X Qiao, A V Vasilakos, C Szabo, S Bourne and X Xu, "Web services composition: A decade’s overview," Information Sciences, vol 280, pp 218-238, 2014 [16] M Chen, T H Tan, J Sun, Y Liu and J S Dong, "VeriWS: a tool for verification of combined functional and non-functional requirements of web service composition," in Companion Proceedings of the 36th International Conference on Software Engineering, ACM, 2014 [17] M Huth and M Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, New York: Cambridge University Press, 2004 [18] M Klusch, A Gerber and M Schmidt, "Semantic web service composition planning with OWLS-Xplan," in AAAI Fall Symposium on Semantic Web and Agents, USA, 2005 [19] O Hatzi, D Vrakas, N Bassiliades and I Vlahavas, "The PORSCE II framework: Using AI planning for automated semantic web service composition," The Knowledge Engineering Review, vol 28, no 2, pp 137-156, 2013 [20] T B Ho, S Taewijit, Q B Ho and H C Dam, "Chapter 7: Big data and service science," in Progressive Trends in Knowledge and System-Based Science for Service Innovation, IGI Global, 2014, pp 128-144 [21] W Fan and A Bifet, "Mining big data: current status, and forecast to the future," ACM sIGKDD Explorations Newsletter, vol 14, no 2, pp 1-5, 2013 [22] B T Kumara, I Paik, W Chen and K H Ryu, "Web Service Clustering using a Hybrid Term-Similarity Measure with Ontology Learning," International Journal of Web Services Research (IJWSR), vol 11, no 2, pp 24-45, 2014 [23] E M Clarke, E A Emerson and A P Sistla, "Automatic verification of finitestate concurrent systems using temporal logic specifications," ACM Transactions on Programming Languages and Systems, vol 8, no 2, pp 244-263, 1986 [24] A M Valle, E A Santos and E Loures, "Applying Process Mining Techniques in Software Process Appraisals," Information and Software Technology, 2017 [25] S Wang, T Liu and L Tan, "Automatically learning semantic features for defect prediction," in Proceedings of the 38th International Conference on Software Engineering, 2016 [26] C Löding, P Madhusudan and D Neider, "Abstract learning frameworks for synthesis," in International Conference on Tools and Algorithms for the Construction and Analysis of Systems, 2016 [27] J Zhou and R J Walker, "API deprecation: a retrospective analysis and detection method for code examples on the web," in Proceedings of the 24th 111 ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2016 [28] N H Rostami, E Kheirkhah and M Jalali, "Web services composition methods and techniques: A review," International Journal of Computer Science, Engineering & Information Technology, vol 6, no 3, pp 15-29, 2013 [29] W L Dong, H Yu and Y B Zhang, "Testing bpel-based web service composition using high-level petri nets," in Enterprise Distributed Object Computing Conference (EDOC'06), IEEE, 2006, pp 441-444 [30] D Jordan, J Evdemon, A Alves, A Arkin, S Askary, C Barreto, B Bloch, F Curbera, M Ford, Y Goland and others, "Web services business process execution language version 2.0," OASIS standard, vol 11, no 120, p 5, 2007 [31] R Hamadi and B Benatallah, "A Petri net-based model for web service composition," in Proceedings of the 14th Australasian database conference, Volume 17, Australian Computer Society, Inc., 2003, pp 191-200 [32] R Wang, C Guttula, M Panahiazar, H Yousaf, J A Miller, E T Kraemer and J C Kissinger, "Web Service Composition using Service Suggestions," in Services (SERVICES), 2011 IEEE World Congress on, 2011 [33] L A Cotfas, A Diosteanu and I Smeureanu, "Fractal web service composition framework," in Communications (COMM), 2010 8th International Conference on IEEE, 2010 [34] D McDermott, M Ghallab, A Howe, C Knoblock, A Ram, M Veloso, D Weld and D Wilkins, "PDDL-the planning domain definition language," 1998 [35] 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 [36] T H Tan, M Chen, É André, J Sun, Y Liu and J S Dong, "Automated runtime recovery for QoS-based service composition," in Proceedings of the 23rd international conference on World wide web, ACM, 2014 [37] A K Tripathy, M R Patra, M A Khan, H Fatima and P Swain, "Dynamic web service composition with qos clustering," in Web Services (ICWS), 2014 IEEE International Conference on, IEEE, 2014 [38] C Y Zhao, J L Wang, J Qin and W Q Zhang, "An Optimized Semantic Web Service Composition Method Based on Clustering and Ant Colony Algorithm," Open Cybern Syst J, vol 8, pp 146-154, 2014 [39] H Foster, S Uchitel, J Magee and J Kramer, "Ws-engineer: A model-based approach to engineering web service compositions and choreography," in Test and Analysis of Web Services, Springer, 2007, pp 78-119 112 [40] J Tretmans, "Model based Testing with Labelled Transition Systems," in Formal methods and testing, Springer, 2008, pp 1-38 [41] Y Qian, Y Xu, Z Wang, G Pu, H Zhu and C Cai, "Tool support for BPEL verification in ActiveBPEL engine," in Software Engineering Conference, 2007 ASWEC 2007 18th Australian, 2007 [42] S Koizumi and K Koyama, "Workload-aware business process simulation with statistical service analysis and timed petri net," in Web Services, 2007 ICWS 2007 IEEE International Conference on IEEE, 2007 [43] C K Fung, P C Hung, G Wang, R C Linger and G H Walton, "A study of service composition with QoS management," in Web Services, 2005 ICWS 2005 Proceedings 2005 IEEE International Conference on IEEE, 2005 [44] H Xiao, B Chan, Y Zou, J W Benayon, B O'Farrell, E Litani and J Hawkins, "A framework for verifying sla compliance in composed services," in Web Services, 2008 ICWS'08 IEEE International Conference on IEEE, 2008 [45] E M Clarke and J M Wing, "Formal methods: State of the art and future directions," ACM Computing Surveys (CSUR), vol 28, no 4, pp 626-643, 1996 [46] B Randell and C Babbage, "The Origin of Digital Computers," in Institute of Mathematics and its Applications, Springer-Verlag, 1973, pp 335-346 [47] C A R Hoare, "An axiomatic basis for computer programming," Communications of the ACM, vol 12, no 10, pp 576-580, 1969 [48] O Legunsen, W U Hassan, X Xu, G Rosu and D Marinov, "How good are the specs? a study of the bug-finding effectiveness of existing Java API specifications," in Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, 2016 [49] D Bjorner and K Havelund, "40 years of formal methods," in International Symposium on Formal Methods, Springer, 2014, pp 42-61 [50] P Bjesse, "What is formal verification?," ACM SIGDA Newsletter, vol 35, no 24, p 1, 2005 [51] C Baier, J P Katoen and K G Larsen, Principles of model checking, MIT Press, 2008 [52] S Edelkamp and S Schroedl, "Chapter 16: Automated System Verification, Part V: Heuristic Search Applications," in Heuristic search: theory and applications, Elsevier, 2011, pp 701-733 [53] J Han, J Pei and M Kamber, "Chapter 1: Introduction," in Data mining: concepts and techniques, Elsevier, 2011, p [54] R Kumar and R Verma, "Classification algorithms for data mining: A survey," International Journal of Innovations in Engineering and Technology (IJIET), vol 1, no 2, pp 7-14, 2012 113 [55] J Han, J Pei and M Kamber, "Chapter 10: Cluster Analysis: Basic Concepts and Methods," in Data mining: concepts and techniques, Elsevier, 2011, p 444 [56] H Kalia, S Dehuri and A Ghosh, "A survey on fuzzy association rule mining," International Journal of Data Warehousing and Mining (IJDWM), vol 9, no 1, pp 1-27, 2013 [57] A K Jain, "Data clustering: 50 years beyond K-means," Pattern recognition letters, vol 31, no 8, pp 651-666, 2010 [58] J G Sun, J Liu and L Y Zhao, "Clustering algorithms research," Journal of software, vol 19, no 1, pp 48-61, 2008 [59] S Edelkamp and S Schroedl, "Chapter 1: Introduction," in Heuristic search: theory and applications, Elsevier, 2011, pp 3-18 [60] P E Hart, N J Nilsson and B Raphael, "A formal basis for the heuristic determination of minimum cost paths," IEEE transactions on Systems Science and Cybernetics, vol 4, no 2, pp 100-107, 1968 [61] R E Korf, "Linear-space best-first search," Artificial Intelligence, vol 61, no 1, pp 41-78, 1993 [62] B Bonet and H Geffner, "Planning as heuristic search," Artificial Intelligence, vol 129, no 1, pp 5-33, 2001 [63] I Rish, "An empirical study of the naive Bayes classifier," IJCAI 2001 workshop on empirical methods in artificial intelligence, vol 3, no 22, pp 41-46, 2001 [64] S Russell, "Chapter 11: Planning and Acting in the Real World," in Artificial intelligence: A modern approach, 3rd edition, Pearson Education Limited, 2014, pp 408-444 [65] R E Fikes and N J Nilsson, "STRIPS: A new approach to the application of theorem proving to problem solving," Artificial intelligence, vol 2, no 3, pp 189-208, 1971 [66] L De Moura and N Bjorner, "Z3: An efficient SMT solver," in International conference on Tools and Algorithms for the Construction and Analysis of Systems, Springer, 2008, pp 337-340 [67] J W Klop, "Term rewriting systems," Handbook of logic in computer science, vol 2, pp 1-116, 1992 [68] Y Liu, J Sun and J S Dong, "Developing model checkers using PAT," in International symposium on automated technology for verification and Analysis, Springer, 2010, pp 371-377 [69] M Klusch and others, "OWLS-TC: OWL-S service retrieval test collection, version 2.1," [Online] Available: http://projects.semwebcentral.org/projects/owls-tc/ [Accessed 2017] 114 [70] V Gabrel, M Manouvrier and C Murat, "Web services composition: complexity and models," Discrete Applied Mathematics, vol 196, pp 100-114, 2015 [71] J Lee, "Matching algorithms for composing business process solutions with web services," E-Commerce and Web Technologies, pp 393-402, 2003 [72] R G Michael and S J David, Computers and intractability: a guide to the theory of NP-completeness, New York: W H Freeman, 1979 [73] R Sedgewick, "Implementing quicksort programs," Communications of the ACM, vol 21, no 10, pp 847-857, 1978 [74] L Xie, F Chen and J Kou, "Ontology-based semantic web services clustering," in Industrial Engineering and Engineering Management (IE&EM), 2011 IEEE 18Th International Conference on, IEEE, 2011, pp 2075-2079 [75] L Zeng, B Benatallah, A H Ngu, M Dumas, J Kalagnanam and H Chang, "QoS-aware middleware for web services composition," IEEE Transactions on software engineering, vol 30, no 5, pp 311-327, 2004 [76] B Shobhana and R Radhakrishnan, "Estimation of semantic similarity between concepts and fuzzy rules optimization with modified genetic algorithm (MGA)," IIOAB journal, vol 7, no 7, pp 52-60, 2016 [77] M Klusch, S Schulte, F Lecue and A Bernstein, "Semantic web service search: a brief survey," KI-Kunstliche Intelligenz, vol 30, no 2, pp 139-147, 2016 [78] T Sajana, C S Rani and K Narayana, "A survey on clustering techniques for big data mining," Indian Journal of Science and Technology, vol 9, no 3, pp 112, 2016 [79] J Sangeetha and V S J Prakash, "A Survey on Big Data Mining Techniques," International Journal of Computer Science and Information Security, vol 15, no 1, pp 482-490, 2017 [80] B Franke, J Plante, R Roscher, E A Lee, C Smyth, A Hatefi, F Chen, E Gil, A Schwing and A Selvitella, "Statistical Inference, Learning and Models in Big Data," International Statistical Review, vol 84, no 3, pp 371-389, 2016 [81] R Sagar and S Abirami, "Conceptual modeling of natural language functional requirements," Journal of Systems and Software, vol 88, pp 25-41, 2014 [82] T Hassan, S Hassan, M A Yar and W Younas, "Semantic analysis of natural language software requirement," in Innovative Computing Technology (INTECH), 2016 Sixth International Conference on, IEEE, 2016, pp 459-463 [83] I Sommerville, "Chapter 2: Software processes," in Software engineering, 10th ed., Boston, MA, Pearson, 2016, pp 27-55 115 ... gian dịch vụ Để thực tổ hợp khắc phục vấn đề toán tổ hợp gây ra, luận án kết hợp phương pháp hình thức với phương pháp khai phá liệu Phương pháp hình thức, mà cụ thể phương pháp kiểm tra mơ hình, ... sâu vào trường hợp cụ thể tốn tổ hợp thành phần, tổ hợp dịch vụ Web Luận án cần đề xuất phương pháp đặc tả hình thức cho dịch vụ Web Đặc tả vừa hỗ trợ việc tổ hợp kiểm chứng dựa phương pháp kiểm. .. suất toán tổ hợp kiểm chứng dịch vụ Web 90 6.3.4 Tác động chất lượng gom cụm lên kết tổ hợp dịch vụ Web 92 Kết chương 92 CHƯƠNG CÔNG CỤ TỔ HỢP VÀ KIỂM CHỨNG TỔ HỢP DỊCH VỤ WEB TỰ