Đề tài Chuyển đổi từ mô hình UML sang OWL Ontology và ứng dụng

Ngôn ngữ mô hình hóa UML được sử dụng phổ biến nhất trong công nghệ phần mềm nhưng lại khôngđủ chặt chẽvà chưa có công cụ hỗ trợ kiểm tra tính đúng đắn của đặc tả.Do vậy, chúng ta thường phải kết hợp với các ngôn ngữ đặc tả khác để thu được bản đặc tả hệ thống vừa trực quan, dễ hiểu vừa có ngữ nghĩa chặt chẽ, được kiểm tra tự động bởi các côngcụ. Và trong quá trình áp dụng các mẫu thiết kếđể thu được một mô hình thiết kế tối ưu hơn, ta có thể gặp phải những sai sót. Do vậy, ta cần phải kiểmtra xem mô hình thu đượccó thỏa mãn các tính chất của mẫu hay không. Điều đó rất quan trọng để có thể giảm thiểu rủi ro và tăng hiệu quả trong quá trình phát triển phần mềm. Trong khóa luận này, tôi sẽ vậndụng các quy tắc chuyển đổi đặc tả UML sang OWL, từ hai mô hình thiết kế ban đầu và sau khi áp dụng mẫu, ta sẽ thu được hai đặc tả OWL, từ đó ta kết hợpvới các ràng buộc được viết bằng ngôn ngữ đặc tả OCL hoặc Prolog, và với các công cụ kiểm tra tự động, ta sẽ kiểm tra hai đặc tả OWL có tương đương nhau hay không, cũng tức là hai mô hình đó có tương đương nhau hay không.Do đó, khóa luận của tôi sẽ tập trung vào quy trình chuyển từ đặc tả UML sang đặc tả OWL,kết hợp với các ngôn ngữ đặc tả OCL, Prolog để cho ngữ nghĩa của các đặc tả chặt chẽ hơn. Nócũng tiến hành thử nghiệm ứng dụng quy trình này để kiểm tra kết quả áp dụng mẫu thiết kế trong phát triểnphần mềm hướng đối tượng

