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
105 trang |
Chia sẻ: nhungnt | Lượt xem: 2552 | Lượt tải: 3
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