Luận án Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình

Ngày nay, công nghiệp phần mềm đóng vai trò quan trọng, tác động đến sự phát triển kinh tế xã hội và được xem là một trong những trụ cột chính của tăng trưởng kinh tế ở nhiều nước. Tuy nhiên, việc phát triển phần mềm theo cách truyền thống ngày càng phải đối mặt với nhiều khó khăn như vấn đề phát triển, vấn đề tính khả chuyển, khả năng tương tác hay với sự phát triển nhanh chóng của các nền tảng công nghệ mới. Do đó, những nhà phát triển phần mềm phải dành nhiều công sức và thời gian để điều chỉnh ứng dụng (thường theo cách thủ công là sửa mã nguồn) sao cho có thể hoạt động được trên các nền tảng công nghệ mới. Chính vì vậy, một xu hướng phát triển phần mềm mới nhằm khắc phục những khó khăn trên đã được nghiên cứu và phát triển, đó là phát triển phần mềm hướng mô hình (MDSD: Model driven software development).

Kỹ thuật hướng mô hình (MDE) là kỹ thuật mới cho sự phát triển sản phẩm phần mềm. Kỹ thuật này giải quyết được sự phức tạp của nền tảng công nghệ khác nhau bằng việc sử dụng các mô hình (models) như là tác nhân chính trong toàn bộ vòng đời phát triển ứng dụng, giảm sự phụ thuộc vào nền tảng công nghệ [1-3]. MDE phát triển dựa trên ý tưởng xây dựng các mô hình độc lập với nền tảng và hỗ trợ việc chuyển đổi mô hình thành mã nguồn của chương trình. Do đó, quá trình phát triển phần mềm hướng mô hình được xem như là một chuỗi các chuyển đổi mô hình và chuyển đổi mô hình đóng một vai trò quan trọng trong kỹ thuật hướng mô hình [4].

Phát triển phần mềm hướng mô hình đang trở thành một phương pháp tiếp cận, được chấp nhận rộng rãi để phát triển các ứng dụng phức tạp và ngày càng giành được nhiều sự quan tâm của cộng đồng nghiên cứu, cũng như giới công nghiệp phần mềm [1]. Sinh mã tự động là nền tảng thiết yếu của các phương pháp tiếp cận theo hướng mô hình để phát triển phần mềm. Việc sinh mã tự động giúp cho việc phát triển ứng dụng trở nên hiệu quả hơn, hứa hẹn sẽ là một bước tiến mới trong phát triển phần mềm, giúp lập trình viên nâng cao được hiệu xuất làm việc và ngày càng được sử dụng nhiều trong tiến trình phát triển phần mềm [5].

Các nghiên cứu đã minh chứng, phương pháp sinh mã hướng mô hình cho tiến trình phần mềm đã tăng tốc độ tổng thể từ 3 đến 10 lần [5-7], làm giảm yếu tố con người [8, 9], giảm thời gian phát triển ứng dụng web [9-12]. Việc sử dụng các mô hình để tạo mã chương trình, có thể tạo ra các sản phẩm phần mềm có khả năng tương thích và sử dụng trên các nền tảng khác nhau [13], trong [14] đã chứng minh việc sử dụng phương pháp này cho phép tiết kiệm rất nhiều chi phí (nhất là chi phí bảo trì cho ứng dụng), vì chúng làm giảm sự cần thiết phải thay đổi sau khi đưa ứng dụng vào sử dụng.

Các ứng dụng Web bao gồm nhiều thành phần khác nhau, có thể được cung cấp bởi những nhà phát triển khác nhau, nên việc sử dụng các kỹ thuật phát triển phần mềm hướng mô hình cho các ứng dụng web đặc biệt hữu ích [1, 15, 16].

Trong những phương pháp phát triển ứng dụng web hướng mô hình hiện nay. UWE (UML-based Web Engineering) là một hướng tiếp cận cho phép phát triển ứng dụng web hướng mô hình dựa trên kiến trúc MDA. UWE cung cấp một quy trình và công cụ, giúp mô hình hoá và xây dựng các ứng dụng web, do nhóm nghiên cứu trường đại học LMU, Đức thực hiện với mục đích tự động hoá quy trình phát triển ứng dụng web và giảm thiểu tối đa việc lập trình cài đặt mã nguồn cho ứng dụng.

