1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình

164 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

DẠ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 2

DẠ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ềmMã 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 3

LỜ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ựcvà 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ứuliê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 4

LỜ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 dayvà định hướng tôi trong suốt thời gian thực hiện luận án Một vinh dự lớncho 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óprấ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ợicho 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ôimuố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ị emnghiên cứu sinh và những người đồng nghiệp của tôi Những người đã luônchia 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ôicầ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 5

TOM 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 đặctả 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ầntử 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ộtsố 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 6

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 10Chương 2 Kiến thức cơ sở và hiện trạng nghiên cứu 122.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 182.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 7

Mụ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 383.2 Các nghiên cứu liên quan 0- 413.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 995.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 8

Mụ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 9

DANH MỤC CÁC TỪ VIET TAT

Từ viết tắt Tiếng Anh

Eclipse Modeling FrameworkModel - Driven Engineering

Model TransformationMeta-Object Facility

Model to ModelModel to Text

Negative Application

Object Management GroupObject Constraint LanguagePlatform Independent ModelPlatform Specific Model

Triple Graph Grammar

Unified Modeling Language

UML-based Specification

Chuyển đổi mô hình

Phương tiện siêu mô hìnhMô hình sang mô hình

Mô hình sang văn bản

Điều kiện áp dụng phủ địnhNhóm quản lý đối tượng

Ngôn ngữ ràng buộc đối tượngMô 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ị

Trang 10

DANH MỤC CÁC BANG

So 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 110Cá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 11

DANH 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, 192.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 332.8 Một bước chuyển thông qua luật tam đồ thị 33

2.9 Luật TGG khai báo c2 352.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 393.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 523.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 12

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 834.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 854.6 Một số CT phân vùng tập tính chất lớp Class dựa trên việckế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ựatrê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áchtiếp cận kiểm thử phủ định 92

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ápvà bảo toàn thông tin - co 1165.7 Hàm phán xét kiểm thử kiểm tra tính bảo toàn thông tin haichiều 2 ee 1176.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ứcphân loại CT ky 1256.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ớikế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 13

Chươ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]; đồngbộ 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ạnhmẽ để đả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 14

cú 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ựcsự với đầu ra mong đợi để đưa ra kết quả kiểm thử Việc sinh tự động tậpmô 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 đặtbộ 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 15

Chươ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 16

Chươ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ênmô 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 chatlượ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 theocả 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ìnhcho 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 17

Chươ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ứcnhấ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

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ìnhsử 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 18

Chương 1 Mở dau 6Mụ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ànhà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 đổitừ mô hình sang mô hình Các thành phần của khung kiểm thử hướng đặctả 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 19

Nhan 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ượngchuyể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ứchà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 20

Chươ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 đượcsử 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 đượcmô tả trong báo cáo kiểm thử.

Trang 21

Chương 1 Mở dau 9Cuố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ênlà 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ủabộ 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ử

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 22

Chươ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ý dochọ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.

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 23

Chươ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ảoluận về các nghiên cứu trong tương lai từ các kết quả ban đầu đã đạt được.

Trang 24

trạ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 25

Chươ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 DrivenArchitecture - 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ừutượ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ềntang (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ớicá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 26

Chươ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ếtkế 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 đíchtừ 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ọilà 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 27

Chươ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ộtdanh 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ọilà luật viết lại hoặc luật dẫn xuất), được áp dụng cho đồ thị đầu vào để tạora đồ 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ử đầuvà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 28

Chươ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 đềucó đ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ểuchuyển đổi mô hình Tính dễ hiểu của bộ chuyển đổi mô hình làm chonó 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 29

Chươ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ứacá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 nhauvề 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ínhchấ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 30

Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 18yê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ãivì 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 31

Chươ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 TableR7 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-parentClassdon 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 32

Chươ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ớpAttribute được ánh xạ tương ứng với một thể hiện cùng tên, cùng kiểudữ 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àytham 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ìnhnguồ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 33

Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 21nà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ặpmô 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ấtkỳ 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 34

Chươ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 đặctả 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ũngcó 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 35

Chươ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= rat hành vi Ï

<< JA ane ! h

T¬~S 1 !