pdf105 trang | Chia sẻ: nhungnt | Lượt xem: 2360 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Chuyển đổi từ mô hình UML sang OWL Ontology và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠ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 KHOÁ 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 1 ĐẠ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 KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: ThS.Vũ Diệu Hương Cán bộ đồng hướng dẫn: ThS. Đặng Việt Dũng HÀ NỘI - 2010 2 LỜI CẢM ƠN Bài khóa luận “Chuyển đổi từ mô hình UML sang OWL Ontology và ứng dụng” của em được hoàn thành bên cạnh nhờ sự nỗ lực của bản thân, em còn được sự chỉ bảo tận tình từ phía các thầy cô để giúp em hoàn thành khóa luận này. Em xin chân thành cảm ơn các thầy cô trong bộ môn Công nghệ phần mềm – khoa CNTT – trường ĐH Công Nghệ vì đã tạo cơ hội cho em thực hiện khóa luận này. Đặc biệt là tới cô Vũ Diệu Hương và thầy Đặng Việt Dũng, là những người đã tận tình giúp đỡ và trực tiếp hướng dẫn để em hoàn thành được khóa luận này. Cuối cùng, em kính mong nhận được những ý kiến đóng góp của thầy cô để khóa luận này của em được hoàn chỉnh hơn. 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 3 MỤC LỤC TÓM TẮT NỘI DUNG ................................................................................................7 MỞ ĐẦU ......................................................................................................................8 CHƯƠNG 1: GIỚI THIỆU VỀ UML VÀ OWL ONTOLOGY ....................................9 1.1. Ngôn ngữ UML (Unified Modeling Language) ..............................................9 1.1.1. Ngôn ngữ mô hình hóa UML ..................................................................9 1.1.2. Một số thành phần chủ yếu của ngôn ngữ UML ......................................9 1.2. Ontology ......................................................................................................14 1.3. OWL (Web Ontology Language)..................................................................14 1.3.1. Các mức của 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ử trong 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 hiện................................................................................56 4 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ả bài toán cụ thể ....................................................................................58 4.2. Các bước thực hiện .......................................................................................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 bằng công cụ .............................................................75 4.3. Kết quả kiểm tra và đánh giá. .......................................................................75 CHƯƠNG 5: TỔNG KẾT ..........................................................................................76 5.1. Kết quả đạt được: .........................................................................................76 5.2. Kết luận ........................................................................................................76 PHỤ LỤC 1 ................................................................................................................77 PHỤ LỤC 2 ................................................................................................................91 Tài liệu tham khảo ....................................................................................................104 5 DANH MỤC BẢNG BIỂU BẢNG 1: BẢNG MÔ TẢ TỪ VỰNG CỦA OWL LITE. ...........................................16 BẢNG 2. CẤU TRÚC TỪ VỰNG OWL LITE MÔ TẢ RÀNG BUỘC .....................16 BẢNG 3. BẢNG TỪ VỰNG XÂY DỰNG THÔNG TIN VỀ PHIÊN BẢN VÀ CHÚ THÍCH........................................................................................................................16 BẢNG 4. 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ủa một 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 của 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 và biểu đồ đối tượng của 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 và thuộc tính với các ràng buộc. ...................................................30 Hình 1.12. Các thuộc tính. ..........................................................................................30 Hình 1.13. Các thể hiện của lớp. .................................................................................31 Hình 2.1. Kí hiệu gói. .................................................................................................33 Hình 2.2. Ví dụ về 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 mộ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 các 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 sự 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 6 Hình 2.19. Siêu mô hình của biểu đồ lớp UML. ..........................................................48 Hình 3.1. Mô hình của mẫu Union Pattern. .................................................................51 Hình 3.2. Ví dụ về 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 đúng. .................................................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 trong 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 khi tinh chế áp dụng mẫu Union Pattern. ............................59 Hình 4.3. Siêu mô hình của các biểu đồ lớp...................................................................60 Hình 4.4. Các lớp sau khi chuyển đổi từ siêu mô hình bằng công cụ Protégé. .............61 Hình 4.5. Các thuộc tính của lớp Class. ......................................................................61 Hình 4.6. Thuộc tính của lớp Operation......................................................................62 Hình 4.7. Thuộc tính của 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 của lớp Visibility........................................................................64 Hình 4.10. Toàn bộ thuộc tính của các lớp. .................................................................65 Hình 4.11. Các thể hiện của lớp Class.........................................................................66 Hình 4.12. Các thể hiện của lớp Operation. ................................................................67 Hình 4.13. Các Thể hiện của lớp Parameter. ..............................................................68 Hình 4.14. Các thể hiện của lớp Parameter.................................................................69 Hình 4.15. Các thể hiện của lớp Parameter_Direction_Kind .......................................69 Hình 4.16. Các thể hiện của lớp Visibility_Kind. .........................................................70 Hình 4.17. Các thể hiện của lớp Class.........................................................................70 Hình 4.18. Các thể hiện của lớp Class: lớp Mammal. ..................................................71 Hình 4.19. Các thể hiện của lớp Operation. ................................................................71 Hình 4.20. Thể hiện của lớp Operation: phương thức makeSound của lớp Mammal. ..72 Hình 4.21. Thể hiện của lớp Operation: phương thức makeSound trong lớp Cat. ........72 Hình 4.22. Thể hiện của 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 7 TÓM TẮT NỘI DUNG Ngôn ngữ mô hình hóa UML được sử dụng phổ biến nhất trong công nghệ phần mềm nhưng lại không đủ chặt chẽ và chưa có công cụ hỗ trợ kiểm tra tính đúng đắn của đặc tả. Do vậy, chúng ta thường phải kết hợp với các ngôn ngữ đặc tả khác để thu được bản đặc tả hệ thống vừa trực quan, dễ hiểu vừa có ngữ nghĩa chặt chẽ, được kiểm tra tự động bởi các công cụ. Và trong quá trình áp dụng các mẫu thiết kế để thu được một mô hình thiết kế tối ưu hơn, ta có thể gặp phải những sai sót. Do vậy, ta cần phải kiểm tra xem mô hình thu được có thỏa mãn các tính chất của mẫu hay không. Điều đó rất quan trọng để có thể giảm thiểu rủi ro và tăng hiệu quả trong quá trình phát triển phần mềm. Trong khóa luận này, tôi sẽ vận dụng các quy tắc chuyển đổi đặc tả UML sang OWL, từ hai mô hình thiết kế ban đầu và sau khi áp dụng mẫu, ta sẽ thu được hai đặc tả OWL, từ đó ta kết hợp với các ràng buộc được viết bằng ngôn ngữ đặc tả OCL hoặc Prolog, và với các công cụ kiểm tra tự động, ta sẽ kiểm tra hai đặc tả OWL có tương đương nhau hay không, cũng tức là hai mô hình đó có tương đương nhau hay không. Do đó, khóa luận của tôi sẽ tập trung vào quy trình chuyển từ đặc tả UML sang đặc tả OWL, kết hợp với các ngôn ngữ đặc tả OCL, Prolog để cho ngữ nghĩa của các đặc tả chặt chẽ hơn. Nó cũng tiến hành thử nghiệm ứng dụng quy trình này để kiểm tra kết quả áp dụng mẫu thiết kế trong phát triển phần mềm hướng đối tượng. 8 MỞ ĐẦU UML là ngôn ngữ mô hình hóa thống nhất, với các kí hiệu trực quan nên được sử dụng phổ biến trong 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ể hiện các khía cạnh khác nhau của hệ thống và thêm vào đó là các ràng buộc được mô tả bằng lời hoặc bằng ngôn ngữ ràng buộc đối tượng để cho ngữ nghĩa của các yếu tố mô hình được chặt chẽ hơn. Để kiểm tra các yếu tố mô hình UML có thỏa mãn một số thuộc tính đã được định nghĩa, chúng ta không thể thực hiện được bằng các công cụ đặc tả UML hiện tại. Cho đến nay, chúng ta thường phải chuyển mô hình UML sang đặc tả bằng các ngôn ngữ có tính hình thức cao hơn và sử dụng các công cụ hỗ trợ ngôn ngữ đó để phân tích tính đúng đắn của đặc tả. Dựa trên hướng nghiên cứu này, chúng tôi đề xuất sử dụng ngôn ngữ OWL và Prolog để kiểm tra các yếu tố của mô hình UML. Theo cách tiếp cận này, các yếu tố của mô hình sẽ được chuyển đổi sang các yếu tố tương ứng của đặc tả OWL, còn các ràng buộc sẽ được mô tả bằng Prolog. Khóa luận này 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ể hiện các ràng buộc cho các yếu tố mô hình và thực hiện một ứng dụng thử nghiệm. Bài toán được chọn để thực hiện ứng dụng thử nghiệm là kiểm tra kết quả áp dụng mẫu thiết kế cho một mô hình UML cho trước. Mẫu thiết kế cung cấp giải pháp tốt để giải quyết các vấn đề gặp phải trong giai đoạn thiết kế. Các giải pháp này được thẩm định nhiều lần trong các dự án thực tế trước đây, và nếu áp dụng đúng các giải pháp mẫu đưa ra thì chúng ta sẽ thu được thiết kế có kiến trúc tốt hơn so với mô hình ban đầu. Tuy nhiên, trong thực tế đã có rất 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ế mới không thỏa mãn các tính chất cấu trúc của giải pháp mẫu. Khóa luận sẽ trình bày quy trình chuyển đổi các mô hình UML sang đặc tả bằng ngôn ngữ OWL, các tính chất cấu trúc của giải pháp mẫu được mô tả bằng Prolog để có thể kiểm tra được tính đúng đắn của việc áp dụng mẫu bằng công cụ tự động. Việc xây dựng công cụ sử dụng ở đây được thực hiện bởi khóa luận tốt nghiệp của sinh viên Vũ Văn Thế. Cấu trúc của Khóa luận này bao gồm năm chương. Chương 1 trình bày khái quát về UML, OWL Ontology và bản mô tả từ vựng của OWL cùng các mức của nó. Chương 2 trình bày về các quy tắc chuyển đổi từ mô hình UML sang OWL Ontology. Chương 3 trình bày về 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. Chương 4 sẽ thực hiện kiểm tra kết quả tích hợp mẫu Union Pattern vào mô hình thiết kế cụ thể, và chương 5 sẽ tổng kết những kết quả đạt được. Trước tiên, để hiểu được các quy tắc chuyển đổi từ UML sang OWL Ontology, ta cần hiểu được các khái niệm thế nào là UML, Ontology và OWL Ontology. Và chương 1 sẽ trình bày chi tiết và rõ ràng hơn về vấn đề này. 9 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 là một ngôn ngữ biểu diễn mô hình theo phương pháp hướng đối tượng được xây dựng bởi ba tác giả là: James Rumbaugh, Grady Booch và Ivar Jacobson với mục đích là:  Thứ nhất là tạo ra một công cụ để có thể mô hình hóa các hệ thống sử dụng các khái niệm hướng đối tượng.  Thứ hai là, nó sẽ thiết lập một mối liên h