UWE cung cấp một tập các mô hình tương ứng với từng khía cạnh của ứng dụng web bao gồm: Mô hình yêu cầu (requirements models), mô hình nội dung (content models), mô hình điều hướng (navigation models), mô hình xử lý (process models), mô hình trình bày (presentation models) và sử dụng biểu đồ UML 2.0 cho việc mô hình hoá. Một trong những ưu điểm quan trọng của UWE là tất cả các mô hình của nó đều là phần mở rộng của UML. UWE sử dụng ký pháp đồ họa hoàn toàn dựa trên UML. Nó cho phép sử dụng các công cụ dựa trên UML và giảm thiểu thời gian nghiên cứu của các nhà phát triển Web, những người đã quen thuộc với UML[17].

Tuy nhiên, các nghiên cứu phát triển ứng dụng web hướng mô hình theo phương pháp UWE, còn tồn tại một số vấn đề cần tiếp tục đi sâu nghiên cứu:

Thứ nhất: Việc chuyển đổi từ mô hình yêu cầu sang các mô hình: Nội dung, điều hướng, xử lý và trình bày vẫn phải được điều chỉnh thủ công, làm cho việc phát triển ứng dụng Web tốn thời gian và chi phí; việc đảm bảo tính thống nhất giữa các mô hình cũng như cần cập nhật đồng bộ giữa các mô hình khi có thay đổi là rất khó khăn.

Thứ hai: Các nghiên cứu chủ yếu mới chỉ tập trung cho việc mô hình hóa, việc sinh code tự động còn nhiều hạn chế, chủ yếu mới chỉ dừng ở việc tạo ra khung để kỹ thuật viên lập trình viết mã.

Khắc phục những hạn chế, tồn tại nêu trên, việc nghiên cứu xây dựng phương pháp chuyển đổi mô hình tự động, cải tiến kỹ thuật sinh mã để nâng cao chất lượng mã nguồn, tăng năng suất, tiết kiệm thời gian và chi phí cho ứng dụng web, giúp phát triển ứng dụng web đơn giản, linh hoạt, nhanh chóng và hiệu quả hơn là vấn đề cần thiết, góp phần thúc đẩy sự phát triển của lĩnh vực ứng dụng web, một lĩnh vực giàu tiềm năng nhưng mới chỉ là bước đầu phát triển tại Việt Nam. Chính vì vậy, NCS chọn đề tài: “Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình”.

 

docx 145 trang chauphong 16/08/2022 10960
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Luận án Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình

Luận án Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trần Đình Diễn
CÁC KỸ THUẬT CHUYỂN ĐỔI MÔ HÌNH VÀ SINH MÃ
 TRONG PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH
LUẬN ÁN TIẾN SĨ KỸ THUẬT PHẦN MỀM
Hà Nội - 2021
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trần Đình Diễn
CÁC KỸ THUẬT CHUYỂN ĐỔI MÔ HÌNH VÀ SINH MÃ
 TRONG PHÁT TRIỂN ỨNG DỤNG WEB HƯỚNG MÔ HÌNH
