Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 105 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
105
Dung lượng
8,67 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ====================***================== Giáp Thị Ngọc Thúy CHUYỂN ĐỔI TỪ MÔ HÌNH UML SANG OWL ONTOLOGY VÀ ỨNG DỤNG KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thông tin HÀ NỘI - 2010 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ====================***================== Giáp Thị Ngọc Thúy CHUYỂN ĐỔI TỪ MƠ HÌNH UML SANG OWL ONTOLOGY VÀ ỨNG DỤNG KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán hướng dẫn: ThS.Vũ Diệu Hương Cán đồng hướng dẫn: ThS Đặng Việt Dũng HÀ NỘI - 2010 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Bài khóa luận “Chuyển đổi từ mơ hình UML sang OWL Ontology ứng dụng” em hoàn thành bên cạnh nhờ nỗ lực thân, em bảo tận tình từ phía thầy để giúp em hồn thành khóa luận Em xin chân thành cảm ơn thầy cô môn Công nghệ phần mềm – khoa CNTT – trường ĐH Cơng Nghệ tạo hội cho em thực khóa luận Đặc biệt tới Vũ Diệu Hương thầy Đặng Việt Dũng, người tận tình giúp đỡ trực tiếp hướng dẫn để em hồn thành khóa luận Cuối cùng, em kính mong nhận ý kiến đóng góp thầy để khóa luận em hoàn chỉnh Em xin chân thành cảm ơn Giáp Thị Ngọc Thúy Khoa Công nghệ thông tin Trường Đại học Công nghệ - ĐHQGHN LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC TÓM TẮT NỘI DUNG MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU VỀ UML VÀ OWL ONTOLOGY 1.1 Ngôn ngữ UML (Unified Modeling Language) 1.1.1 Ngôn ngữ mơ hình hóa UML 1.1.2 Một số thành phần chủ yếu ngôn ngữ UML 1.2 Ontology 14 1.3 OWL (Web Ontology Language) 14 1.3.1 Các mức OWL 15 1.3.2 Bản mô tả từ vựng ngôn ngữ OWL Lite 15 1.4 OWL Ontolgogy 24 1.4.1 Các phần tử OWL Ontology .25 1.4.2 Một số công cụ hỗ trợ việc xây dựng OWL Ontology 25 CHƯƠNG 2: CÁC QUY TẮC CHUYỂN ĐỔI TỪ MƠ HÌNH UML SANG OWL ONTOLOGY 32 2.1 Giới thiệu .32 2.2 Quy tắc chuyển đổi từ mơ hình UML sang OWL Ontology 32 2.2.1 Gói (Package) 33 2.2.2 Lớp (Class) 34 2.2.3 Chú thích .35 2.2.4 Giao diện (Interface) .36 2.2.5 Tổng quát hóa 36 2.2.6 Liên kết (Association) 37 2.2.7 Các vai trò (Roles) .41 2.2.8 Các thuộc tính (Attributes) 41 2.2.9 Ràng buộc số lượng .42 2.2.10 Mối quan hệ phụ thuộc 44 2.2.11 Liệt kê 45 2.2.12 Kết tập 46 2.2.13 Phương thức 47 CHƯƠNG 3: QUY TRÌNH THỰC HIỆN KIỂM TRA KẾT QUẢ ÁP DỤNG MẪU VÀO MƠ HÌNH THIẾT KẾ UML .50 3.1 Giới thiệu .50 3.2 Mẫu Union Pattern (UP) .50 3.2.1 Giới thiệu 50 3.2.2 Các tính chất cấu trúc cần đảm bảo 51 3.2.3 Một số trường hợp áp dụng sai mẫu Union Pattern 52 3.3 Mẫu thiết kế Composite 53 3.4 Bài toán 55 3.4.1 Các bước thực 56 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƯƠNG 4: KIỂM TRA KẾT QUẢ TÍCH HỢP MẪU UNION PATTERN VÀO MƠ HÌNH THIẾT KẾ HÀNH VI CÁC CON VẬT 58 4.1 Mơ tả tốn cụ thể 58 4.2 Các bước thực .60 4.2.1 Bước 1: Biển đổi hai biểu đồ lớp UML sang siêu mơ hình 60 4.2.2 Bước 2: Chuyển đổi từ siêu mơ hình UML sang OWL Ontology 60 4.2.3 Các luật ràng buộc : .73 4.2.4 Bước 3: Kiểm tra công cụ .75 4.3 Kết kiểm tra đánh giá 75 CHƯƠNG 5: TỔNG KẾT 76 5.1 Kết đạt được: 76 5.2 Kết luận 76 PHỤ LỤC 77 PHỤ LỤC 91 Tài liệu tham khảo 104 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC BẢNG BIỂU BẢNG 1: BẢNG MÔ TẢ TỪ VỰNG CỦA OWL LITE .16 BẢNG CẤU TRÚC TỪ VỰNG OWL LITE MÔ TẢ RÀNG BUỘC .16 BẢNG BẢNG TỪ VỰNG XÂY DỰNG THƠNG TIN VỀ PHIÊN BẢN VÀ CHÚ THÍCH 16 BẢNG CÁC KIỂU DỮ LIỆU 17 BẢNG 5: BẢNG LIỆT KÊ CÁC QUY TẮC CHUYỂN ĐỔI .32 DANH MỤC HÌNH VẼ Hình 1.1 Biểu đồ Ca sử dụng cơng ty bảo hiểm [1] 10 Hình 1.2 Biểu đồ trình tự cho Print Server [1] 10 Hình 1.3 Biểu đồ cộng tác hệ thống Đặt Sách 11 Hình 1.4 Biểu đồ lớp Thư Viện [7] 11 Hình 1.5 Biểu đồ lớp biểu đồ đối tượng lớp [1] 12 Hình 1.6 Biểu đồ trạng thái [1] 12 Hình 1.7 Các thành phần mơ hình thường dùng [1] 13 Hình 1.8 Giao diện Protégé 3.4.4 27 Hình 1.9 Giao diện Altova SematicWorks 28 Hình 1.10 Giao diện Altova SematicWorks 29 Hình 1.11 Các lớp thuộc tính với ràng buộc .30 Hình 1.12 Các thuộc tính 30 Hình 1.13 Các thể lớp .31 Hình 2.1 Kí hiệu gói .33 Hình 2.2 Ví dụ gói 33 Hình 2.3 Kí hiệu Lớp UML 34 Hình 2.4 Ví dụ minh họa lớp ảo 35 Hình 2.5 Ví dụ minh họa Interface 36 Hình 2.6 Minh họa quan hệ thừa kế 37 Hình 2.7 Lớp Author liên kết với lớp Computer 38 Hình 2.8 Minh họa liên kết hướng 38 Hình 2.9 Minh họa mối liên kết hai chiều .39 Hình 2.10 Lớp liên kết 40 Hình 2.11 Ví dụ minh họa vai trò 41 Hình 2.12 Minh họa thuộc tính lớp 41 Hình 2.13 Minh họa ObjectPropeprty 42 Hình 2.14 Sơ đồ lớp biểu diễn hệ thống quản lý dịch vụ tiết kiệm 42 Hình 2.15 Minh họa mối phụ thuộc 44 Hình 2.16 Quan hệ phụ thuộc 45 Hình 2.17 Minh họa kiểu liệt kê 46 Hình 2.18 Minh họa mối quan hệ kết tập 47 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 2.19 Siêu mơ hình biểu đồ lớp UML 48 Hình 3.1 Mơ hình mẫu Union Pattern .51 Hình 3.2 Ví dụ mơ hình áp dụng mẫu Union Pattern 52 Hình 3.3 Trường hợp áp dụng sai mẫu UP 52 Hình 3.4 Trường hợp áp dụng sai mẫu UP 52 Hình 3.5 Trường hợp áp dụng sai mẫu UP 53 Hình 3.6 Cấu trúc mẫu Composite .53 Hình 3.7 Trường hợp áp dụng mẫu Composite .54 Hình 3.8 Mơ hình ban đầu .54 Hình 3.9 Trường hợp áp dụng sai mẫu Composite .55 Hình 3.10 Các bước quy trình kiểm tra 57 Hình 4.1 Các lớp UML ban đầu 58 Hình 4.2 Biểu đồ lớp sau tinh chế áp dụng mẫu Union Pattern 59 Hình 4.3 Siêu mơ hình biểu đồ lớp 60 Hình 4.4 Các lớp sau chuyển đổi từ siêu mơ hình cơng cụ Protégé 61 Hình 4.5 Các thuộc tính lớp Class 61 Hình 4.6 Thuộc tính lớp Operation 62 Hình 4.7 Thuộc tính lớp Parameter 63 Hình 4.8 Thuộc tính lớp Parameter_Direction_Kind 64 Hình 4.9 Thuộc tính lớp Visibility 64 Hình 4.10 Tồn thuộc tính lớp .65 Hình 4.11 Các thể lớp Class .66 Hình 4.12 Các thể lớp Operation 67 Hình 4.13 Các Thể lớp Parameter 68 Hình 4.14 Các thể lớp Parameter .69 Hình 4.15 Các thể lớp Parameter_Direction_Kind .69 Hình 4.16 Các thể lớp Visibility_Kind 70 Hình 4.17 Các thể lớp Class .70 Hình 4.18 Các thể lớp Class: lớp Mammal 71 Hình 4.19 Các thể lớp Operation 71 Hình 4.20 Thể lớp Operation: phương thức makeSound lớp Mammal 72 Hình 4.21 Thể lớp Operation: phương thức makeSound lớp Cat 72 Hình 4.22 Thể lớp Parameter 73 BẢNG CHỮ VIẾT TẮT OWL Web Ontology Language UML Unified Modeling Language UP Union Pattern OCL Object Constraint Language LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TĨM TẮT NỘI DUNG Ngơn ngữ mơ hình hóa UML sử dụng phổ biến công nghệ phần mềm lại không đủ chặt chẽ chưa có cơng cụ hỗ trợ kiểm tra tính đắn đặc tả Do vậy, thường phải kết hợp với ngôn ngữ đặc tả khác để thu đặc tả hệ thống vừa trực quan, dễ hiểu vừa có ngữ nghĩa chặt chẽ, kiểm tra tự động công cụ Và trình áp dụng mẫu thiết kế để thu mơ hình thiết kế tối ưu hơn, ta gặp phải sai sót Do vậy, ta cần phải kiểm tra xem mơ hình thu có thỏa mãn tính chất mẫu hay khơng Điều quan trọng để giảm thiểu rủi ro tăng hiệu trình phát triển phần mềm Trong khóa luận này, tơi vận dụng quy tắc chuyển đổi đặc tả UML sang OWL, từ hai mơ hình thiết kế ban đầu sau áp dụng mẫu, ta thu hai đặc tả OWL, từ ta kết hợp với ràng buộc viết ngôn ngữ đặc tả OCL Prolog, với công cụ kiểm tra tự động, ta kiểm tra hai đặc tả OWL có tương đương hay khơng, tức hai mơ hình có tương đương hay khơng Do đó, khóa luận tơi tập trung vào quy trình chuyển từ đặc tả UML sang đặc tả OWL, kết hợp với ngôn ngữ đặc tả OCL, Prolog ngữ nghĩa đặc tả chặt chẽ Nó tiến hành thử nghiệm ứng dụng quy trình để kiểm tra kết áp dụng mẫu thiết kế phát triển phần mềm hướng đối tượng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỞ ĐẦU UML ngơn ngữ mơ hình hóa thống nhất, với kí hiệu trực quan nên sử dụng phổ biến ngành cơng nghiệp phần mềm Một mơ hình UML thường chứa nhiều biểu đồ thể khía cạnh khác hệ thống thêm vào ràng buộc mô tả lời ngôn ngữ ràng buộc đối tượng ngữ nghĩa yếu tố mơ hình chặt chẽ Để kiểm tra yếu tố mơ hình UML có thỏa mãn số thuộc tính định nghĩa, thực công cụ đặc tả UML Cho đến nay, thường phải chuyển mơ hình UML sang đặc tả ngơn ngữ có tính hình thức cao sử dụng công cụ hỗ trợ ngôn ngữ để phân tích tính đắn đặc tả Dựa hướng nghiên cứu này, đề xuất sử dụng ngôn ngữ OWL Prolog để kiểm tra yếu tố mơ hình UML Theo cách tiếp cận này, yếu tố mơ hình chuyển đổi sang yếu tố tương ứng đặc tả OWL, cịn ràng buộc mơ tả Prolog Khóa luận tập trung vào tìm hiểu cách thức chuyển đổi từ đặc tả UML sang đặc tả OWL, sử dụng Prolog để thể ràng buộc cho yếu tố mơ hình thực ứng dụng thử nghiệm Bài toán chọn để thực ứng dụng thử nghiệm kiểm tra kết áp dụng mẫu thiết kế cho mơ hình UML cho trước Mẫu thiết kế cung cấp giải pháp tốt để giải vấn đề gặp phải giai đoạn thiết kế Các giải pháp thẩm định nhiều lần dự án thực tế trước đây, áp dụng giải pháp mẫu đưa thu thiết kế có kiến trúc tốt so với mơ hình ban đầu Tuy nhiên, thực tế có nhiều trường hợp áp dụng sai giải pháp mẫu đưa ra, dẫn đến mơ hình thiết kế khơng thỏa mãn tính chất cấu trúc giải pháp mẫu Khóa luận trình bày quy trình chuyển đổi mơ hình UML sang đặc tả ngơn ngữ OWL, tính chất cấu trúc giải pháp mẫu mơ tả Prolog để kiểm tra tính đắn việc áp dụng mẫu công cụ tự động Việc xây dựng công cụ sử dụng thực khóa luận tốt nghiệp sinh viên Vũ Văn Thế Cấu trúc Khóa luận bao gồm năm chương Chương trình bày khái quát UML, OWL Ontology mô tả từ vựng OWL mức Chương trình bày quy tắc chuyển đổi từ mơ hình UML sang OWL Ontology Chương trình bày quy trình thực kiểm tra kết áp dụng mẫu vào mơ hình thiết kế UML Chương thực kiểm tra kết tích hợp mẫu Union Pattern vào mơ hình thiết kế cụ thể, chương tổng kết kết đạt Trước tiên, để hiểu quy tắc chuyển đổi từ UML sang OWL Ontology, ta cần hiểu khái niệm UML, Ontology OWL Ontology Và chương trình bày chi tiết rõ ràng vấn đề LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƯƠNG 1: GIỚI THIỆU VỀ UML VÀ OWL ONTOLOGY 1.1 Ngôn ngữ UML (Unified Modeling Language) 1.1.1 Ngơn ngữ mơ hình hóa UML Ngơn ngữ mơ hình hóa UML ngơn ngữ biểu diễn mơ hình theo phương pháp hướng đối tượng xây dựng ba tác giả là: James Rumbaugh, Grady Booch Ivar Jacobson với mục đích là: Thứ tạo cơng cụ để mơ hình hóa hệ thống sử dụng khái niệm hướng đối tượng Thứ hai là, thiết lập mối liên hệ từ nhận thức người đến kiện cần mơ hình hóa Thứ ba, giải vấn đề thừa kế hệ thống phức tạp, có nhiều ràng buộc khác Và cuối cùng, tạo nên ngơn ngữ mơ hình hóa mà người máy tính hiểu Như vậy, ngơn ngữ UML ngơn ngữ biểu diễn mơ hình, dựa tập hợp kí tự để xây dựng mơ hình hệ thống Mỗi thành phần mang ý nghĩa khác để biểu diễn khía cạnh khác hệ thống Để tìm hiểu thêm UML, phần nói kĩ số thành phần 1.1.2 Một số thành phần chủ yếu ngôn ngữ UML 1.1.2.1 Các loại biểu đồ Trong UML có nhiều loại biểu đồ khác sử dụng để cung cấp nhìn chi tiết tất các khía cạnh hệ thống Đầu tiên biểu đồ Ca sử dụng, sau Biểu đồ tuần tự, Biểu đồ cộng tác, Biểu đồ lớp, Biểu đồ đối tượng, Biểu đồ chuyển trạng thái, v.v o Biểu đồ Ca sử dụng Biểu đồ mô tả chức mà hệ thống cung cấp, hành vi, nhiệm vụ hệ thống mà người sử dụng mong muốn thực hiện, khơng miêu tả chức hoạt động bên hệ thống LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com makeSound false false 90 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC Dưới mã nguồn OWL mơ hình sau áp dụng mẫu thiết kế Union Pattern vào mô hình band đầu (hình 4.2): 1 91 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 0 1 0 92 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ParameterDirectionKind is an enumeration of the following literal values: • in — Indicates that parameter values are passed into the behavioral element by the caller • inout — Indicates that parameter values are passed into a behavioral element by the caller and then back out to the caller from the behavioral element • out — Indicates that parameter values are passed from a behavioral element out to the caller • return — Indicates that parameter values are passed as return values from a behavioral element back to the caller. Phương thức public, protected, private v.v. 93 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com các lớp lớp xét Chuỗi tham sô, phương thức có tham số nào? 94 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com hướng tham số (có dạng in, out, inout, return) tên phương thức Lớp có phải lớp ảo hay không? 95 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ví dụ như: private, public, protected v.v tính triển khai phương thức (có giống khơng?) gồm in, out, inout return tên tham số có phải phương thức ảo hay không? 96 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com protected private in trong phương thức biểu đồ khơng có tham số có giá trị trả về, mà para_name để trống inout 97 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com out Whale public false makeSound return 98 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com false false Monkey false makeSound false 99 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com false Cat false có lớp Cat, Monkey, Whale, lớp ảo makeSound false false 100 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com givesLiveBirth true false false givesMilk 101 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com true true lớp cha trừu tượng makeSound false true 102 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mammal 103 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tài liệu tham khảo Tiếng Việt: [1] Tơn Thất Hịa An, TS.Dương Kiều Hoa, Phân tích thiết kế hệ thống thông tin với UML [2] Các dịch vụ Web Web ngữ nghĩa (semantic Web), phần 4: Tạo thể luận, http://www.ibm.com/developerworks/vn/edu/x-ultimashup4/section3.html [3] Trần Thị Ngân, Phương thức xây dựng Ontology, http://tailieu.vn/xem-tailieu/phuong-thuc-xay-dung-ontology.158466.html [4] Võ Hoàng Nguyên, Hoàng Lê Quân (2009), đồ án Giới thiệu Sermantic Web Ontology [5] Ontology, http://tudiencongnghe.com/Ontology [6] Ontology OWL, http://tutorial.phpvn.org/index.php?topic=133.0 [7] TS.Trương Ninh Thuận, Bài giảng Phân tích thiết kế hướng đối tượng Tiếng Anh: [8] Dipl.-Wirt.-Inf Sebastian Leinhos, Transformation for “OWL from UML”, http://diplom.ooyoo.de [9] Ontology, http://en.wikipedia.org/wiki/Ontology_(information_science) [10] OWL Web Ontology Language Overview, http://tailieu.vn/xem-tailieu/phuong-thuc-xay-dung-ontology.158466.html [11] Vu Dieu Huong, Truong Ninh Thuan, Ensuring consistent levels of abstraction using B renement 104 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... tắc chuyển đổi từ mơ hình UML sang OWL để biến đổi mơ hình UML sang OWL cho đạt kết thật xác Và sau tơi xin trình bày số quy tắc chuyển đổi 2.2 Quy tắc chuyển đổi từ mơ hình UML sang OWL Ontology. .. quát UML, OWL Ontology mô tả từ vựng OWL mức Chương trình bày quy tắc chuyển đổi từ mơ hình UML sang OWL Ontology Chương trình bày quy trình thực kiểm tra kết áp dụng mẫu vào mơ hình thiết kế UML. .. xây dựng OWL Ontology 25 CHƯƠNG 2: CÁC QUY TẮC CHUYỂN ĐỔI TỪ MƠ HÌNH UML SANG OWL ONTOLOGY 32 2.1 Giới thiệu .32 2.2 Quy tắc chuyển đổi từ mơ hình UML sang OWL Ontology