Cam kết hành vi đặt ra thêm các ràng buộc trên các mô hình đầu vào, đầu ra, quan hệ giữa chúng được đặc tả bởi các mẫu đồ thị biểu diễn các tập tiền điều kiện, hậu điều kiện và bất biến
Trang 1DẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYÊN THỊ HẠNH
KHUNG HÌNH THỨC HỖ TRỢ ĐẢM BẢO
CHAT LƯỢNG CHUYEN DOI MÔ HÌNH
LUẬN AN TIEN SĨ KY THUẬT PHAN MEM
Hà Nội - 2023
Trang 2DẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYÊN THỊ HẠNH
KHUNG HÌNH THỨC HỖ TRỢ ĐẢM BẢO
CHAT LUGNG CHUYEN DOI MÔ HÌNH
Chuyên ngành Kỹ thuật phan mềm
Mã số: 9480103.01
LUẬN ÁN TIEN SĨ KỸ THUẬT PHAN MEM
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 PGS.TS Hồ Si Dam
2 TS Dang Đức Hanh
Hà Nội - 2023
Trang 3LỜI CAM ĐOAN
Toi xin cam đoan luận án “Khung hình thức hỗ trợ đảm bao
chất lượng chuyển đổi mô hình” là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả được trình bày trong luận án là hoàn toàn trung thực
và chưa từng được công bố trong bất kỳ một công trình nào khác.
m Toi đã trích dẫn day đủ các tài liệu tham khảo, công trình nghiên cứu
liên quan ở trong nước và quốc tế Ngoại trừ các tài liệu tham khảo
này, luận án hoàn toàn là công việc của riêng tôi.
» Trong các công trình khoa hoc được công bố trong luận án, tôi đã thể
hiện rõ ràng và chính xác đóng góp của các đồng tác giả và những gì
do tôi đã đóng góp.
m Luận án được hoàn thành trong thời gian tôi làm Nghiên cứu sinh tại
Bộ môn Công nghệ phần mềm, Khoa Công nghệ thông tin, Trường
Đại học Công nghệ, Đại học Quốc gia Hà Nội.
Tác giả:
Hà Nội:
Trang 4LỜI CẢM ƠN
Trước hết, tôi muốn bày tỏ sự biết ơn đến PGS.TS Hồ Sĩ Đàm và
TS Đặng Đức Hạnh, cán bộ hướng dẫn, các Thầy đã trực tiếp giảng day
và định hướng tôi trong suốt thời gian thực hiện luận án Một vinh dự lớn cho tôi được học tập, nghiên cứu cứu dưới sự hướng dẫn của các Thầy.
Tôi xin được bày tỏ sự biết ơn sâu sắc đến các Thay Cô trong Bộ môn Công nghệ phần mềm vì sự giúp đỡ của các Thầy Cô về các đóng góp rất hữu ích cho luận An.
Tôi xin trân trọng cảm ơn Khoa Công nghệ thông tin, Phòng Đào
tạo và Ban giám hiệu trường Đại học Công Nghệ đã tạo điều kiện thuận lợi cho tôi trong suốt quá trình thực hiện luận án.
Tôi cũng bày tỏ sự biết ơn đến Trường Dai học Sư phạm Ha Nội
đã tạo điều kiện về thời gian và tài chính cho tôi thực hiện luận án này Tôi muốn cảm ơn đến Ban chủ nhiệm khoa, các cán bộ giảng viên Khoa Công
nghệ thông tin - Trường Đại học Sư phạm Hà Nội đã cổ vũ, động viên và
tạo điều kiện về thời gian cho tôi trong suốt quá trình nghiên cứu.
Tôi muốn cảm ơn đến tất cả những người bạn, các anh chị em nghiên cứu sinh và những người đồng nghiệp của tôi Những người đã luôn chia sẻ với tôi những khó khăn và động viên giúp đỡ tôi bất cứ khi nào tôi cần và tôi luôn ghi nhớ điều đó.
Cuối cùng, tôi xin bày tỏ lòng biết ơn vô hạn đối với cha mẹ, chồng, con và gia đình đã luôn ủng hộ và yêu thương tôi một cách vô điều kiện.
Nếu không có sự ủng hộ của gia đình và chồng con tôi không thể hoàn thành
được luận án nay.
NCS Nguyễn Thị Hạnh
ii
Trang 5TOM TAT
Kỹ nghệ hướng mô hình (Model-Driven Engineering - MDE) dang trỏ
thành một phương pháp phổ biến để phát triển các ứng dụng phần mềmquy mô lớn, phức tạp, trong đó các bộ chuyển đổi mô hình đóng vai trò thenchốt để hiện thực hóa các tác vụ của quy trình phát triển Nhằm giải quyếtcác thách thức trong việc đảm bảo chất lượng các bộ chuyển đổi mô hình,luận án đề xuất phát triển một khung hình thức hỗ trợ kiểm thử hướng đặc
tả các bộ chuyển đổi mô hình Các đóng góp chính của luận án như sau
Đề xuất ngôn ngữ TC4MT (Test Cases for Model Transformations TC4MT) cho phép đặc tả mức cao các loại cam kết khác nhau của bộ
-chuyển đổi mô hình như cam kết kiểu, cam kết hành vi và cam kết thể thứcchuyển Cam kết kiểu gồm siêu mô hình nguồn và siêu mô hình đích mô tảkiểu của dữ liệu được thao tác bởi chuyển đổi mô hình sẽ được đặc tả bởicác đồ thị kiểu Cam kết hành vi đặt ra thêm các ràng buộc trên các mô
hình đầu vào, đầu ra, quan hệ giữa chúng được đặc tả bởi các mẫu đồ thị
biểu diễn các tập tiền điều kiện, hậu điều kiện và bất biến của bộ chuyển
đổi mô hình Cam kết thể thức diễn đạt sự thay đổi đồng bộ của các phần
tử mô hình nguồn và mô hình đích tại mỗi bước chuyển và được diễn đạt
bởi các luật chuyển tam đồ thị
Sử dụng đặc tả làm cơ sở kiểm thử, luận án đề xuất hai hướng tiếp cận
chính để kiểm thử các bộ chuyển đổi mô hình: (1) Kết hợp phân vùng dựa
trên cam kết kiểu và cam kết hành vi để thiết kế bộ ca kiểm thử kiểm chứng
tính đúng đắn về ngữ pháp, tính bảo toàn thông tin và tính đầy đủ của bộ
chuyển đổi mô hình; (2) Phân tích quan hệ phụ thuộc giữa các luật diễnđạt cam kết thể thức để thiết kế bộ ca kiểm thử, kiểm chứng một cách có
hệ thống các tính chất của bộ chuyển đổi mô hình
Để đánh giá hiệu quả của các phương pháp đề xuất, luận án cài đặt một
số vi dụ chuyển đổi mô hình cùng các công cụ hỗ trợ Tién hành phân tíchkết quả kiểm thử trên các ví dụ chuyển, luận án thảo luận về tính ứng dụng
của phương pháp kiểm thử đề xuất và đánh giá hiệu quả phát hiện lỗi củacác tập ca kiểm thử được sinh ra từ các phương pháp đó
Từ khóa: Chuyển đổi mô hình, Kiểm thử chuyển đổi mô hình, Kiểm
thử hướng đặc ta, Văn phạm tam đồ thị, TC4MT.
Trang 6Mục lục
Lời cam đoan i
Lời cảm ơn ii
Tom tat iii
Muc luc iv
Danh mục các từ viết tat vii
Danh mục các bảng viii
Danh muc cac hinh vé ix
Chương 1 Mở đầu 1
1.2 Mục tiêu và phạm vi nghiên cứu 5
1.3 Nội dung và phương pháp nghiên cứu 6
1.4 Các đóng góp chính của luậnấn 9
1.5 Cấu trúc luận ấn Q.2 10 Chương 2 Kiến thức cơ sở và hiện trạng nghiên cứu 12 2.1 Phát triển bộ chuyển đổi mô hình 12
2.1.1 Giới thiệu chung về chuyển đổi mô hinh 12
2.1.2 Cài đặt bộ chuyển đổi mô hình 15
2.1.3 Dam bảo chất lượng bộ chuyển đổi mô hình 16
2.2 Ví dụ chuyển đổi từ biểu đồ lớp UML sang lược đồ cơ sở dữ liệu quan hệ ca 18 2.3 Kiểm thử bộ chuyển đổi môhình 22
2.4 Văn phạm tam đồ thị 27
2.4.1 Chuyển đổi đồthị 27
2.4.2 Giới thiệu về văn phạm tam dé thi 30
2.4.3 Chuyển đổi mô hình dựa trên văn phạm tam đồ thị 34
2.5 Tổng kết chương ee 37
Trang 7Mục lục V
Chương 3 Ngôn ngữ đặc tả các bộ chuyển đổi mô hình TC4MT 38
3.1 Giới thiệu ee 38 3.2 Các nghiên cứu liên quan 0- 41 3.3 Ngôn ngữ đặc tả [C4MT 43
3.3.1 Cũ pháp trừu tuong 2 ee ee 43
3.3.2 Cú phadpcuthé 0 0.00.00 eee 483.3.3 Ngữ nghĩa thực thi của đặc tả chuyển 543.4 Thực thi các cam kết của đặc tả chuyển đổi TCAMT 61
3.4.1 Phân tích và thẩm định tập yêu cầu 61
3.4.2 Biên dịch tiền điều kiện, hậu điều kiện va bat biến sang
ngOnngtOCL 0.2 0000 ee 63
3.5 Kiểm thử bộ chuyển đổi mô hình theo hướng đặc ta 66
3.6 Đánh giá ngôn ngữ đặc tả IC4MT 69
3.7 Tổng kết chương Ặ Q Q TQ TQ TQ va 74
Chương 4 Phương pháp kiểm thử chuyển đổi mô hình dựa
trên siêu mô hình và cam kết hành vi chuyển 75
JNN.‹ nh a/./( d.adaa 75
4.2 Các nghiên cứu liên quan ee 77
4.3 Tổng quan về phương pháp đề xuất 79
4.4 Phân vùng trên siêu mô hình và cam kết hành vi chuyển 80
4.4.1 Phân vùng dựa trên siêu mô hình 80
4.4.2 Phân vùng dựa trên cam kết hành vi chuyén 85
4.5 Phương pháp kết hợp phân vùng để kiểm thử các bộ chuyển
đổi mô hình c2 2 2 nho 874.5.1 Kết hợp phân vùng sinh tập ca kiểm thử phủ định 88
4.5.2 Kết hợp phân vùng sinh tập ca kiểm thử khẳng dinh 92
46 Tổng kết chương Q Q Q TQ ST ng v 97
Chương 5 Phương pháp kiểm thử chuyển đổi mô hình dựa
trên tập luật chuyển 99
5.1 Giới thiệu cv 99 5.2 Các nghiên cứu liên quan so 102
5.3 Tổng quan về phương pháp đề xuất 103
5.4 Phân tích quan hệ phụ thuộc luật 104
5.5 Sinh mô hình kiểm thử dựa trên quan hệ phụ thuộc luật 1095.6 Tổng kết chương Q Q TQ TQ TQ va 117
Chương 6 Thực nghiệm và đánh giá 119
6.1 Giới thiệu en 119
Trang 8Mục lục vì
6.2 Công cụ hỗ trợ Q2 120
6.3.1 Đánh giá phương pháp tiếp cận kiểm thử 128
6.3.2 Dánh giá bộ ca kiểm thử sinh ra bằng phương phap
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC 143
TÀI LIỆU THAM KHẢO 144
Trang 9DANH MỤC CÁC TỪ VIET TAT
Từ viết tắt Tiếng Anh
Model to Model Model to Text
Negative Application
Condi-tions
Object Management Group Object Constraint Language Platform Independent Model Platform Specific Model
Query-View-Transformation Restricted Graph Transforma-
Chuyển đổi mô hình
Phương tiện siêu mô hình
Mô hình sang mô hình
Mô hình sang văn bản
Điều kiện áp dụng phủ định
Nhóm quản lý đối tượng Ngôn ngữ ràng buộc đối tượng
Mô hình độc lập nền tảng
Mô hình chuyên biệt nền tang
Truy vấn - Quan sát - ChuyểnNgôn ngữ chuyển đổi đồ thị bị
giới hạn
Ca kiểm thử cho chuyển đổi
mô hình Văn phạm tam đồ thị
Ngôn ngữ mô hình hóa thống nhất
Môi trường đặc tả dựa trên
UML
Trang 10So sánh năng lực diễn đạt của ngôn ngữ đặc tả TC4MT 73
Các giá trị đại diện cho bản số và phân vùng tương ứng 82
Mô tả các tiêu chí bao phủ trong chiến lược kiểm thử phủ định 91
Tập phần tử trong các thành phần cấu trúc của luật khai báo 107
Quan hệ phụ thuộc giữa các luật chuyển đổi tiến của đặc tả
chuyển đổi mô hình CD2RDBM_ 108
Tiêu chí kiểm thử và chuỗi luật chuyển đổi tiến 110
Các loại toán tử đột biến ngữ nghĩa của hệ thống chuyển đổi
mô hình ee 130
Cài đặt kiểm tht So 134Các tập mô hình kiểm thử dựa trên phân tích siêu mô hình
và cam kết ngữ nghĩa chuyển 134Các tập ca kiểm thử được tạo ra từ chỉ tiêu chí bao phủ kiểm
thử dựa trên phân tích tập luật 135
Số lượng đột biến được tạo ra trên các cài đặt ví dụ chuyển 135Điểm đột biến của các tập mô hình kiểm thử được tạo ra theo
chiến lược kiểm thử phủ định 136Điểm đột biến của các tập mô hình kiểm thử được tạo ra theo
chiến lược kiểm thử khẳng định 136
Điểm đột biến của các bộ ca kiểm thử dựa trên phân tích quan
hệ phụ thuộc luật 2 eee 136
vill
Trang 11DANH MỤC CÁC HÌNH VẼ
1.1 Tổng quan phương pháp đề xuất cho đảm bảo chất lượng
chuyển đổi mô hình .- ĩ
1.2 Cấu trúc luậnấn .020 0000000000008 10
2.1 Kiến trúc chung của bộ chuyển đổi mô hinh 13
2.2 Ví dụ chuyển đổi từ biểu đồ lớp UML sang mô hình lược đồ cơ sở dt liệu quan hệ 0.000000, 19 2.3 Khung công việc của kiểm thử chuyển đổi mô hình 23
2.4 Phân loại cách tiếp cận kiểm thử chuyển đổi mô hình 23
25 Một ví dụ về tam đồ thị 31
2.6 Ví dụ siêu mô hình tam đồ thị 32
2.7 Luật tam đồ thị ca 33 2.8 Một bước chuyển thông qua luật tam đồ thị 33
2.9 Luật TGG khai báo c2 35 2.10 Tính toán các luật dẫn xuất từ luật TGG khai báo 36
3.1 Các mức độ cam kết 2 Q Q TQ Q Q 39 3.2 Các thành phần của đặc tả bộ chuyển đổi mô hinh 40
3.3 Siêu mô hình của ngôn ngữ TC4MT 44
3.4 Luật PriAttribute2Column khai báo trong đặc tả TC4MT 49
3.5 Biểu diễn bất biến trong đặc tả TC4MT 51
3.6 Áp dụng ngữ nghĩa bất biến để kiểm tra cặp mô hình nguồn-đích 52 3.7 Biểu diễn tiền điều kiện phủ định trong đặc tả TC4MT 52
3.8 Biểu diễn hậu điều kiện trong đặc tả TC4MT 53
3.9 Soạn thảo cam kết của đặc tả TC4MT trên US§B 54
3.10 Các luật dẫn xuất từ luật tam đồ thị khai báo 57
3.11 Cấu trúc luật Attr2Column khai báo 57
3.12 Luật chuyển đổi tiến của luật Attr2Column khai bao 58
3.13 Luật chuyển đổi lùi của luật Attr2Column khai báo 58
3.14 Luật tích hợp của luật Attr2Column khai béo 59
3.15 Minh hoa áp dụng luật thực thi thu được từ đặc tả 60
3.16 Luật khai báo FlatteningInheritance trong TC4MT 61
3.17 Ví dụ kết quả biên dich một tiền điều kiện phủ dinh 64
3.18 Ví dụ biên dịch một bất biến phủ định 65
1X
Trang 12Danh muc các hành vé X
3.19 Tổng quan cách tiếp cận đề xuất kiểm chứng chuyển đổi mô
hình cv ànt 66
4.1 Kết hợp kiểm thử phan vùng trên siêu mô hình và cam kết
hành vi chuyển ẶSẶ.c 80
4.2 Tập CT bao phủ giá trị đại diện các bản số của liên kết 83
4.3 Minh họa phân vùng dựa trên giá trị bản số đầu liên kết 83 4.4 Minh hoa phân vùng dựa trên kiểu dữ liệu thuộc tính lớp 84
4.5 Tap tin chứa thông tin cấu hình được tạo bởi chuyên gia miền 85 4.6 Một số CT phân vùng tập tính chất lớp Class dựa trên việc kết hợp với tri thức chuyên gia miền 86
4.7 Phân tích phân vùng dựa trên tiền điều kiện 87
4.8 Chiến lược kiểm thử khẳng định và kiểm thử phủ định dựa trên kết hợp phân vùng 88
4.9 Bốn mô hình kiểm thử phủ định 90
4.10 Hàm phán xét kiểm thử tính đúng đắn ngữ pháp trong cách tiếp cận kiểm thử phủ định 92
4.11 Hàm phán xét kiểm tra tính đúng đắn về ngữ pháp 95
4.12 Hàm phán xét kiểm thử đánh giá tính bảo toàn thông tin dựa trên phân tích bất biến khang định 96
4.13 Hàm phán xét kiểm thử đánh giá tính bảo toàn thông tin dựa trên phân tích bất biến phủ định .- 97
5.1 Tổng quan phương pháp kiểm thử dựa trên tập luật chuyển 104 5.2 Mô tả ca kiểm thử được tạo ra từ chuỗi luật rs?zs 113
5.3 Minh họa quan hệ giữa các kịch bản 4p dụng chuyển su và xa 114 5.4 Hàm phán xét kiểm thử kiểm tra tính hội tụ 115
5.5 Hàm phán xét kiểm thử kiểm tra tính bảo toàn hành vi 116
5.6 Hàm phán xét kiểm thử kiểm tra tính đúng đắn về ngữ pháp và bảo toàn thông tin - co 116 5.7 Hàm phán xét kiểm thử kiểm tra tính bảo toàn thông tin hai chiều 2 ee 117 6.1 Các thành phần của khung công việc TC4MT 120
6.2 Kiểu của tam đồ thị đặc tả chuyển đổi CD2RDBM 121
6.3 Tạo các thành phần của đặc tả chuyển đổi 122
6.4 Giao diện đồ họa chức năng phân tích đặc tẩ 125
6.5 Giao diện đồ họa Test Bench trên USE 124
6.6 Cách cấu trúc hàm phán xét kiểm thử dựa trên các biểu thức phân loại CT ky 125 6.7 Kết quả kiểm thử chương trình chuyển đổi RTL 127
6.8 Một kết quả đầu ra của kiểm thử chuyển đổi tương ứng với kết quả ca kiểm thử thất bại 128
6.9 Một ví dụ về loại toán tử đột biến điều hướng RSCC 133
Trang 13Chương 1
MỞ ĐẦU
1.1 Đặt van dé
Kỹ nghệ hướng mô hình (Model-Driven Engineering - MDE) dang trỏ
thành một phương pháp kỹ thuật phổ biến để phát triển các ứng dụng phần
mềm quy mô lớn Trong MDE, việc sử dụng các mô hình và các bộ chuyểnđổi mô hình là nguyên tắc kỹ nghệ chính để hiện thực hóa quy trình pháttriển phần mềm [9]
Kỹ nghệ hướng mô hình đề xuất việc tích cực sử dụng các mô hình như
là các chế tác phần mềm trong các pha của quy trình phát triển Các bộchuyển đổi mô hình được sử dụng để biểu diễn lại mô hình bằng các ngôn
ngữ mô hình hóa khác nhau và ở các mức độ trừu tượng khác nhau |9, 43].
Chang han bộ chuyển đổi mô hình được sử dung để dịch mô hình sang miền
ngữ nghĩa cho mục đích phan tích [62]; làm min mô hình thiết kế [69]; đồng
bộ hóa mô hình giữa các ngôn ngữ mô hình hóa khác nhau [28]; tái cấu trúc
mô hình; sinh mã nguồn từ mô hình [12] Các ứng dụng quan trọng của
chuyển đổi mô hình đặt ra nhu cầu cần có các phương pháp tiếp cận mạnh
mẽ để đảm bảo chất lượng của các bộ chuyển đổi mô hình
Trong công nghiệp, kiểm thử được sử dụng như là kỹ thuật phổ biếnnhất để kiểm tra chất lượng vì nó là một phương pháp dễ thực hiện, chi phíthấp và có thể phát hiện ra nhiều lỗi mặc dù nó không thể đảm bảo phần
mềm không còn lỗi Do sự phức tạp về cú pháp và ngữ nghĩa của các mô
hình đầu vào và đầu ra, các bộ chuyển đổi mô hình được xem là phần mềmphức tạp tiềm an nhiều rủi ro về chất lượng Kỹ thuật kiểm thử là sự lựa
1
Trang 14cú pháp và ngữ nghĩa của các ngôn ngữ mô hình hóa, cũng như đặc tính
thiết kế của các ngôn ngữ cài đặt chuyển đổi khác với ngôn ngữ lập trìnhphần mềm thông thường đã tạo ra nhiều thách thức trong việc phát triểncác kỹ thuật kiểm thử chuyển đổi mô hình hiệu quả
Để kiểm thử chuyển đổi mô hình, đầu tiên kiểm thử viên cần tạo một tập
đầu vào các mô hình nguồn tuân thủ siêu mô hình nguồn Các mô hình này
còn được gọi là mô hình kiểm thử (test models) hay dữ liệu kiểm thử Doviệc tạo thủ công các mô hình kiểm thử thường mất nhiều thời gian, côngsức và dễ mắc sai sót, việc sinh mô hình kiểm thử tự động là một giải pháphữu ích được đưa ra [5] Tiếp theo, việc thực thi chuyển đổi mô hình trêncác mô hình kiểm thử dưới điều kiện kiểm thử sẽ tạo ra các mô hình đích
đầu ra Kiểm thử viên cần cấu trúc các phán xét kiểm thử (test oracles)
định nghĩa đầu ra mong đợi và hàm phán xét kiểm thử so sánh đầu ra thực
sự với đầu ra mong đợi để đưa ra kết quả kiểm thử Việc sinh tự động tập
mô hình kiểm thử và cấu trúc các phán xét kiểm thử là vấn đề chính đặt racủa bài toán kiểm thử các bộ chuyển đổi mô hình
Van đề 1: Sinh tự động tập mô hình kiểm thử Đầu tiên, để sinh
tự động tập mô hình kiểm thử, các đề xuất hiện tại thường dựa trên hainhóm kỹ thuật chính là kiểm thử hộp đen và kiểm thử hộp trắng
Các kỹ thuật kiểm thử hộp trắng phân tích các thành phần của cài đặt
bộ chuyển đổi mô hình để chỉ định các điều kiện sinh tập mô hình kiểmthử [15, 18, 34, 71] Các phương pháp kiểm thử hộp trắng có nhiều thuậnlợi trong việc thiết kế các mô hình kiểm thử bao phủ các đường thực thi củachương trình cài đặt và sinh các dữ liệu kiểm thử kiểm tra các hiệu ứng lềcủa chương trình, đặc biệt là hỗ trợ tốt cho việc gỡ lỗi Tuy nhiên, kiểm thửhộp trắng các bộ chuyển đổi mô hình cũng gặp phải nhiều hạn chế TrongMDE, hầu hết các ngôn ngữ cài đặt bộ chuyển đổi được phát triển theo
hướng chuyên biệt miền cho các miền ứng dụng khác nhau, do đó rất đa
Trang 15Chương 1 Mở dau 3
dạng về thể loại, đông đảo về số lượng, tiến hóa liên tục và thiếu các ngônngữ cài đặt cho mục đích chung [9, 48] Chính vì vậy các phương pháp kiểm
thử hộp trắng được đề xuất thường khó khăn khi áp dụng trên nhiều ngôn
ngữ cài đặt và tập ca kiểm thử sinh ra cũng bị hạn chế về khả năng tái sửdụng Bên cạnh đó, các phương pháp kiểm thử hộp trắng cũng đòi hỏi nỗlực cao của kiểm thử viên trong việc hiểu các ngôn ngữ cài đặt và phân tích
chương trình cài đặt.
Các kỹ thuật kiểm thử hộp đen phân tích siêu mô hình nguồn định nghĩakhông gian mô hình hóa dữ liệu đầu vào hoặc đặc tả yêu cầu để thiết kếtập mô hình kiểm thử Các phương pháp kiểm thử hộp đen có khả năng ápdụng để kiểm thử các bộ chuyển đổi mô hình được viết bằng nhiều ngôn
ngữ cài đặt khác nhau, tập mô hình kiểm thử sinh ra có tính tái sử dụng
cao và dễ thực hiện hơn cho các kiểm thử viên Đặc biệt, các kỹ thuật kiểmthử hộp đen cho phép thiết kế kiểm thử sớm trước khi cài đặt được tạo ra
Để áp dụng cách tiếp cận kiểm thử hộp đen hiệu quả, cần cần có phươngpháp đặc tả day đủ, chính xác tập yêu cầu của bộ chuyển đổi mô hình.Phương tiện đặc tả cần phải hỗ trợ tốt cho việc phân tích, thiết kế kiểm
thử Một đặc tả không đầy đủ có thể tạo ra tập mô hình kiểm thử không
bao phủ hết các khía cạnh quan trọng của miền nghiệp vụ, nhiều trường
hợp đầu vào có thể gây ra lỗi không được thử nghiệm Đặc tả yêu cầu khôngchính xác có thể tạo ra các dữ liệu kiểm thử không hợp lệ làm sai lệch kếtquả kiểm thử Các phương tiện diễn tả tập yêu cầu cần hỗ trợ tốt cho việcthẩm định yêu cầu và sinh các chế tác khác từ đặc tả chang hạn như chươngtrình cài đặt bộ chuyển đổi mô hình
Thiết kế bởi cam kết được xem là nền tảng để phát triển các hệ thống tin
cậy [64] Phương pháp đặc tả dựa trên cam kết cũng đã được đề xuất cho
phát triển chuyển đổi mô hình như được đề cập trong [16, 40, 66, 74, 86]
Tuy nhiên việc thiết kế một ngôn ngữ đặc tả chuyển đổi mô hình dựa trên
cam kết, độc lập với môi trường cài đặt, cho phép đặc tả các loại cam kết
khác nhau một cách hiệu quả vẫn còn là một thách thức đặt ra trong kỹ
nghệ hướng mô hình.
Van đề 2: Cấu trúc phán xét kiểm thử Vấn đề chính thứ hai liên
quan tới xác định các phán xét kiểm thử mô tả đầu ra mong đợi và hàm
phán xét kiểm thử để đánh giá mô hình đầu ra thực sự so với đầu ra mong
Trang 16Chương 1 Mở dau 4
đợi Hai hướng tiếp cận chính để phán xét đầu ra kiểm thử chuyển đổi mô
hình là phán xét đầy đủ và phán xét bộ phận [5, 70, 73, 85] Phan xét day
đủ là việc so sánh mô hình đầu ra thực sự với mô hình đầu ra mong đợi, trong khi phán xét bộ phận là việc đánh giá một số tính chất mong đợi trên
mô hình đầu ra Thuật toán so sánh hai mô hình trong phán xét đầy đủ là
trường hợp của của dang cấu đồ thị, đây là một bài toán NP-Complete [31],
đòi hỏi những kiến thức sâu sắc về ngữ nghĩa của ngôn ngữ mô hình hóa
đích Bên cạnh đó hầu hết ngữ nghĩa thực thi của các ngôn ngữ cài đặt
chuyển đổi mô hình là không đơn định [23] dẫn tới khó khăn khi so sánh
mô hình đầu ra thực sự Do đó xu hướng chung của việc cấu trúc phán xét
kiểm thử là sử dụng phán xét bộ phan [70]
Để thực hiện phán xét bộ phận, kiểm thử viên cần căn cứ vào cơ sở kiểm
thử và mục tiêu kiểm thử để xác định các tính chất mong đợi trên mô hìnhđầu ra và đề xuất phương pháp đánh giá các tính chất này Kiểm thử làphương pháp tiếp cận phổ biến để kiểm chứng các thuộc tính chất lượngcủa cài đặt Tuy nhiên các nghiên cứu hiện tại về kiểm thử để kiểm chứngcác thuộc tính chất lượng bộ chuyển đổi mô hình hầu hết tập trung vào fính
đúng đắn uê ngữ pháp và tinh bảo toàn thông tin tĩnh Các thuộc tính chat lượng khác như tinh bảo toàn hành vi, tính day đủ, tính kết thúc, tính hội
tụ chưa được xem xét một cách thấu đáo, như được chỉ ra trong [70, 85].
Nhìn chung, việc kiểm thử nhằm đảm bảo chất lượng chuyển đổi mô hình
đặt ra nhiều thách thức cần phải giải quyết Có một số hướng tiếp cận đã
được đề xuất song vẫn còn một số tồn tại chưa được giải quyết triệt để sau
1 Cần có phương pháp đặc tả hiệu quả tập yêu cầu để cung cấp cơ sở
kiểm thử cho các kỹ thuật kiểm thử hộp đen Các ngôn ngữ đặc tả hiện
tại hầu hết chỉ tập trung đặc tả tập cam kết hành vi Ngôn ngữ đặc
tả cần cho phép đặc tả đầy đủ các cam kết kiểu, cam kết hành vi theo
cả khung nhìn tĩnh và các cam kết thể thức khung nhìn động Phương
pháp đặc tả cần cho phép diễn đạt trực quan các yêu cầu phức tạp và
có cơ sở ngữ nghĩa hình thức để hỗ trợ cho nhiệm vụ kiểm chứng các
bộ chuyển đổi mô hình
2 Phương pháp kiểm thử hộp đen dựa trên đặc tả chuyển đổi mô hình
cho phép thiết kế các ca kiểm thử sớm ngay từ giai đoạn đặc tả và độclập với môi trường cũng như ngôn ngữ cài đặt chuyển Phân tích phân
Trang 17Chương 1 Mở dau 5
vùng giúp sinh tập mô hình kiểm thử đạt độ bao phủ cao cơ sở kiểm
thử và tránh trùng lặp ca kiểm thử Tuy nhiên phương pháp kiểm thử
dựa trên phân tích phân vùng cũng có những khó khăn thách thức nhất định Các điều kiện phân vùng cần được diễn đạt một cách đồng
nhất để hỗ trợ cho việc kết hợp phân vùng và cách thức diễn đạt nàycũng cần phải hỗ trợ cho việc giải điều kiện sinh mô hình kiểm thử tựđộng Việc xác định các điều kiện sinh mô hình kiểm thử cần liên kếttương ứng với điều kiện đánh giá đầu ra mong đợi để kiểm chứng các
thuộc tính chất lượng cụ thể
3 Kiểm thử không chỉ giúp kiểm chứng các thuộc tính chất lượng như
tính đúng đắn về mặt ngữ pháp, tính bảo toàn thông tin, tính đầy
đủ mà còn hỗ trợ cả việc kiểm chứng các thuộc tính chất lượng của
bộ chuyển đổi mô hình Trong các nghiên cứu liên quan các thuộctính chất lượng chuyển thường được kiểm chứng sử dụng các phương
pháp hình thức với độ phức tap và chi phí cao |4, 60, 70] hoặc sử
dụng các phương pháp kiểm thử hộp trắng dựa trên phân tích cài đặtchuyển [34, 34, 53] Điều này đặt ra thách thức của việc kiểm chứngmột cách có hệ thống các thuộc tính chất lượng chuyển đổi mô hình
sử dụng các kỹ thuật kiểm thử hộp đen
1.2 Mục tiêu và phạm vi nghiên cứu
Với các thách thức đặt ra như trên, luận án hướng đến phát triển khung
kiểm thử hướng đặc tả nhằm kiểm tra, đánh giá chất lượng các bộ chuyển
đổi mô hình Khung kiểm thử hướng đặc tả không chỉ cho phép đặc tả hiệu
quả tập yêu cầu của bộ chuyển đổi mô hình mà còn hỗ trợ sinh bộ ca kiểm
thử một cách tự động O đó tập mô hình kiểm thử và các phán xét kiểm
thử được sinh ra một cách nhất quán từ đặc tả tạo điều kiện thuận lợi cho
tự động hóa quy trình kiểm thử Để đat được mục đích này, luận án tập
trung vào các mục tiêu nghiên cứu cụ thé sau.
Mục tiêu 1 Thiết kế ngôn ngữ đặc tả cho phép biểu diễn tập yêu cầuchính thức bởi các cam kết chuyển đổi mô hình trực quan, dễ thẩm định và
hỗ trợ cho việc áp dụng các kỹ thuật thiết kế kiểm thử
Trang 18Chương 1 Mở dau 6
Mục tiêu 2 Xây dựng phương pháp phân tích đặc tả một cách có hệ
thống để sinh tập mô hình kiểm thử một cách tự động, sử dụng các khái
niệm bao phủ các khía cạnh khác nhau của đặc tả, cũng như chỉ định và
biểu điễn các tính chất mong đợi trên mô hình đầu ra một cách thích hợp
nhằm hỗ trợ cho việc đánh giá đầu ra mong đợi một cách tự động.
Mục tiêu 3 Phát triển kỹ thuật kiểm chứng đa dạng các thuộc tính
chất lượng về khía cạnh chức năng của các bộ chuyển đổi mô hình như tính
đúng đắn về ngữ pháp, tính đầy đủ, tính bảo toàn thông tin, tính bảo toàn hành vi, tính hội tụ và tính kết thúc.
Phạm vi nghiên cứu của luận án tập trung vào các kỹ thuật kiểm thửhộp đen các bộ chuyển đổi mô hình, loại chuyển đổi mô hình sang mô hình
ngoại sinh Phương pháp đề xuất bởi luận án có khả năng áp dụng trên mô
hình ở nhiều mức độ trừu tượng khác nhau (mô hình độc lập tính toán, mô hình độc lập nền tang và mô hình phụ thuộc nền tang), với điều kiện siêu
mô hình định nghĩa các loại mô hình này được biểu diễn dựa trên chuẩn
phương tiện siêu mô hình (Meta Object Facility - MOF) [S3].
1.3 Nội dung và phương pháp nghiên cứu
Để đạt được các mục tiêu trên, nội dung nghiên cứu của luận án tập
trung vào việc phát triển khung hình thức hỗ trợ kiểm thử hướng đặc tả để
kiểm chứng nhiều thuộc tính chất lượng khác nhau của hệ thống chuyển đổi
từ mô hình sang mô hình Các thành phần của khung kiểm thử hướng đặc
tả bộ chuyển đổi mô hình được mô tả trong Hình 1.1
Khung công việc kiểm thử hướng đặc tả TC4MT bao gồm tám tác vụ
chính gán nhãn lần lượt từ 1-8 như sau Dầu tiên, nhân viên thiết kế sử
dụng ngôn ngữ đặc tả TC4MT để mô tả các cam kết của một bộ chuyểnđổi mô hình như được hiển thị trong nhãn 1 Nhân viên cai đặt sử dụngđặc tả làm đầu vào cho công đoạn cài đặt như được hiển thị trong nhãn 2a
O đó các cài đặt chuyển đổi được viết bởi ngôn ngữ cài đặt phụ thuộc nền
tang (ví dụ như QVTr [68], ATL [47], RTL [20]) Ngữ nghĩa hình thức của
ngôn ngữ TC4MT cũng mở ra khả năng sử dụng các chuyển đổi mức cao
(High-Order Transformations - HOTs) như được thảo luận trong [9] Cụ
thể, chuyển HOT có thể được áp dụng để chuyển từ một định nghĩa chuyển
Trang 19Nhan viên “ ATL, RTL )
Cal det Đặc ta kiêm thặc tả kiếm thử XÀ sả ek sect
Đặc ta kiếm thử (cấu
(tập t hợp phân “trie tam đỗ nụ
e ©
Kiém the |
-Viên Tiêu chí bao phủ va
thuộc tính can kiểm tra
Cac mô hình
đầu ra
Quy trình kiém thử hướng đặc tả
Hình 1.1 : Tổng quan phương pháp đề xuất cho đảm bảo chất lượng
chuyển đổi mô hình
mức cao, độc lập nền tảng (Platform-Independent Modeling - PIM) như
TC4MT sang ngôn ngữ định nghĩa chuyển mức thấp, phụ thuộc nền tảng
(Platform-Specific Modeling - PSM) như RTL [20], QVTr [68], ATL [47].
Ngược lai các chuyển HOT từ định nghĩa chuyển mức PSM sang mức PIMcũng có thể được thực hiện cho mục đích tái kỹ nghệ
Ngôn ngữ TC4MT được sử dụng để đặc tả các loại cam kết khác nhau
của chuyển đổi mô hình Các cam kết mức kiểu mô tả kiểu của các mô hình
vào/ra được mô tả bởi cấu trúc siêu mô hình nguồn/đích Các cam kết mức hành vi bao gồm tiền điều kiện mô tả ràng buộc trên tập mô hình nguồn, hậu điều kiện mô tả ràng buộc trên tập mô hình đích và bất biến mô tả quan hệ ràng buộc giữa các cặp mô hình nguồn-đích hợp lệ hoặc không hợp
lệ Các cam kết thể thức diễn đạt quan hệ tiến hóa giữa các cặp mô hìnhnguồn-đích trong quá trình áp dụng chuyển bởi các luật chuyển
Tiếp theo, trong giai đoạn phân tích kiểm thử, luận án nghiên cứu haiphương pháp phân tích đặc tả chuyển cho mục đích thiết kế kiểm thử Như
mô tả ở nhãn 3a, phương pháp thứ nhất phân tích siêu mô hình và cam kết
Trang 20Chương 1 Mở dau 8
hành vi để chỉ định các điều kiện phân vùng tương đương Ở đó các điều
kiện phân vùng được diễn đạt bởi các biểu thức OCL logie (boolean OCL)
có thể kết hợp với nhau tạo thành phân vùng tổ hợp như mô tả ở nhãn 4a.Việc kết hợp các phân vùng được định hướng với các tiêu chí bao phủ kiểm
thử cung cấp bởi kiểm thử viên để sinh tập mô hình kiểm thử hiệu quả
Nhu mô tả ở nhãn 3b, phương pháp thứ hai phân tích tập luật chuyển
để xác định các điều kiện kiểm thử Luận án phân tích quan hệ phụ thuộcgiữa các luật chuyển tam đồ thị để cấu trúc các đặc tả kiểm thử Dựa trêntính chất của các quan hệ phụ thuộc luật, kiểm thử viên cung cấp các tiêuchí bao phủ kiểm thử định hướng quá trình cấu trúc các chuỗi luật dựa trênquan hệ phụ thuộc theo cách tiếp cận tương tự kiểm thử văn phạm Sau
đó, các chuỗi luật phụ thuộc được sử dụng để tạo ra các mô tả ca kiểmthử (Test Case Description - TCD) như biểu thị 6 nhấn 4b Các TCD được
sử dụng như là đồ thị mẫu để tạo ra các mô hình kiểm thử đầu vào và đầu
ra mong đợi một cách trực tiếp hoặc dich các đồ thị thành phan của nó sang
các biểu thức boolean OCL để mô tả ràng buộc cấu trúc của mô hình kiểm
thử cũng như tính chất để phán xét bộ phận các mô hình đầu ra Luận ándựa trên cách tiếp cận giải ràng buộc sinh mô hình tự động để sinh các môhình kiểm thử sử dụng các bộ giải ràng buộc logic Kodkod [80], Alloy [76],UMLtoCSP [39]) như được biểu thị trong nhãn 5a va nhãn 5d
Trong phương pháp kiểm thử dựa trên cam kết kiểu và cam kết hành vi,
cấu trúc phân vùng trên siêu mô hình, các mẫu đích của bất biến và hậu
điều kiện được dich sang các xác nhận OCL (OCL assertion) như biểu thị
ở nhãn 3a Các xác nhận OCL thực chất cũng là các phát biểu boolean OCLđược kết hợp với nhau để đánh giá đầu ra mong đợi như mô tả ở nhãn 6a.Tương tự, kiểm thử dựa trên tập luật chuyển, mẫu đồ thị đích của TCD
cũng được dịch sang dạng boolean OCL để định nghĩa đầu ra mong đợi như
mô tả ở nhãn 6b.
Ỏ giai đoạn thực thi kiểm thử, các cài đặt chuyển sẽ lấy các mô hình
kiểm thử làm đầu vào, thực thi chuyển để tạo các mô hình đầu ra như minhhọa trong nhấn 7 Tiếp đó, các mô hình đầu ra được kiểm tra bởi các phátbiểu boolean OCL đóng vai trò phán xét kiểm thử một cách tự động sửdụng công cụ thẩm định mô hình như trong nhãn 8 Kết quả phán xét được
mô tả trong báo cáo kiểm thử
Trang 21Chương 1 Mở dau 9
Cuối cùng, luận án xây dựng bộ công cụ hỗ trợ có tự động hóa một số
khâu trong quy trình kiểm thử hướng đặc tả và một số ví dụ chuyển sử dụng
ngôn ngữ cài đặt chuyển để đánh giá hiệu quả các bộ ca kiểm thử được sinh
ra từ phương pháp đề xuất.
1.4 Các đóng góp chính của luận án
Luận án đã đề xuất được một khung hình thức hỗ trợ đảm bảo chất
lượng chuyển đổi mô hình, đó là một khung kiểm thử hướng đặc tả có tên
là TC4MT Các đóng góp chính của luận án xoay quanh khung kiểm thử
hướng đặc tả như sau.
1 Đề xuất ngôn ngữ đặc tả mức cao TC4MT để mô tả tập yêu cầu của
bộ chuyển đổi mô hình dựa trên cam kết Ngôn ngữ TC4MT cho phép
mô tả một cách có hệ thống các loại cam kết khác nhau như cam kết
kiểu, cam kết hành vi và cam kết thể thức chuyển Các cam kết được
diễn đạt một cách trực quan bởi các mẫu đồ thị và luật chuyển tam đồthị sử dụng cú pháp dang sơ đồ lớp UML kết hợp các biểu thức ràng
buộc OCL Ngữ nghĩa hình thức của văn phạm tam đồ thị cung cấp
cơ sở hình thức cho việc thiết kế luật chuyển và phân tích các thuộctính chất lượng cho mục đích kiểm chứng
2 Đề xuất kỹ thuật phân vùng và kết hợp phân vùng dựa trên cam kết
kiểu và cam kết hành vi để kiểm thử theo hai cách tiếp cận kiểm thử
khẳng định và kiểm thử phủ định.
3 Đề xuất phương pháp phan tích quan hệ phụ thuộc giữa các luật chuyển
tam đồ thị mô tả cam kết thể thức để thiết kế mô tả ca kiểm thử
4 Phân tích ngữ nghĩa thực thi của bộ chuyển đổi mô hình ở mức độ đặc
tả sử dụng văn phạm tam đồ thị để chỉ định các điều kiện kiểm thử
kiểm chứng có hệ thống các thuộc tính chất lượng khác nhau của bộ
chuyển đổi mô hình bao gồm các thuộc tính chung và thuộc tính tùy
chỉnh.
Trang 22Chương 1 Mở dau 10
1.5 Câu trúc luận án
Luận án “Khung hành thúc hỗ trợ đảm bảo chất lượng chuyển doi mô
hình ” bao gồm bảy chương Trong đó, Chương Mở đầu trình bày về lý do chọn đề tài, mục đích, nội dung, đối tượng nghiên cứu và đóng góp của luận
an Các chương còn lai được tổ chức như trong Hình 1.2, cụ thể như sau
Phương pháp kiểm thứ dựa trên siêu
mo hình và cam kết ngữ nghĩa hanh vi
Kiểm thử hướng đặc tả các bộ chuyển đỗi mô hình
Hình 1.2 : Cấu trúc luận án.
Chương 2 trình bày về các kiến thức nền tảng được sử dụng trong luận
án Đầu tiên, luận án trình bày tổng quan về kỹ nghệ chuyển đổi mô hình
như vị trí vai trò, quy trình phát triển, các hướng tiếp cận phát triển cũng
như vấn đề đảm bảo chất lượng bộ chuyển đổi mô hình Mục tiếp theo đề
cập tới các vấn đề liên quan tới kiểm thử bộ chuyển đổi mô hình như quytrình kiểm thử, các phương pháp của kiểm thử dựa trên đặc tả Luận áncũng giới thiệu về văn phạm tam đồ thị, co sở hình thức để định nghĩa ngônngữ đặc tả chuyển đổi mô hình đề xuất bởi luận án
Trang 23Chương 1 Mở dau 11
Chương 3 trình bày một ngôn ngữ đặc tả chuyển đổi mô hình cho có tên
là TC4MT Ngôn ngữ TC4MT là ngôn ngữ đặc tả yêu cầu dựa trên cam kết
dạng khai báo, trực quan sử dụng các mẫu biểu diễn dạng đồ thị định kiểu
Đặc tả yêu cầu dựa trên cam kết cho phép phân tích hình thức các thuộc
tính chất lượng bộ chuyển đổi mô hình ở mức cao, từ đó giúp đưa ra phươngpháp tiếp cận kiểm thử các thuộc tính chất lượng khác nhau sử dụng cáchtiếp cận kiểm thử hộp đen, độc lập với nền tang ngôn ngữ cài đặt
Chương 4 trình bày phương pháp kết hợp phân vùng trên siêu mô hình
mô hình đầu vào và tập phân vùng dựa trên các cam kết hành vi chuyển
để sinh tập mô hình kiểm thử hộp đen theo hai chiến lược kiểm thử khẳngđịnh và kiểm thử phủ định Các phán xét kiểm thử tương ứng kiểm chứng
tính đúng đắn về ngữ pháp, tính đầy đủ và tính bảo toàn thông tin tĩnh
của các bộ chuyển đổi mô hình được cung cấp
Chương 5 trình bày phương pháp kiểm thử các bộ chuyển đổi mô hìnhdựa trên phân tích tập cam kết thể thức chuyển được biểu diễn bởi các luậtchuyển Phân tích quan hệ phụ thuộc giữa các luật chuyển mức đặc tả đểthiết kế các ca kiểm thử dựa trên cách tiếp cận kiểm thử văn phạm Phân
tích các thuộc tính chất lượng dựa trên ngữ nghĩa của văn phạm tam đồ thị,
luận án kết hợp tập ca kiểm thử được sinh ra từ quan hệ phụ thuộc luật vớiviệc chỉ định các hàm phán xét kiểm thử tương ứng
Chương 6 trình bày về công cụ hỗ trợ và đánh giá các phương pháp đã
đề xuất trên một tập ví dụ chuyển đổi mô hình phổ biến Trong chương này,các thảo luận về hiệu quả của phương pháp kiểm thử đề xuất và đánh giáhiệu quả của các tập mô hình kiểm thử được đưa ra
Cuối cùng, Chương 7 tóm tắt các đóng góp chính của luận án và thảo luận về các nghiên cứu trong tương lai từ các kết quả ban đầu đã đạt được.
Trang 24trạng nghiên cứu của bài toán kiểm thử để đảm bảo chất lượng chuyển đổi
mô hình Trong chương này, một ví dụ chuyển đổi mô hình cũng được mô
tả để minh họa cho các phương pháp đề xuất Bên cạnh đó, luận án cũng
trình bày nền tảng hình thức của văn phạm tam đồ thị để đặc tả và kiểmchứng các thuộc tính chất lượng chuyển đổi mô hình
2.1 Phát triển bộ chuyển đổi mô hình
Trong mục này, luận án trình bày về vị trí vai trò của chuyển đổi mô hìnhtrong kỹ nghệ hướng mô hình, quy trình, các hướng tiếp cận phát triển, vàvan đề đảm bảo chất lượng chuyển đổi mô hình
2.1.1 Giới thiệu chung về chuyển đổi mô hình
Kỹ nghệ hướng mô hình (Model-Driven Engineering - MDE) |9} đề xuất
việc sử dụng chủ động các chuyển đổi mô hình để thực hiện các giai đoạnkhác nhau của quy trình phát triển phần mềm Do đó, các mô hình vàchuyển đổi mô hình trở thành tạo tác quan trọng bậc nhất trong suốt vòngđời phát triển phần mềm
12
Trang 25Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 13
Nhóm quan ly đối tượng (Object Management Group - OMG) da chuẩn
hóa các khái niệm của MDE trong kiến trúc hướng mô hình (Model Driven Architecture - MDA) Trong MDA, có ba mức độ trừu tượng của các mô
hình phần mềm và quan hệ ánh xạ giữa các mô hình ở các mức độ trừu tượng khác nhau được định nghĩa Thứ nhất, các mô hình độc lập tính toán (Computation-Independent Model - CIM) 6 mức độ trừu tượng cao nhất
được sử dụng để diễn đạt ngữ cảnh hệ thống, tập yêu cầu nghiệp vụ mà
không có bất kỳ hàm ý tính toán nào Thứ hai, các mô hình độc lập nền tang (Platform-Independent Model - PIM) mô tả hành vi, cau trúc của hệ
thống mà không để cập tới nền tảng cài đặt Cuối cùng, các mô hình chuyên
biệt nền tảng (Platform-Specific Model - PSM) làm giầu mô hình PIM với các thông tin về nền tảng cài đặt.
Chuyển đổi mô hình giúp tự động hóa quá trình phát triển phần mềmbằng cách áp dụng chuỗi các phép biến đổi từ mô hình mức cao sang môhình mức thấp (chuyển từ CIM sang PIM và chuyển từ PIM sang PSM).Ngoài ra các chuyển đổi mô hình theo chiều ngược lại, từ mô hình mức thấpsang mô hình mức cao (chuyển từ PSM sang PIM và chuyển từ PIM sangCIM) cũng có thể được áp dụng chẳng hạn cho mục đích kỹ nghệ ngược
Hình 2.1 mô tả khung công việc của một bộ chuyển đổi mô hình điểnhình Một chuyển đổi mô hình được thực hiện giữa cặp mô hình nguồn và
Siêu - Siêu mô hình
Trang 26Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 14
mô hình đích nhưng thực sự được định nghĩa ở cấp độ siêu mô hình, trên
cơ sở các mô hình nguồn và mô hình đích phải tuân thủ siêu mô hình tương
ứng của nó Các ngôn ngữ chuyển đổi mô hình cho phép định nghĩa bộchuyển đổi mô hình bởi tập luật chuyển tham chiếu tới các phần tử trongcấu trúc của siêu mô hình Tập luật chuyển đổi có thể được viết một cáchthủ công hoặc có thể được tạo ra một cách tự động bằng cách làm mịn thiết
kế luật mức đặc tả sang các luật mức cài đặt Một định nghĩa chuyển đổi
mô hình có khả năng thực thi trên nền tảng phát triển cụ thể được gọi là
cài đặt chuyển Chương trình cài đặt chuyển cần phải tuân thủ cú pháp và
ngữ nghĩa của ngôn ngữ cài đặt và được thực thi trên một môi trường thực
thi cụ thể như EMF [79], USE [33]
Nhóm OMG cũng đề xuất sử dụng phương tiện siêu mô hình
(Meta-Object Facility - MOF) như là tiêu chuẩn để định nghĩa ngôn ngữ mô hìnhhóa [83] Tiêu chuẩn MOF đề xuất việc sử dụng các ký hiệu của biểu đồ
lớp trong ngôn ngữ mô hình hóa hợp nhất (Unified Modelling Language
-UML) để mô tả ngôn ngữ mô hình hóa Không chỉ các ngôn ngữ mô hìnhhóa nguồn/đích, mà các ngôn ngữ đặc tả/cài đặt bộ chuyển đổi mô hìnhcũng có thể được định nghĩa dựa trên chuẩn MOF Trường hợp siêu mô
hình nguồn và siêu mô hình đích là hai ngôn ngữ mô hình hóa riêng biệt,
bộ chuyển đổi mô hình được gọi là chuyển đổi mô hình ngoại sinh Khung
công việc chung trong Hình 2.1 cũng đúng cho trường hợp chuyển đổi môhình nội sinh ở đó siêu mô hình nguồn và siêu mô hình đích là một Chuyểnđổi mô hình nội sinh được sử dụng cho mục đích để tái cấu trúc mô hình
Chuyển đổi mô hình ngoại sinh được sử dụng để tạo ra mô hình đích
từ mô hình nguồn theo kịch bản chuyển đổi tiến hoặc hỗ trợ cả kịch bảnchuyển đổi lùi để tạo ra mô hình nguồn từ mô hình đích trong trường hợp
của chuyển đổi mô hình hai chiều O một tình huống khác mô hình nguồn
và mô hình đích có thể giữ nguyên, phép chuyển đổi mô hình được sử dụng
để tạo ra quan hệ ánh xạ giữa các phần tử của hai mô hình, còn được gọi
là chuyển đổi tích hợp Cuối cùng, tình huống chuyển đồng tiến hóa xảy ra
khi mô hình nguồn và mô hình đích được cập nhật một cách đồng thời bằng
cách thêm vào các phần tử ở cả hai phía Trong nghiên cứu này, luận án
này tập trung vào các bộ chuyển đổi mô hình sang mô hình, loại chuyển đổingoại sinh Tuy nhiên, các khái niệm được trình bày có thể được điều chỉnhcho phù hợp với các loại chuyển đổi mô hình khác
Trang 27Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 15
2.1.2 Cài đặt bộ chuyển đổi mô hình
Các hướng tiếp cận cài đặt chuyển đổi mô hình có thể được phân ra
thành các nhóm chính [48]: cách tiếp cận dựa trên quan hé/khai báo, cách
tiếp cận dựa trên mệnh lệnh/thực thi, cách tiếp cận dựa trên chuyển đổi đồ
thị và cách tiếp cận lai.
Cách tiếp cận sử dụng ngôn ngữ quan hệ/khai báo Cách tiếp cận
này thường tập trung vào khai báo mối quan hệ giữa các phần tử mô hình đầu vào và phần tử mô hình đầu ra thay vì diễn đạt trực tiếp làm thế nào
để tạo ra được các phần tử của mô hình đầu ra từ phần tử của mô hình
đầu vào cho trước Nói cách khác, các cách tiếp này dựa trên khai báo và duy trì quan hệ nhất quán giữa các phần tử trong mô hình đầu vào và đầu
ra Các mối quan hệ này thường được biểu diễn dưới dạng các biểu thức vị
từ hoặc các ràng buộc bất biến Một số ngôn ngữ chuyển đổi mô hình theocách tiếp cận khai báo/quan hệ phổ biến như QVTr [68], QVTe [21]
Cách tiếp cận sử dụng ngôn ngữ mệnh lệnh/thực thi Các ngônngữ mệnh lệnh tập trung vào cách thức và thời điểm thực hiện chuyển đổi
mà không thu hút sự chú ý đến các mối quan hệ phải có giữa các phần tử
nguồn và đích Các ngôn ngữ mệnh lệnh đặc tả các chuyển đổi như là một danh sách có khả năng thực thi tuần tự của các hành động hoặc các luật.
Các khái niệm và cấu trúc ngôn ngữ của các ngôn ngữ chuyển đổi mệnh
lệnh tương tự như các ngôn ngữ lập trình mệnh lệnh có mục đích chung (ví
dụ như Java), vì vậy chúng thường dé học đối với các nhà phát triển nhưng
khó khăn đối với những người phân tích, thiết kế hay kiểm thử bộ chuyển đổi mô hình Một số ngôn ngữ chuyển đổi mô hình mệnh lệnh/thực thi phd
biến như QVTo [21], MetaEdit+ [49].
Cách tiếp cận sử dụng ngôn ngữ dựa trên chuyển đổi đồ thị Các
ngôn ngữ này dựa trên phép biến đổi đồ thị đại số [23] và biểu diễn các môhình đầu vào, đầu ra bằng cách sử dụng các biến thể của đồ thị định kiểu.Phép biến đổi đồ thị gồm một tập hợp các luật chuyển đổi đồ thị (còn gọi
là luật viết lại hoặc luật dẫn xuất), được áp dụng cho đồ thị đầu vào để tạo
ra đồ thị đầu ra Các ngôn ngữ dựa trên chuyển đổi đồ thị với các luật viếtlại đặc biệt phù hợp để thực hiện các chuyển đổi nội sinh, nhưng gặp khó
khăn trong việc duy trì khả năng xác định nguồn gốc giữa các phần tử đầu vào và đầu ra, nhiệm vụ này yêu cầu các liên kết truy xuất nguồn gốc phải
Trang 28Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 16
được mã hóa rõ ràng Chính vì vậy chuyển đổi đồ thị có những khó khănnhất định trong việc đặc tả các chuyển đổi mô hình ngoại sinh Văn phạmtam đồ thị (7riple Graph Grammars - TGG) [72] đã được đề xuất để khắcphục nhược điểm này bằng cách sử dụng các đồ thị tương ứng duy trì mối
quan hệ chứa thông tin truy xuất liên kết giữa các phần tử đồ thị vào và
đồ thi ra TGG tương tự như QVTr và QVTc nhưng có nền tang lý thuyết
vững chắc dựa trên ngữ nghĩa hình thức của các hệ thống chuyển đổi đồ thịđại số Một số công cụ chuyển đổi mô hình dựa trên cách tiếp cận chuyển
doi đồ thị như là TGGIntepreter [37], DSLTrans [74], EMorF [50]
Cách tiếp cận lai Mỗi hướng tiếp cận cài đặt chuyển đổi mô hình đều
có điểm mạnh và điểm yếu riêng Các cách tiếp cận lai cỗ gắng kết hợp ưuđiểm về khả năng diễn đạt kiểm soát quá trình thực thi của cách tiếp cận
dựa trên mệnh lệnh, tính trực quan và dễ diễn đạt của cách tiếp cận khai
báo và nền tảng lý thuyết phức chắc của cách tiếp cận dựa trên chuyển đổi
đồ thị Một số ngôn ngữ chuyển đổi mô hình theo cách tiếp cận kết hợp phổ
biến như ATL [47], RTL [20], VIATRA ||.
2.1.3 Đảm bảo chất lượng bộ chuyển đổi mô hình
Các bộ chuyển đổi mô hình cũng là các chế tác phần mềm cần được bảođảm chất lượng để hướng tới việc đảm bảo chất lượng phần mềm Amstel và
các cộng sự [87] đã dựa vào mô hình chất lượng phần mềm được đưa ra bởi
Boehm [92] để định nghĩa các thuộc tính chất lượng của bộ chuyểnđổi mô hình về khía cạnh phi chức năng như sau
— Tinh dễ hiểu (Understandability) là nỗ lực cần thiết yêu cầu để hiểu
chuyển đổi mô hình Tính dễ hiểu của bộ chuyển đổi mô hình làm cho
nó dễ bảo trì và sửa đổi hơn
— Tính có khả năng sửa đổi (Modifiability) cho biết nỗ lực cần thiết để
điều chỉnh chuyển đổi mô hình khi có sự thay đổi về yêu cầu hoặc sự
cập nhật siêu mô hình nguồn/đích.
— Tính tái sử dung (Reusability) cho biết khả năng tái sử dung một
chuyển đổi mô hình hoặc một phần của chuyển đổi mô hình cho cácchuyển đổi mô hình khác
— Tinh modun hóa (Modularity) cho biết khả năng chuyển đổi mô hình
được cấu trúc hóa một cách có hệ thống, tức là chương trình chuyển
Trang 29Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 17
đổi được chia thành các modun có chức năng và mục đích sử dụng
khác nhau Modun hóa liên quan tới khả năng tái sử dụng.
— Tính hoàn chỉnh (Completeness of models) nghĩa là mức độ đầy đủ
của mô hình đích được sinh ra Chuyển đổi không hoàn chỉnh sẽ dẫn
tới mô hình đích không hoàn chỉnh hoặc không có mô hình đích nào
được tạo ra.
— Tính nhất quán (Consistency) tức là chuyển đổi mô hình không chứa
các thông tin mâu thuẫn Nhất quán trong cho biết một chuyển đổi
mô hình chứa các ký hiệu nhất quán Nhất quán ngoài đề cập tới mức
độ một chuyển đồi mô hình tuân thủ các đặc tả của nó.
— Tinh ngắn gọn (Conciseness) cho biết mức độ chương trình chuyển
không chứa các thông tin không cần thiết.
Hartmut và các cộng sự [23] đã tổng kết nhiều nghiên cứu khác nhau
về chất lượng chuyển đổi mô hình để đưa ra mô hình chất lượng về khía
cạnh chức năng và phân tích hình thức điều kiện đảm bảo các thuộc tính chất lượng này dựa trên lý thuyết đồ thị Cách phân loại các yêu cầu chất
lượng về khía cạnh chức năng của Hartmut cũng tương tự như cách phân
loại được đề xuất bởi Lukman và các cộng sự trong [70].
— Tinh đứng đắn vé mặt ngữ pháp (Syntactical correctness): Cho mỗi mô
hình nguồn được chuyển bởi bộ chuyển đổi mô hình thì mô hình kết
quả thu được phải là một mô hình đích đúng đắn về mặt ngữ pháp,
tức nó là một thể hiện hợp lệ của ngôn ngữ mô hình hóa đích
— Tính đúng đắn vé mat ngữ nghĩa (Semantical correctness): Ñgữ nghĩa
của mỗi mô hình nguồn phải được bảo toàn hay phản ánh tương ứng
trong mô hình đích thu được qua quá trình chuyển bởi bộ chuyển đổi
mô hình Net nghĩa của một mô hình có thể bao gồm ngữ nghĩa tinh
được diễn đạt bởi cấu trúc thông tin và ngữ nghĩa động diễn đạt bởi
hành vi của mô hình trong trường hợp mô hình có ngữ nghĩa thực thi
(mô hình động) Do đó tính đúng đắn về ngữ nghĩa có thể được xem xét
theo hai khía cạnh: tinh bao toàn thông tin (information preservation)
và tinh bảo toàn hành vi (behaviour preservation).
— Tính đầu đủ (Completeness): Bộ chuyển đổi mô hình có thể thực hiện
chuyển đổi trên mọi mô hình nguồn hợp lệ để tạo ra mô hình đích
Thêm vào đó tính day đủ mạnh mẽ (Strong completeness) cũng có thé
Trang 30Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 18
yêu cầu mọi mô hình đích hợp lệ của ngôn ngữ đích đều có thể đạt
được bởi một kịch bản chuyển đổi mô hình
— Tính hành vi chúc năng (Functional behavior): Cho mỗi mồ hình nguồn
hợp lệ, bộ chuyển đổi mô hình thực hiện chuyển đổi trên mô hình này
phải kết thúc (termination) và dẫn tới chung một mô hình đích kết
quả, hay nói cách khác là hội tu (confluence) về kết quả chuyển
Kiểm thử tuy không thể chứng minh các thuộc tính chất lượng tuy nhiên
nó là phương pháp dễ tiến hành so với các phương pháp hình thức và cho
phép phát hiện nhanh các sai sót với chi phí thấp Do đó kiểm thử là cách
tiếp cận phù hợp để đảm bảo chất lượng các chương trình phức tạp như bộ
chuyển đổi mô hình trong công nghiệp, kỳ vọng phát hiện sớm sai sót vớichi phí thấp và mức độ nỗ lực cần có của kiểm thử viên trong kha năng
chấp nhận được.
2.2 Ví dụ chuyển đổi từ biểu đồ lớp UML sang
lược đồ cơ sở dữ liệu quan hệ
Để minh hoa chỉ tiết cho kỹ thuật chuyển đổi mô hình, luận án sử dungphép chuyển đổi từ biểu đồ lớp UML (UML Class Diagram - CD) sang mô
hình cơ sở dữ liệu quan hệ (Relational Database Models - RDBM) làm ví
dụ minh họa Hình 2.2 mô tả chuyển đổi giữa các mô hình biểu đồ lớp CD
và các mô hình cơ sở dữ liệu quan hệ RDBM, được gọi tắt là chuyển đổiCD2RDBM Đây là một ví dụ chuyển đổi mô hình được sử dụng rộng rãi
vì nó hỗ trợ đầy đủ các tính năng của chuyển đổi mô hình sang mô hình(bao gồm cả tính năng chuyển đổi hai chiều), siêu mô hình và đặc tả yêucầu của nó có sẵn trong các nghiên cứu liên quan [23, 26] Trong phát triểnphần mềm hướng đối tượng, biểu đồ lớp UML được sử dụng rộng rãi để mô
tả các miền vấn đề, trong khi cơ sở dữ liệu quan hệ là loại co sở dit liệu phổ
biến nhất để phát triển ứng dụng Diều này đặt ra nhiệm vụ chuyển đổi từ
các đối tượng miền vấn đề được biểu diễn bằng biểu đồ lớp UML sang cácbảng quan hệ được biểu diễn bằng mô hình RDBM ở giai đoạn thiết kế lớp
quản lý dữ liệu.
Trang 31Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 19
Siêu mô hình nguồn Ánh xạ tương ứng hợp lệ
R1 Anh xa Class sang Table
R2 Anh xa Non Primary Attribute
sang Column
R3 Anh xa Primary Attribute
sang Pkey Column
R4 Anh xạ Muiti-Valued
Association sang Table
R5 Anh xạ Muiti-Single
Association sang Foreignkey
RE Anh xạ Subciass sang Table R7 Làm phẳng kể thừa giữa các
—
Anh xa tương ứng không hợp lệ:
R8 Cẩm một cặp childClass-parentClass don kể thừa ánh xạ sang hai bang khác
Mô hình đích (RDBM model)
Trong MDE, các biểu đồ CD và RDBM là các mô hình thể hiện được
định nghĩa bởi các siêu mô hình khác nhau như mô tả trên Hình 2.2 Ỏ đây,
các siêu mô hình được biểu diễn bằng ngôn ngữ MOF [83]
Chuyển đổi mô hình CD2RDBM thực hiện phép ánh xạ giữa các mô hình
CD và mô hình RDBM theo các yêu cầu sau.
Trang 32Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 20
Yêu câu 1 Mỗi thể hiện của lớp Class trong mô hình nguồn được ánh xạ
tương ứng với một thể hiện cùng tên của lớp Table trong mô hình đích
Yêu cầu 2 Mỗi thể hiện của lớp Attribute không phải thuộc tính chính
(thuộc tính không phải định danh) được ánh xạ tương ứng với một thể
hiện cùng tên, cùng kiểu dữ liệu của lớp Column, thể hiện này là cột
của bảng tương ứng với lớp chứa thuộc tính.
Yêu cầu 3 Mỗi thé hiện thuộc tính chính (thuộc tính định danh) của lớp
Attribute được ánh xạ tương ứng với một thể hiện cùng tên, cùng kiểu
dữ liệu của lớp Column, thể hiện này là cột khóa chính của bảng tương
ứng với lớp chứa thuộc tính.
Yêu cau 4 Mỗi thể hiện của lớp liên kết Association, loại quan hệ liên
kết hoặc kết tập đa trị với bản số ở hai đầu liên kết đều là số nhiều
(0 * hoặc 1 *), được ánh xạ sang một bảng liên kết thể hiện của lớp
Table cùng tên với liên kết Bảng này chứa cặp khóa ngoại được sao
chép từ các thuộc tính khóa chính của hai bảng có ánh xạ tương ứng
với hai lớp ở đầu liên kết.
Yêu cau 5 Mỗi thể hiện của lớp liên kết Assocciation, loại quan hệ liên
kết hoặc kết tập hỗn hợp với bản số ở hai đầu liên kết khác nhau, một đầu là số ít (0 1 hoặc 1) và một đầu là số nhiều (0 * hoặc 1 *) được
ánh xạ sang cột mới đóng vai trò là khóa ngoại của bảng tương ứng
với lớp ở đầu liên kết ứng với bản số là số nhiều Cột khóa ngoại này tham chiếu tới cột đóng vai trò khóa chính của bảng tương ứng với lớp
có bản số ở đầu liên kết là số ít.
Yêu cầu 6 Ánh xa thể hiện lớp con trong quan hệ kế thừa inheritance
giữa hai Class sang cùng thể hiện lớp Table với lớp cha
Yêu côu 7 Trong trường hợp chuyển đổi tiến từ mô hình lớp phân tích
sang mô hình cơ sở đữ liệu quan hệ ở giai đoạn thiết kế dữ liệu lưu
trữ, sau khi chuyển các thành phần của mô hình nguồn sang mô hình
đích thì quan hệ kế thừa giữa các lớp sẽ được làm phẳng bằng cách sao
chép tất cả các thuộc tính của lớp cha sang các lớp con và cuối cùng
xóa bỏ lớp cha cùng các thuộc tính của nó.
Các yêu cầu trên mô tả quan hệ ánh xạ hợp lệ giữa các cặp mô hình nguồn và mô hình đích Các phần tử mô hình nguồn và mô hình đích phải
được cập nhật đồng bộ để đảm bảo duy trì tính nhất quán của các quan hệ
Trang 33Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 21
này Do đó các quan hệ ánh xạ hợp lệ được phát biểu trong các yêu cầu từ
1 tới 7 thường được đặc tả bởi các luật chuyển đổi mô hình hoặc quan hệ
bất biến hợp lệ giữa các cặp mô hình nguồn và và mô hình đích.
Khác với các yêu cầu trên phát biểu quan hệ ánh xạ hợp lệ giữa các cặp
mô hình nguồn và đích thì bộ chuyển đổi mô hình CD2RDBM cũng cần
tuân thủ việc không vi phạm một số ràng buộc sau.
Yêu cau 8 Nếu mô hình CD có hai lớp có quan hệ kế thừa thì mô hình
RDBM không nên có hai bảng phân biệt ánh xạ tương ứng với hai lớp
đó.
Yêu cầu 9 Nếu mô hình CD có hai lớp có quan hệ kế thừa thì mô hình
RDBM không nên chứa bang có quan hệ ánh xạ tương ứng với lớp cha,
cùng tên với lớp cha, trong khi lớp con không được ánh xạ sang bất
kỳ một bảng nào.
Yêu cầu 10 Một lớp của mô hình CD không nên được ánh xạ sang hai
bảng khác nhau trong mô hình RDBM.
Bên cạnh các yêu cầu cần được thỏa mãn bởi các cặp mô hình nguồn
va đích, chuyển đổi mô hình CD2RDBM cũng bao gồm các phát biểu yêu
cầu mô tả các điều kiện ràng buộc tập mô hình nguồn hợp lệ sử dụng làm đầu vào và các điều kiện ràng buộc trên tập mô hình đích hợp lệ của kết
quả chuyển Ví dụ chuyển đổi mô hình CD2RDBM xem xét các yêu cầu sau
trên tập mô hình nguồn.
Yêu cau 11 Một lớp không được kế thừa chính nó
Yêu cầu 12 Tên của một lớp cần phải là duy nhất
Yêu cầu 13 Tên các thuộc tính bên trong một lớp là duy nhất
Yêu cầu 14 Lớp con không định nghĩa lại các thuộc tính của lớp cha
Yêu cau 15 Tên của các lớp phải khác với tên liên kết
Cuối cùng một số yêu cầu đặt ra cho mô hình đích được tạo ra bởi phép
chuyển được phát biểu như sau:
Yêu cầu 16 Tên của một bang là duy nhất
Yêu cầu 17 Hai cột của một bảng phải có tên phân biệt
Yêu cầu 18 Mot bảng không thể có hai cột đóng vai trò khóa chính
Trang 34Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 22
Trong giai đoạn đặc tả yêu cầu, tập yêu cầu chuyển đổi mô hình trên cóthể được diễn đạt bởi nhiều phương tiện khác nhau như ngôn ngữ tự nhiên,
ngôn ngữ mô hình hóa, ngôn ngữ hình thức, ở nhiều mức độ trừu tượng
khác nhau từ phát biểu trừu tượng tới mô tả thiết kế chỉ tiết Ở giai đoạn
cài đặt, tập yêu cầu chuyển đổi mô hình được sử dụng làm cơ sở để pháttriển cài đặt chuyển đổi mô hình có khả năng thực thi
Để kiểm tra cài đặt chuyển đổi mô hình có thỏa mãn các thuộc tính chất
lượng, kiểm thử viên có thể thiết kế bộ ca kiểm thử dựa trên phân tích đặc
tả chuyển đổi mô hình và siêu mô hình (theo cách tiếp cận kiểm thử hộpđen) hay phân tích chương trình cài đặt bộ chuyển đổi mô hình (theo cáchtiếp cận kiểm thử hộp trắng) Bên cạnh đó bản thân đặc tả chuyển đổi cũng
có thể có những thiếu sót ví dụ các yêu cầu không chặt chẽ, không nhất
quán, xung đột yêu cầu, đặc tả thiếu yêu cầu, gây ra những sai sót bên trong
cài đặt phát triển từ nó Vì vậy thách thức đặt ra cho đảm bảo chất lượngcác chuyển đổi mô hình chang hạn như chuyển đổi CD2RDBM là cần có
phương tiện đặc tả chính xác tập yêu cầu và đồng thời tạo điều kiện thuận
lợi cho việc kiểm chứng tính tuân thủ đặc tả của các cài đặt chuyển Khi cócác sai sót được phát hiện, các phương pháp kiểm thử chuyển đổi mô hình
cần hỗ trợ cho việc định vị và sửa chữa các sai sót.
2.3 Kiểm thử bộ chuyển đổi mô hình
Quy trình kiểm thử các bộ chuyển đổi mô hình bao gồm các nhiệm vụ
chính như chỉ ra trong Hình 2.3 Ở giai đoạn phân tích và thiết kế kiểm
thử, kiểm thử viên có thể thiết kế các ca kiểm thủ hộp đen dựa trên siêu môhình và đặc tả yêu cầu, hoặc thiét kế kiểm thử hộp trắng dựa trên cài đặt
chuyển Các ca kiểm thử bao gồm có mô hình kiểm thử đầu vào và mô hình
đầu ra mong đợi hay tính chất mong đợi trên mô hình đầu ra Ở giai đoạn
thực thi kiểm thử, động cơ chuyển chạy các chương trình thực thi của càiđặt chuyển sử đụng dầu vào là các mô hình kiểm thử và tạo ra các mô hình
đầu ra thực sự Cuối cùng, bộ phán zét kiểm thử đánh giá mô hình đầu ra
thực sự với đầu ra mong đợi để tạo ra các quyết định kết quả kiểm thử
Các hướng tiếp cận đề xuất cho kiểm thử chuyển đổi mô hình tập trung
vào giải quyết hai thách thức chính: (i) Sinh tự động các mô hình kiểm thử
Trang 35Chương 2 Kiên thức cơ sở va hiện trạng nghiên cứu 23
Cai đặt chuyên
Thiết kê ca kiêm thử hộp Thiết kế ca kiểm thử
trắng hộp đen
ll | se vê
Mô hinh kiểm thử Đầu ra mong đợi Ket qua kiêm thứ
Đông cơ chuyên Mé hinh đầu ra Phan xét kiêm thử
: aoe ất tty chi nae [— dựatrên ngữ
_~ SN | Cam kết đích Cam kết nguồn Cam a hương chất tùy chỉnh 'thuộc tinh chung pica
= — = —¬_ Ì > rian aig sân VEIL Í Tinnkếtthúc | ae = al
Siéu mé hinh dich Siêu mô hình nguồn Bất biến L 47! X, no)
~ 4
ae — f
i Ss _— Tính hội tụ \
Luật chuyến - 3 = K !
Hậu điều kiện phủ định| | | Tiền điều kiện phủ (mức cao) , ' 1
l ° _ định F _“ Tinh bảo toàn i} 1
Hình 2.4 : Phân loại cách tiếp cận kiểm thử chuyển đổi mô hình
bao phủ các khía cạnh của cơ sở kiểm thử; (ii) Dự đoán đầu ra mong đợitương ứng với các thuộc tính chất lượng cần kiểm tra
Thách thức 1: Sinh mô hình kiểm thử tự động dựa trên phân tích các cơ sở kiểm thử.
Như mô tả trong Hình 2.4, việc sinh các mô hình kiểm thử có thể được
tiến hành theo hướng tiếp cận hộp đen hoặc theo cách tiếp cận hộp trắng.
Trang 36Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 24
Để tạo tập mô hình kiểm thử độc lập với môi trường cài đặt chuyển đổi mô hình, hướng tiếp cận kiểm thử hộp đen được sử dụng.
Đặc tả dựa trên cam kết cung cấp cơ sở hình thức cho việc đảm bảo chất
lượng cho các bộ chuyển đổi mô hình như được chỉ ra trong [16, 40, 66, 74,86] Tương tự như đặc tả phần mềm thông thường, các cam kết của chuyểnđổi mô hình có thể được chia thành bốn cấp độ có tính chất tăng dần về
các ràng buộc chất lượng cần đảm bảo như đề xuất trong [7] Các cam kết
của chuyển đổi mô hình được chia làm bốn mức độ: (1) kết kiểu định nghĩa
bởi siêu mô hình; (2) cam kết hành vi diễn đạt bởi tập tiền điều kiện, hậu
điều, bất biến; (3) cam kết thể thức diễn đạt bởi luật chuyển; và (4) các
ràng buộc cam kết các thuộc tính chất lượng Các cam kết thuộc tính chất lượng được đảm bảo trên cơ sở phải đảm bảo ba loại cam kết mức thấp hơn.
Các đề xuất cho việc thiết kế kiểm thử hộp đen thường tập trung khai thác
các khía cạnh này của đặc tả như được dẫn chứng sau đây.
Đầu tiên, siêu mô hình định nghĩa kiểu dữ liệu đầu vào và đầu ra đượcxem là cam kết về kiểu như được đề cập trong [66] Các phát biểu yêu cầucủa bộ chuyển đổi mô hình tập trung vào các tình huống cụ thể của dữ liệu
đầu vào, dữ liệu đầu ra, quan hệ giữa đầu vào và đầu ra, làm thế nào để
đảm bảo tính đồng bộ nhất quán giữa dữ liệu đầu vào và đầu ra Do việc
xác định tập thể hiện hợp lệ của dữ liệu đầu vào/đầu ra là khó khăn, cácphương pháp đặc tả thay vào đó thường phát biểu các ràng buộc tập mô
hình nguồn bởi các cam kết tiền điều kiện phủ định, các ràng buộc trên tập
mô hình đích bởi cam kết hậu điều kiện phủ định Các bất biến phủ định
đặc tả các tình huống không hợp lệ giữa các cặp mô hình nguồn và đích.
Các bất biến khẳng định phát biểu các tình huống mong đợi, hợp lệ của các
cặp mô hình nguồn và đích được xem là các đơn vị yêu cầu chức năng Các
tiền điều kiện, hậu điều kiện và bất biến diễn đạt cam kết hành vi Để diễnđạt cam kết ở mức đồng bộ hóa, các cam kết thể thức chuyển diễn đạt bởicác luật chuyển được đề xuất để diễn đạt các thao tác trên tập đối tượng
mô hình nguồn đích một cách đồng bộ khi áp dụng chuyển [16, 60, 74] Các
đề xuất cho việc thiết kế kiểm thử hộp đen thường tập trung khai thác các
khía cạnh này của đặc tả như được dẫn chứng sau đây.
Các cách tiếp cận tập trưng vao siêu mo hành Các mô hình kiểm thửphải là các thể hiện hợp lệ của ngôn ngữ mô hình hóa nguồn định nghĩa
bởi siêu mô hình nguồn, vì vậy một số cách tiếp cận [10, 26, 53, 76, 89] dựa
Trang 37Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 25
trên kỹ thuật phân vùng tương đương để tách siêu mô hình nguồn thành
các vùng không giao nhau để sinh các mô hình kiểm thử đảm bảo bao phủ
siêu mô hình nguồn.
Các cách tiếp cận tập trung đặc tả yéu cầu Các tác giả trong [14, 39, 46]
đã đề xuất sử dụng đặc tả cam kết tiền điều kiện và bất biến để sinh tập
mô hình kiểm thử hộp đen cho các chuyển đổi mô hình.
Thách thức 2: Dự đoán đầu ra mong đợi trên cơ sở đảm bảo
các thuộc tính chất lượng cần kiểm tra
Các thuộc tính chất lượng về khía cạnh chức năng cần được đảm bảo của
các bộ chuyển đổi mô hình có thể được phân loại thành các tính chất chung
và tinh chất tùu chỉnh như đề cập trong [23, 70] Các tính chất chung cần
được kiểm chứng trên mọi hệ thống thực thi còn gọi là điều kiện đảm bảohành vi chức năng của chương trình Chẳng hạn chương trình chuyển đổi
mô hình phải kết thúc, không nên rơi vào các tình huống khóa chết hay bị
lặp vô hạn và đảm bảo hội tụ kết quả chuyển nếu có nhiều kịch bản chươngtrình có thể áp dụng Các tinh chất tùy chỉnh là các tính chất mong đợiđược yêu cầu riêng cho mỗi bộ chuyển đổi mô hình do các chuyên gia miền
cung cấp.
Các phán xét kiểm thử có thể được chia thành: phán xét day đủ và phán
sét bộ phận Phan xét day đủ cần cung cấp mô hình đầu ra mong đợi cho mỗi mô hình kiểm thử Sau đó sử dụng biện pháp so sánh mô hình để kiểm
tra sự tương đồng giữa đầu ra mong đợi và mô hình đầu ra thực sự Ngôn
ngữ so sánh Epsilon [51] trên môi trường Eclipse được sử dung phổ biến cho
mục đích này Phan zét bộ phận dựa trên việc đặc tả các tính chất mong
đợi ở mô hình đầu ra và thẩm định các tính chất này trên mô hình đầu ra
để đưa ra quyết định về kết quả kiểm thử Một số công cụ hỗ trợ thẩm định
mô hình đã được cung cấp trên các môi trường cài đặt chuyển phổ biến
như USE model validator [33], Alloy [76], và UML2CSP [13] thường được
sử dung để thực hiện các hàm phán xét bộ phan
Để kiểm chứng tinh đúng đắn vé ngữ pháp, kiểm thử viên thường phân
tích siêu mô hình nguồn và các ràng buộc tiền điều kiện phủ định trên nó
theo hai cách tiếp cận kiểm thử khẳng định và kiểm thử phủ định, như biểu
thị bởi hai mũi tên màu xanh dương trong Hình 2.4 Kiểm thử khẳng địnhthường tập trung vào các dữ liệu kiểm thử hợp lệ để kiểm tra các khía cạnh
Trang 38Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 26
khác nhau của tính đúng đắn Kiểm thử phủ định tập trung vào các dữ liệu kiểm thử không hợp lệ để kiểm tra cách hệ thống phản ứng với các trường
hợp ngoại lệ, còn gọi là kiểm thử ngoại lệ
Tiếp theo, tinh day đủ của bộ chuyển đổi mô hình yêu cầu bộ chuyểnđổi mô hình nhận mọi mô hình nguồn hợp lệ làm đầu vào và từ chối chuyển
đổi trên các mô hình đầu ra không hợp lệ, hoặc tạo ra kết quả sai từ tập mô
hình đầu vào không hợp lệ Do đó để kiểm thử tính đầy đủ của bộ chuyểnđổi mô hình cần dựa trên các tiền điều kiện phủ định mô tả tính chất trêntập mô hình đầu vào không hợp lệ như biểu thị bởi mũi tên màu đỏ trong
Hình 2.4.
Tính bảo toàn thông tin và bảo toàn hành vi thường được đánh giá gián
tiếp dựa trên kết quả chuyển đổi Ở đó việc đánh giá dựa trên kiểm tra
tính bảo toàn thông tin và hành vi của mô hình nguồn bên trong mô hình
đích [70] Phân tích cơ sở kiểm thử kiểm tra thuộc tính này cần dựa vàocam kết nguồn đích được xác định bởi các bất biến phủ định và luật chuyểnđổi như biểu thị bởi mũi tên màu xanh lá và màu vàng trong Hình 2.4 Cáchtiếp cận cơ bản nhất để kiểm thử các tính chất này là đặc tả cặp tính chất
(thông tin hoặc hành vi) tương ứng ở phía mô hình hóa nguồn và mô hình
hóa đích qua chuyển đổi mô hình Kiểm thử viên sinh các mô hình kiểm
thử chứa hay phản ánh tính chất cần được bảo toàn ở phía mô hình nguồn,
thực thi chương trình chuyển đổi trên các mô hình này để tạo ra các môhình đầu ra Sau đó áp dụng thẩm định tính chất được bảo toàn tương ứng
trên mô hình đầu ra.
Cuối cùng, các tính chất chung của bộ chuyển đổi mô hình như tinh hội
tụ và tính kết thúc thường được kiểm chứng dựa trên các kịch bản thực thi
của chương trình O mức độ đặc tả, các luật chuyển đổi mô hình có thể được
thiết kế dựa trên văn phạm đồ thị như được chỉ ra trong [23] Do đó phân
tích văn phạm của các ngôn ngữ đặc tả chuyển đổi mô hình là một cách
tiếp cận tiềm năng để thiết kế các điều kiện kiểm thử chuyển đổi mô hìnhnhư được mô tả bởi mũi tên màu nâu và màu đen trong Hình 2.4 Kiểm
chứng hình thức tính hội tụ và tính kết thúc dựa trên văn phạm đồ thị đã
được đề cập trong [44, 57] Tuy nhiên việc thiết kế và thực thi kiểm thử đểkiểm chứng các thuộc tính chất này của bộ chuyển đổi mô hình còn là một
khoảng trống trong nghiên cứu.
Trang 39Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 27
2.4 Văn phạm tam đồ thị
Chuyển đổi mô hình là trái tim của các cách tiếp cận hướng mô hình [9,77] Trong các cách tiếp cận đó, cấu trúc đồ thị là cơ sở chính cho việc biểudiễn các mô hình Bên cạnh đó, chuyển đổi đồ thị là một cơ chế để đặc tả
và cài đặt các chuyển đổi mô hình bằng cách sử dụng các luật viết lại đồthị còn gọi là luật chuyển đổi đồ thị Văn phạm tam đồ thị là mở rộng củavăn phạm đồ thị để mô tả các chuyển đổi mô hình phức tạp bên trong kỹ
nghệ hướng mô hình Trong các mục con tiếp theo luận án lần lượt trình
bày về chuyển đổi đồ thị, văn phạm tam đồ thị và cách tiếp cận chuyển đổi
mô hình dựa văn phạm tam đồ thị.
2.4.1 Chuyển đổi đồ thị
Đồ thị (Graph) và các cấu trúc giống đồ thị là cơ sở chính cho việc biểu
diễn các mô hình Về cơ bản một đồ thị gồm các nút còn gọi là đỉnh và các
cạnh tạo liên kết giữa các nút.
Định nghĩa 1 (Đồ thị va cấu xạ đồ thị) Mot đô thị G = (V, E, sg, te)
gồm tập V các nút, tập E các cạnh, hai hàm sg,tg: E> V ánh xa từ tập
cạnh tới các nút nguồn va đích của cạnh.
Cho hai đồ thị G va Ga, một cau xa do thị (graph morphism) f : Gì + Ga bao gồm hai ham fy : Ve, + Va, va fg : Eg, + Eq, sao cho sq,ofz = fy ose,
va ta, ofr = fv fe) ta,
-Khái niệm đồ thị kiểu (type graph) định nghĩa kiểu
2 2 2 x 56
nút và kiểu cạnh được sử dung để gán kiểu cho mỗi | Ee, _ Ve,
x x 2 ` VÀ IG
phan tử của đồ thị Việc định kiéu này được thực hiện & zs fv
bởi cấu xạ đồ thị kiểu (type graph morphism) Các cấu 5G;
x +722 2 ` a oe : +2 x Eg — Ve
xạ do thị kiéu bảo toàn kêt qua việc định kiều do thi Set
ta
Định nghĩa 2 (Đồ thị kiểu và cấu xạ đồ thị kiểu) Cho một đồ thị
kiểu TG, một tuple GT = (G,tụpeg) của đồ thị G va một cấu xa đồ thịtypeg: G > TG được gọi là định kiểu đồ thị Đồ thị Œ được xác định cókiểu TG dựa trên cấu xa đồ thị typeg còn được gọi là dé thị định kiểu (typedgraph) G? Một đồ thị kiểu TG do đó còn được gọi là đồ thị nhận diện
(distinguished graph).
Trang 40Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 28
Cho hai đồ thị định kiểu Gi va Gs, một cấu zạ đồ thị định kiểu f :
Gi — G là một cấu xa đồ thị f : Gì + G2 sao cho typeg,of = typeg, Cho
một đồ thị kiểu TG, các dé thị định kiểu va cấu xa đồ thị định kiểu hành
thành nhóm đồ thị Graphsrq va thành phần nhận diện đồ thị thuộc nhóm.
Để biểu diễn các mô hình bên trong cách tiếp cận
hướng mô hình chính xác hơn, các đồ thị thuộc tính Gi
ty
f G›
hóa (attributed graph) AG = (G, D) là mở rộng của đồ HS ván
thị G được đề xuất bằng cách thêm vào cấu trúc dữ TG
các cạnh trong đồ thị Một cấu xa đồ thi thuộc tính hóa (attributed graph morphism) f : (G¡, Dị) > (G2, Dạ) là một cặp đồng cấu đồ thị fg : Gì > Ge
và, fo : DỊ _> Dạ.
liệu cơ bản D để diễn đạt các tính chất của các nút và
Đối với đồ thị được định kiểu, một đồ thị kiểu được thuộc tính hóa (typed
attributed graph) định nghĩa một tập các kiểu có thể được sử dụng để gan
kiểu cho các nút và các cạnh của một đồ thị được thuộc tính hóa Bản thânviệc định kiểu này cũng được thực hiện bởi cấu xạ đồ thị được thuộc tínhhóa giữa đồ thị thuộc tính hóa và đồ thị kiểu được thuộc tính hóa
Chuyển đổi đồ thị (Graph transformation) là một cơ chế để đặc tả và cài
đặt chuyển giữa các đồ thị bằng cách sử dụng các luật viết lại đồ thị còn
gọi là luật đổi chuyển đồ thị Viết lại đồ thị là mở rộng của kỹ thuật viếtlại chuỗi nổi tiếng trong văn phạm Chomsky Cụ thể, luật chuyển đổi đồ thị
bao gồm hai đồ thị tương ứng ở phía trái (Left-Hand Side - LHS) va 6 phía
phải (Right-Hand Side - RHS) của luật Với mỗi 4p dụng luật, các nút va
các cạnh trong đồ thị LHS được khớp nối với các nút và các cạnh trong một
đồ thị mục tiêu Sau đó, các nút và các cạnh không tồn tai trong RHS sẽ bi xóa bỏ khỏi đồ thị mục tiêu, các nút và các cạnh còn lại trong RHS được sử
dụng như là mẫu để tạo ra các nút và các cạnh mới trong đồ thị mục tiêu
Để mở rộng khả năng tích hợp cơ chế chuyển đổi đồ thị và các cách tiếp
cận hướng mô hình, các đồ thị có thể được mở rộng thành các đồ thị thuộc
tính hóa để biểu diễn các mô hình như được giới thiệu trong [23] Trong khisiêu mô hình hóa cung cấp cách tiếp cận khai báo để định nghĩa ngôn ngữ
mô hình hóa dành riêng cho miền dựa trên chuẩn MOF [83], thì văn phạm
đồ thị gần gũi hơn với việc cài đặt mô hình và phép biến đổi mô hình Siêu
mô hình hóa có quan hệ gần gũi với định kiểu đồ thị