Ngành: Kỹ thuật phần mềm
Mã số: 9480103
LUẬN ÁN TIẾN SĨ KỸ THUẬT PHẦN MỀM
NGƯỜI HƯỚNG DẪN KHOA HỌC
1. PGS.TS. Huỳnh Quyết Thắng
2. PGS.TS. Cao Tuấn Dũng
Hà Nội - 2021
LỜI CAM ĐOAN
Tôi cam đoan đề tài: “Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình” là công trình nghiên cứu của bản thân tôi, các kết quả nghiên cứu trong luận án là trung thực và chưa từng được tác giả khác công bố.
TM. Tập thể giáo viên hướng dẫn
PGS.TS. Huỳnh Quyết Thắng
Hà Nội, ngày 01 tháng 12 năm 2021
Tác giả
Trần Đình Diễn
LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc nhất tới PGS.TS. Huỳnh Quyết Thắng, PGS. TS. Cao Tuấn Dũng là người định hướng và hướng dẫn khoa học, đã tận tình giúp đỡ tôi trưởng thành trong công tác nghiên cứu và hoàn thành luận án.
Trong suốt quá trình học tập và nghiên cứu tại trường, tôi đã nhận được sự hướng dẫn và giúp đỡ tận tình của tập thể các thầy, cô giáo tại Viện Công nghệ thông tin và Truyền thông, Phòng đào tạo Trường Đại học Bách khoa Hà Nội. Tôi xin ghi nhận và biết ơn sự đóng góp quý báu của các thầy, cô.
Tôi xin trân trọng cảm ơn Ban giám hiệu Trường Cao đẳng Kinh tế, Kỹ thuật và Thủy sản cùng các thầy cô tại trường đã tạo điều kiện về thời gian, chuyên môn và nhiều hỗ trợ khác giúp đỡ tôi thực hiện luận án. 
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ viết tắt
Chú giải
ATL
ATLAS Transformation Language
CM
Code Model
CWM
Common Warehouse Metamodel
DSL
Domain-Specific Language
DTD
Document Type Definition
EJB
Enterprise Java Bean
EMF
Eclipse Modeling Framework
JET
Java Emitter Templates
JMI
Java Metadata Interface
JSF
Java Server Faces
JSP
Java Server Pages
MDA
Model-Driven Architecture
MDD
Model-Driven Development
MDE
Model-Driven Engineering
MDR
Metadata Repository
MDSD
Model-Driven Software Development
MDSE
Model-Driven Software Engineering
MDWD
Model-Driven Web Development
MDWE
Model-Driven Web Engineering
MOF
Meta-Object Facility
NAD
Navigation Access Program
OCL
Object Constraint Language
OGNL
Object Graph Navigation Language
OMG
Object Management Group
OO-H
Object-Oriented Hypermedia
OOWS
Object-Oriented Web Solution
PIM
Platform-Independent Model
PSM
Platform-Specific Model
QVT
Query/View/Tranfomation
RMI
Remote Method Invocation
TTCN-3
Testing and Test Control Notation Version 3
UI
User Interface
UTP
UML Testing Profile
UWE
UML-based Web Engineering
ƯML
Unified Modeling Language
WebML
Web Markup Language
WebSA
Web Software Arichitecture
XMI
XML Metadata Interchange
XML
extensible Markup Language
DANH MỤC CÁC BẢNG
Bảng 2.1.	Thành phần DisplayAction type và Prentation element	55
Bảng 2.2.	Các thành phần tương ứng với Pin type và giao diện	55
Bảng 2.3.	Các khuôn mẫu được sử dụng trong biều đồ hoạt động	62
Bảng 2.4.	Quy tắc chuyển đổi từ mô hình yêu cầu sang mô hình nội dung	63
Bảng 2.5.	Quy tắc chuyển đổi từ mô hình yêu cầu sang mô hình điều hướng	65
Bảng 2.6.	Thành phần DisplayAction type và Prentation element	69
Bảng 2.7.	Các thành phần tương ứng với Pin type và giao diện	70
Bảng 2.8.	Kết quả chuyển đổi mô hình Content, Process - ví dụ MusicPortal	74
Bảng 2.9.	Kết quả chuyển đổi mô hình Navigation - ví dụ MusicPortal	74
Bảng 2.10.	Kết quả chuyển đổi mô hình Presentation - ví dụ MusicPortal	75
Bảng 2.11.	Kết quả chuyển đổi mô hình Content, Process - ví dụ AddressBook	75
Bảng 2.12.	Kết quả chuyển đổi mô hình Navigation - ví dụ AddressBook	75
Bảng 2.13.	Kết quả chuyển đổi mô hình Presentation - ví dụ AddressBook	75
Bảng 3.1.	Danh sách các quy tắc sinh code xây dựng	81
Bảng 3.2.	Bảng đánh giá mã nguồn	95
Bảng 3.3.	Các quy tắc chuyển đổi từ mô hình nội dung sang mô hình java	97
Bảng 3.4.	Quy tắc và các thành phần của mô hình xử lý và Java	100
Bảng 3.5.	Các quy tắc chuyển đổi mô hình điều hướng sang mô hình Java	103
Bảng 3.6.	Các quy tắc chuyển đổi mô hình trình bày sang JSP:	105
Bảng 3.7.	Cấu trúc thành phần model	106
Bảng 3.8.	Cấu trúc thành phần service	107
Bảng 3.9.	Cấu trúc thành phần Controller	108
Bảng 3.10.	Cấu trúc mô hình JSP	109
Bảng 3.11.	Các truy vấn sinh mã từ mô hình java	110
Bảng 3.12.	Truy vấn ATL sinh mã mô hình JSP	111
Bảng 3.13.	Bảng so sách kết quả chuyển đổi mô hình nội dung và xử lý	120
Bảng 3.14.	Bảng so sách kết quả chuyển đổi mô hình điều hướng	120
Bảng 3.15.	Bảng so sách kết quả chuyển đổi mô hình trình bày	120
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1.	Tổng quan về MDA	6
Hình 1.2.	Tiến trình MDA	7
Hình 1.3.	Sự phân loại các mô hình chính trong MDA	8
Hình 1.4.	Chuyển đổi mô hình trong MDA	8
Hình 1.5.	Mô hình chuyển từ CIM sang PIM	9
Hình 1.6.	Đánh dấu mô hình 	9
Hình 1.7.	Quá trình biến đổi Metalmodel 	10
Hình 1.8.	Quá trình biến đổi mô hình	10
Hình 1.9.	Ứng dụng mẫu 	11
Hình 1.10.	Một cách khác để sử dụng các mẫu 	11
Hình 1.11.	Mô hình kết hợp	12
Hình 1.12.	Bổ sung thông tin để chuyển sang PSM	12
Hình 1.13.	Sử dụng thông tin bổ sung trong kỹ thuật biến đổi cụ thể	12
Hình 1.14.	Tổng quan chuyển đổi mô hình trong ATL	14
Hình 1.15.	Phần lõi ATL	19
Hình 1.16.	Lược đồ hoạt động máy ảo ATL	20
Hình 1.17.	Lược đồ ACG	21
Hình 1.18.	Kiến trúc QVT	22
Hình 1.19.	Cấu trúc MDA cho kỹ thuật web	25
Hình 1.20.	Quy trình chung của UWE 	26
Hình 1.21.	Quy trình phát triển WebSA	27
Hình 1.22.	Tổng quan về chuyển đổi mô hình của ActionUWE	30
Hình 1.23.	Tổng quan về cách tiếp cận trong	31
Hình 1.24.	Tổng quan về quy trình chuyển đổi mô hình trong 	31
Hình 2.1.	Siêu mô hình điều hướng (Navigation Metamodel) 	34
Hình 2.2.	Siêu mô hình xử lý (Process Metamodel)	35
Hình 2.3.	Siêu mô hình trình bày (Presentation Metamodel)	36
Hình 2.4.	Chuyển đổi từ CIM tới PIM trong UWE	36
Hình 2.5.	Chuyển đổi mô hình từ PIM san PSM trong UWE 	37
Hình 2.6.	Chuyển đổi Requirements to Content	37
Hình 2.7.	Mô tả các quy tắc để thêm các hoạt động	38
Hình 2.8.	Chuyển đổi RequirementsAndContent2Navigation	39
Hình 2.9.	Chuyển đổi sang mô hình xử lý 	42
Hình 2.10.	Chuyển đổi AvigationAndProcess to Presentation	43
Hình 2.11.	Chuyển đổi mô hình và mã nguồn tích hợp ràng buộc OCL	49
Hình 2.12.	Biểu đồ diễn tiến chuyển đổi bất biến trong mô hình xử lý	50
Hình 2.13.	Biểu đồ chuyển đổi tiền điều kiện – hậu điều kiện mô hình xử lý	51
Hình 2.14.	Biểu đồ chuyển đổi ràng buộc bất biên mô hình trình bày	54
Hình 2.15.	Use Case meta-model	57
Hình 2.16.	Activity Diagram Metamodel	58
Hình 2.17.	Content Metamodel	60
Hình 2.18.	Navigation Metamodel	60
Hình 2.19.	Process Metamodel	61
Hình 2.20.	Presentation Metamodel	61
Hình 2.21.	Tổng quan phương pháp đề xuất	62
Hình 2.22.	Biểu đồ Use Cases của MusicPortal 	70
Hình 2.23.	Biểu đồ Activity cho quy trình BuyAlbum	71
Hình 2.24.	Mô hình nội dung của MusicPortal	72
Hình 2.25.	Mô hình điều hướng của MusicPortal	72
Hình 2.26.	Mô hình xử lý của MusicPortal	73
Hình 2.27.	Mô hình trình bày của MusicPortal	74
Hình 3.1.	Chuyển đổi mô hình sang mã nguồn theo MDA	77
Hình 3.2.	Sinh code trong UWE	79
Hình 3.3.	Chuyển đổi sang mã nguồn theo mô hình MVC	80
Hình 3.4.	Các quy tắc cấu thành giải thuật CM2M	82
Hình 3.5.	Các quy tắc cấu thành giải thuật PRES2V	83
Hình 3.6.	Các quy tắc cấu thành giải thuật NM2C	85
Hình 3.7.	Các quy tắc cấu thành giải thuật PROM2C	86
Hình 3.8.	Kiến trúc MagicDraw và CODEGER –UWE	91
Hình 3.9.	Giao diện công cụ CODEGER –UWE	91
Hình 3.10.	Mô hình nội dung	92
Hình 3.11.	Mô hình điều hướng	92
Hình 3.12.	Mô hình xử lý	92
Hình 3.13.	Mô hình trình bày	93
Hình 3.14.	Mã nguồn sinh ra từ bốn mô hình UWE	93
Hình 3.15.	Khung ứng dụng Web	94
Hình 3.16.	Giao diện trang web	94
Hình 3.17.	Giao diện tạo mới Contact	95
Hình 3.18.	Sơ đồ chuyển đổi mô hình và sinh code	97
Hình 3.19.	Kiến trúc CODEGER –UWE	112
Hình 3.20.	Quy trình sinh mã nguồn từ mô hình nội dung	113
Hình 3.21.	Quy trình sinh mã nguồn từ mô hình điều hướng	114
Hình 3.22.	Quy trình chuyển đổi sinh mã nguồn từ mô hình xử lý	114
Hình 3.23.	Quy trình sinh mã JSP từ mô hình trình bày	115
Hình 3.24.	Biểu đồ use case, mô hình đầu vào của ứng dụng	116
Hình 3.25.	Biểu đồ Activity, mô hình đầu vào của ứng dụng	117
Hình 3.26.	Mô hình nội dung	117
Hình 3.27.	Mô hình điều hướng	118
Hình 3.28.	Mô hình xử lý	118
Hình 3.29.	Mô hình trình bày	118
Hình 3.30.	Cấu trúc mã nguồn được sinh tự động	119
Hình 3.31.	Giao diện web benhthuysan.vn	119
Hình 3.32.	Kết quả đánh giá thử nghiệm benhthuysan.vn	121
MỞ ĐẦU
Ngày nay, công nghiệp phần mềm đóng vai trò quan trọng, tác động đến sự phát triển kinh tế xã hội và được xem là một trong những trụ cột chính của tăng trưởng kinh tế ở nhiều nước. Tuy nhiên, việc phát triển phần mềm theo cách truyền thống ngày càng phải đối mặt với nhiều khó khăn như vấn đề phát triển, vấn đề tính khả chuyển, khả năng tương tác hay với sự phát triển nhanh chóng của các nền tảng công nghệ mới. Do đó, những nhà phát triển phần mềm phải dành nhiều công sức và thời gian để điều chỉnh ứng dụng (thường theo cách thủ công là sửa mã nguồn) sao cho có thể hoạt động được trên các nền tảng công nghệ mới. Chính vì vậy, một xu hướng phát triển phần mềm mới nhằm khắc phục những khó khăn trên đã được nghiên cứu và phát triển, đó là phát triển phần mềm hướng mô hình (MDSD: Model driven software development). 
Kỹ thuật hướng mô hình (MDE) là kỹ thuật mới cho sự phát triển sản phẩm phần mềm. Kỹ thuật này giải quyết được sự phức tạp của nền tảng công nghệ khác nhau bằng việc sử dụng các mô hình (models) như là tác nhân chính trong toàn bộ vòng đời phát triển ứng dụng, giảm sự phụ thuộc vào nền tảng công nghệ [1-3]. MDE phát triển dựa trên ý tưởng xây dựng các mô hình độc lập với nền tảng và hỗ trợ việc chuyển đổi mô hình thành mã nguồn của chương trình. Do đó, quá trình phát triển phần mềm hướng mô hình được xem như là một chuỗi các chuyển đổi mô hình và chuyển đổi mô hình đóng một vai trò quan trọng trong kỹ thuật hướng mô hình [4]. 
Phát triển phần mềm hướng mô hình đang trở thành một phương pháp tiếp cận, được chấp nhận rộng rãi để phát triển các ứng dụng phức tạp và ngày càng giành được nhiều sự quan tâm của cộng đồng nghiên cứu, cũng như giới công nghiệp phần mềm [1]. Sinh mã tự động là nền tảng thiết yếu của các phương pháp tiếp cận theo hướng mô hình để phát triển phần mềm. Việc sinh mã tự động giúp cho việc phát triển ứng dụng trở nên hiệu quả hơn, hứa hẹn sẽ là một bước tiến mới trong phát triển phần mềm, giúp lập trình viên nâng cao được hiệu xuất làm việc và ngày càng được sử dụng nhiều trong tiến trình phát triển phần mềm [5].
Các nghiên cứu đã minh chứng, phương pháp sinh mã hướng mô hình cho tiến trình phần mềm đã tăng tốc độ tổng thể từ 3 đến 10 lần [5-7], làm giảm yếu tố con người [8, 9], giảm thời ...  and J. Rubin, eds., Sweden: Springer, Berlin, Heidelberg, 2017. [Online]. Available.
[36]	J. Troya, A. Bergmayr, L. Burgueño, and M. Wimmer, "Towards systematic mutations for and with ATL model transformations," presented at the 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), Graz, Austria 2015. 
[37]	C. A. Bader Alkhazia, Marouane Kessentinia, Manuel Wimmer, "On the Value of Quality Attributes for Refactoring ATL Model Transformations: A Multi-Objective Approach," Information and Software Technology, vol. Volume 120, 2019.
[38]	F. A. a. Frédéric Jouaulta, Jean Bézivina, Ivan Kurtev, "ATL: A model transformation tool," Science of Computer Programming, vol. 72, no. Issues 1–2, p. 9, 2008.
[39]	F. Erata, M. Challenger, and G. Kardas, "Review of Model-to-Model Transformation Approaches and Technologies," ITEA, 2015.
[40]	K. M. A. Aziz, "Evaluating Model Transformation Technologies," Student essay, Department of Computer Science and Engineering, University of Gothenburg, G¨oteborg, Sweden, 2011.
[41]	A. G.-L. Amine Benelallam, Massimo Tisi, Jordi Cabot, "Distributed Model-to-Model Transformation with ATL on MapReduce," presented at the Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, USA, October 25-27, 2015. 
[42]	G. M. K. Selim, J. R. Cordy, and J. Dingel, "How is ATL Really Used? Language Feature Use in the ATL Zoo," presented at the 20th International Conference on Model Driven Engineering Languages and Systems (MODELS), Austin, TX, USA 2017. 
[43]	J. Troya, M. Fleck, M. Kessentini, M. Wimmer, and B. Alkhaze, "Rules and Helpers Dependencies in ATL– Technical Report " 2016.
[44]	H. Bruneliere. (2014). ATL/Developer Guide: https://wiki.eclipse.org/ATL/User_Guide_-_Overview_of_the_ATL_Language#Structure_of_an_ATL_module. 
[45]	F. Jouault and I. Kurtev, "On the Architectural Alignment of ATL and QVT," in 21st Annual ACM Symposium on Applied Computing, SAC 2006, Dijon, France, 2006, pp. 1188-1195: ACM Press.
[46]	L. A. Schubert, "An Evaluation of Model Transformation Languages for UML Quality Engineering," (in e), 2010.
[47]	A. F. Subahi, "A Business User Model-Driven Engineering Method for Developing Information Systems," Department of Computer Science, University of Sheffie, England, UK, 2015.
[48]	G. Hinkel, "An approach to maintainable model transformations with an internal DSL," (in e), 2013.
[49]	L. Dan, "Enabling Component-BasedModel Transformations with QVT," (in e), 2013.
[50]	A. B. Batoure and Kolyang, "Using Model-Driven Engineering for Decision Support Systems Modelling, Implementation and Powering," International Journal of Data Engineering (IJDE), vol. Volume 8, no. Issue (1) : 2020
2020.
[51]	L. Zhihong, "A Meta-Modelling Language Definition for Specific Domain," Software Technology Research Laboratory, De Montfort University, 2008.
[52]	A. Suchenia, P. Łopata, P. Wiśniewski, and B. Stachura-Terlecka, "Towards UML representation for BPMN and DMN models," presented at the International Conference of Computational Methods in Engineering Science (CMES’18), Krakow, Poland, 2019. 
[53]	MohammedMisbhauddin and M. Alshayeb, "Extending the UML use case metamodel with behavioral information to facilitate model analysis and interchange," 2013.
[54]	S. Thomas and V. Markus, Model-Driven Software Development. England: John Wiley & Sons Ltd, 2006, p. 436.
[55]	U. M. Language,  2010. [Online]. Available.
[56]	E.V.Sunitha and P. Samuel, "Object Constraint Language for Code Generation from Activity Models," Information and Software Technology, vol. Volume 103, pp. Pages 92-111, 2018.
[57]	J. Poole, "The Common Warehouse Metamodel as a Foundation for Active Object Models in the Data Warehousing Environment," in ECOOP 2000, France, 2000.
[58]	O. M. Group, Common Warehouse Metamodel (CWM) Specification, 
 2003. [Online]. Available.