¬ l - , h` ~~ Lj Tinh day dé

\\ SS >» / J

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ântí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 36

Chươ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ấtlượ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 37

Chươ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 chomỗ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 địnhmô 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 38

Chương 2 Kiến thúc cơ sở va hiện trạng nghiên cứu 26khác nhau của tính đúng đắn Kiểm thử phủ định tập trung vào các dữ liệukiể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ộitụ 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 39

Chươ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ì + Gabao 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

Đị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 40

Chươ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

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 graphmorphism) 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ẽ bixó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êumô hình hóa có quan hệ gần gũi với định kiểu đồ thị.

Ngày đăng: 29/06/2024, 05:57

HÌNH ẢNH LIÊN QUAN

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. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
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 (Trang 19)
Hình 2.4 : Phân loại cách tiếp cận kiểm thử chuyển đổi mô hình. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 2.4 Phân loại cách tiếp cận kiểm thử chuyển đổi mô hình (Trang 35)
Hình 2.3 : Khung công việc của kiếm thử chuyén doi mô hình. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 2.3 Khung công việc của kiếm thử chuyén doi mô hình (Trang 35)
Hình 2.5 : Một vi dụ về tam đồ thị. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 2.5 Một vi dụ về tam đồ thị (Trang 43)
Hình 2.8 : Một bước chuyển thông qua luật tam đồ thị. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 2.8 Một bước chuyển thông qua luật tam đồ thị (Trang 45)
Hình 2.9 mô ta một ví dụ về luật luật TGG khai báo đặc tả quan hệ - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 2.9 mô ta một ví dụ về luật luật TGG khai báo đặc tả quan hệ (Trang 47)
Hình 3.2 : Các thành phần của đặc tả bộ chuyển đổi mô hình. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.2 Các thành phần của đặc tả bộ chuyển đổi mô hình (Trang 52)
Hình 3.3 : Siêu mô hình của ngôn ngữ TC4MT. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.3 Siêu mô hình của ngôn ngữ TC4MT (Trang 56)
Hình 3.5 : Biểu diễn bất biến trong đặc tả TC4MT. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.5 Biểu diễn bất biến trong đặc tả TC4MT (Trang 63)
Hình 3.6 : Áp dụng ngữ nghĩa bất biến để kiểm tra cặp mô hình - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.6 Áp dụng ngữ nghĩa bất biến để kiểm tra cặp mô hình (Trang 64)
Hình 3.7 : Biểu diễn tiền điều kiện phủ định trong đặc tả TC4MT. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.7 Biểu diễn tiền điều kiện phủ định trong đặc tả TC4MT (Trang 64)
Hình 3.8 : Biểu diễn hậu điều kiện trong đặc tả TC4MT. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.8 Biểu diễn hậu điều kiện trong đặc tả TC4MT (Trang 65)
Hình 3.9 : Soạn thảo cam kết của đặc tả TC4MT trên USE. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.9 Soạn thảo cam kết của đặc tả TC4MT trên USE (Trang 66)
Hình 3.10 : Cac luật dẫn xuất từ luật tam đồ thi khai báo. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.10 Cac luật dẫn xuất từ luật tam đồ thi khai báo (Trang 69)
Hình 3.12 : Luật chuyển đổi tiến của luật Attr2Column khai báo. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.12 Luật chuyển đổi tiến của luật Attr2Column khai báo (Trang 70)
Hình 3.15 : Minh họa áp dụng luật thực thi thu được từ đặc tả. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.15 Minh họa áp dụng luật thực thi thu được từ đặc tả (Trang 72)
Hình 3.16 : Luật khai báo FlatteningInheritance trong TC4MT. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.16 Luật khai báo FlatteningInheritance trong TC4MT (Trang 73)
Hình 3.17 : Vi dụ kết qua biên dich một tiền điều kiện phủ định. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 3.17 Vi dụ kết qua biên dich một tiền điều kiện phủ định (Trang 76)
Hình 4.1 : Kết hợp kiểm thử phân vùng trên siêu mô hình và cam kết hành vi chuyển. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 4.1 Kết hợp kiểm thử phân vùng trên siêu mô hình và cam kết hành vi chuyển (Trang 92)
Hình 4.8 : Chiến lược kiểm thử khẳng định và kiểm thử phủ định - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 4.8 Chiến lược kiểm thử khẳng định và kiểm thử phủ định (Trang 100)
Hình 5.1 : Tổng quan phương pháp kiểm thử dựa trên tập luật chuyển. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 5.1 Tổng quan phương pháp kiểm thử dựa trên tập luật chuyển (Trang 116)
Hình 5.2 : Mô tả ca kiểm thử được tạo ra từ chuỗi luật rs?3za. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 5.2 Mô tả ca kiểm thử được tạo ra từ chuỗi luật rs?3za (Trang 125)
Hình 5.3 : Minh hoa quan hệ giữa các kịch bản 4p dụng chuyển. - Luận án tiến sĩ kỹ thuật phần mềm: Khung hình thức hỗ trợ đảm bảo chất lượng chuyển đổi mô hình
Hình 5.3 Minh hoa quan hệ giữa các kịch bản 4p dụng chuyển (Trang 126)