[59]	A. Vallecillo, N. Koch, and C. Cachero, "MDWEnet: A Practical Approach to Achieving Interoperability of Model-Driven Web Engineering Methods," in International Conference on Web Engineering (ICWE 2007), Italy, 2007.
[60]	J. M. R´ıos and N. P. Souto, "Comparison of development methodologies in Web applications," Information and Software Technology, vol. Volume 119, 2020.
[61]	K. Andreas, K. Alexander, and K. Nora, "Model-Driven Generation of Web Applications in UWE," in 3rd International Workshop on Model-Driven Web Engineering, Italy, 2007, vol. 261, pp. 23-38.
[62]	N. Koch and S. Kozuruba, "Requirements Models as First Class Entities in Model-DrivenWeb Engineering," in Proceedings of the 12th international conference on Current Trends in Web Engineering Germany, 2012.
[63]	M. Santiago, "The webSA approach: applying model driven engineering to web applications," University of Alicante, Spain, 2006.
[64]	J. M. H. Carbonell, "Model-Driven Development of Rich Internet Applications on the Sematic web," 2013.
[65]	R. Gustavo, P. Oscar, S. Daniel, and O. Luis, Web Engineering: Modelling and Implementing Web Applications. New York: Springer, 2008.
[66]	P. Patel, A. Hande, and Meshram, "Survey of Existing Web Models Techniques to Design Web Application," (in e), Int.J. Computer Technology & Applications (IJCTA), 2013.
[67]	S. Ceri, P. Fraternali, and A. Bongio, "Web Modeling Language (WebML): a modeling language for designing Web sites," (in e), 2000.
[68]	P. Cáceres, V. Castro, J. Vara, and E. Marcos., "Model transformations for hypertext modeling on web information systems. ," in Proceedings of the 2006 ACM symposium on Applied computing., 2006.
[69]	G. S. Rivera, J. A. Gallud, and R. Tesoriero, "Code Generation Using Model Driven Architecture: A Systematic Mapping Study," Journal of Computer Languages 2019.
[70]	N. Kahani, M. Bagherzadeh, J. R. Cordy, and J. Dingel, "Survey and classification of model transformation tools," in Software & SystemsModelingVerlag GmbH Germany: Springer, 2019.
[71]	M. Busch and N. Koch, "MagicUWE – A CASE Tool Plugin for Modeling Web Applications," in 9th International Conference, ICWE 2009, Spain, 2009, vol. 5648, pp. 505-508: Springer Berlin Heidelberg.
[72]	 (2016). UWE – UML-based Web Engineering. 
[73]	M. Busch and M. Á. G. d. Dios, "ActionUWE: Transformation of UWE to ActionGUI Models," Institute for Informatics, Germany2012.
[74]	I. Essebaa, C. Salima, and M. Ramdani, "MoDAr-WA: Tool Support to Automate anMDA Approach for MVCWeb Application," Computers 2019, no. , p. 23, 2019.
[75]	M. h. RAHMOUNI and S. MBARKI, "Model-Driven Generation of MVC2 Web Applications: From Models to Code," International Journal of Engineering and Applied Computer Science (IJEACS), vol. Volume: 02, no. 07, 2017.
[76]	G. Paolone, M. Marinelli, R. Paesani, and P. D. Felice, "Automatic Code Generation of MVC Web Applications," computers, vol. Vol. 9, no. Issue 3, p. 29, 2020.
[77]	C. Kroiß and N. Koch, "UWE Metamodel and Profile. User Guide and Reference. Version 1.9," in "Programming and Software Engineering Unit (PST)," Ludwig-Maximilians-Universität München, Germany2011.
[78]	Y. H. Yassine Rhazalia, Abdelaziz Mouloudia, "Model Transformation with ATL into MDA from CIM to PIM Structured through MVC," Procedia Computer Science, vol. 83, pp. 1096-1101, 2016.
[79]	Y. Rhazali, A. E. Hachimi, I. Chana, and M. Lahmer, Automate Model Transformation From CIM to PIM up to PSM in Model- Driven Architecture, USA: IGI-GLOBAL, 2020, p. 22. [Online]. Available.
[80]	T. Górski, "Model-to-model transformations of architecture descriptions of an integration platform," Journal of Theoretical and Applied Computer Science, 2014.
[81]	J. S. Cuadrado, E. Guerra, and J. d. Lara, "AnATLyzer: An Advanced IDE for ATL Model Transformations," presented at the 40th International Conference on Software Engineering: Companion (ICSE-Companion), Gothenburg, Sweden 2018. 
[82]	O. V. Chebanyuk and U. KYIV, "Designing of Software Model to Model Transformation Language," International Journal of Computers, vol. Volume 3, pp. Pages 120-129, 2018.
[83]	N. Kahani, M. Bagherzadeh, J. R. Cordy, J. Dingel, and D. Varró, "Survey and classification of model transformation tools," Software and Systems Modeling (SoSyM), vol. 18, p. 37, 2018. Springer
[84]	V. T. Bosch, "A Web Engineering Approach for the Development of Business-Process Driven Web Applications," Department of Information Systems and Computation Technical University of Valencia, 2008.
[85]	N. Koch, "Classification of Model Transformation Techniques used in UML-based Web Engineering," (in e), the 2nd Workshop on Model-Driven Web Engineering (MDWE`06), 2006.
[86]	I. No Magic, "https://www.nomagic.com/products/magicdraw " 2020.
[87]	N. Kharmoum, S. Retal, S. Ziti, and F. Omary, "A Novel Automatic Transformation Method from the Business Value Model to the UML Use Case Diagram," presented at the Advanced Intelligent Systems for Sustainable Development (AI2SD’2019), Marrakech, Morocco, 2019. 
[88]	Examples - Simple Music Portal https://uwe.pst.ifi.lmu.de/exampleMusicPortal.html. 
[89]	J. Küster, " Model-Driven Software Engineering Code Generation," in "IBM," IBM Research – Zurich, Switzerland2011.
[90]	A. Bajovs, O. Nikiforova, and J. Sejans, "Code Generation from UML Model: State of the Art and Practical Implications," Applied Computer Systems, vol. 14, no. 1, p. 10, 08 Jun 2013 2013.
[91]	M. Voelter, "A Catalog of Patterns for Program Generation," presented at the 8th European Conference on Pattern Languages of Programms (EuroPLoP '2003), Germany, 2003. 
[92]	K. Czarnecki and S. Helsen, "Feature-Based Survey of Model Transformation Approaches," IBM Systems Journal, vol. 45, no. 3, pp. 621 - 645, March 15, 2006 2006.
[93]	K. C. a. S. Helsen, "Classification Classification of Model Transformation Approaches," presented at the OOPSLA’03 Workshop on Generative Techniques in the Context of MDA, USA, 2005. 
[94]	A. A. H. Alzahrani, "4GL Code Generation: A Systematic Review," (IJACSA) International Journal of Advanced Computer Science and Applications, vol. Vol. 11, no. Issue 6, 2020. , p. 8, 2020.
[95]	Q. X. Kevin Lano and S. Kolahdouz-Rahimi, "Agile Specification of Code Generators for Model-Driven Engineering," in The Fifteenth International Conference on Software Engineering Advances, Porto, Portugal, 2020: IARIA.
[96]	S. Systems, "Model Transformation - Sparx Systems Enterprise Architect," (Sparx Systems Enterprise Architect supports Model Driven Architecture (MDA) transformations of a single element or a whole Platform Independent Model (PIM) to one or more output Platform Specific Models (PSM) in, for example, Oracle, MySQL or SQLite. Sparx Systems - Australia: Sparx Systems, 2020, p.^pp. Pages.
[97]	E. Syriani, L. Luhunu, and H. Sahraoui, "Systematic Mapping Study of Template-based Code Generation," Computer Languages, Systems & Structures, pp. 43-62, June 19, 2018 2018.
[98]	M. Varshosaz, "Test Models and Algorithms for Model-Based Testing of Software Product Lines," 2017.

File đính kèm:

  • docxluan_an_cac_ky_thuat_chuyen_doi_mo_hinh_va_sinh_ma_trong_pha.docx
  • pdf1. Luan An.pdf
  • docx2_Luan an tom tat.docx
  • pdf2_Luan an tom tat.pdf
  • docx3. Trich yeu luan an.docx
  • pdf3. Trich yeu luan an.pdf
  • docx4. Thong tin dua len web_VNI.docx
  • pdf4. Thong tin dua len web_VNI.pdf
  • docx5. Thong tin dua len web_ENG.docx
  • pdf5. Thong tin dua len web_ENG.pdf