Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 145 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
145
Dung lượng
4,24 MB
Nội dung
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 PGS.TS Huỳnh Quyết Thắng 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 sinh mã phát triển ứng dụng web hướng mơ hình” cơng trình nghiên cứu thân tôi, kết nghiên cứu luận án trung thực chưa tác giả khác công bố TM Tập thể giáo viên hướng dẫn Hà Nội, ngày 01 tháng 12 năm 2021 Tác giả PGS.TS Huỳnh Quyết Thắng Trần Đình Diễn i LỜI CẢM ƠN Tơi xin bày tỏ lịng biết ơn sâu sắc tới PGS.TS Huỳnh Quyết Thắng, PGS TS Cao Tuấn Dũng người định hướng hướng dẫn khoa học, tận tình giúp đỡ tơi trưởng thành cơng tác nghiên cứu hoàn thành luận án Trong suốt q trình học tập nghiên cứu trường, tơi nhận hướng dẫn giúp đỡ tận tình tập thể thầy, giáo Viện Cơng nghệ thơng tin 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 biết ơn đóng góp quý báu 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 Thủy sản thầy cô trường tạo điều kiện thời gian, chuyên môn nhiều hỗ trợ khác giúp đỡ thực luận án ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT v DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ viii MỞ ĐẦU Mục đích nghiên cứu Nhiệm vụ nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học thực tiễn đề tài Các kết đạt CHƯƠNG 1: PHÁT TRIỂN PHẦN MỀM HƯỚNG MƠ HÌNH 1.1 Kiến trúc MDA 1.1.1 Chuyển đổi mơ hình MDA 1.1.1.1 Chuyển đổi từ CIM sang PIM 1.1.1.2 Chuyển đổi từ PIM sang PSM 1.1.1.3 Chuyển đổi từ PSM sang code 13 1.1.2 Ngơn ngữ chuyển đổi mơ hình 13 1.1.2.1 Ngôn ngữ ATL 13 1.1.2.2 Ngôn ngữ QVT 21 1.2 Các chuẩn OMG cho MDA 23 1.2.1 MOF – Meta Object Facility 23 1.2.2 UML – Unified modeling Language 23 1.2.3 OCL (Object Constraint Language) 23 1.2.4 UML Profile 24 1.2.5 CWM (Common Warehouse Metamodel) 24 1.3 Kỹ thuật web hướng mơ hình 25 1.3.1 UWE (UML-Based Web Engineering) 26 1.3.2 Web Software Architecture (WebSA) 26 1.3.3 WebML (Web Modeling Language) 27 1.3.4 OOWS - Object-Oriented Web Solution 28 1.3.5 Hypertext Modeling Method of MIDAS (MIDAS-HM3) 28 1.4 Các nghiên cứu liên quan nhiệm vụ luận án 29 1.5 Tiểu kết chương 33 CHƯƠNG 2: KỸ THUẬT CHUYỂN ĐỔI MƠ HÌNH (CIM TO PIM) THEO PHƯƠNG PHÁP UWE CHO PHÁT TRIỂN ỨNG DỤNG WEB 34 2.1 Các mơ hình UWE 34 2.2 Chuyển đổi mơ hình UWE 36 iii 2.2.1 Chuyển đổi từ mơ hình u cầu sang mơ hình nội dung 37 2.2.2 Chuyển đổi từ mơ hình u cầu, nội dung sang mơ hình điều hướng 39 2.2.3 Chuyển đổi sang mơ hình xử lý 41 2.2.4 Chuyển đổi từ mơ hình điều hướng, xử lý sang mơ hình trình bày 43 2.3 Phát triển quy tắc chuyển đổi mơ hình tích hợp ràng buộc OCL 46 2.3.1 Giới thiệu phương pháp 48 2.3.2 Tích hợp OCL mơ hình xử lý 49 2.3.3 Tích hợp OCL mơ hình trình bày 53 2.3.4 Kết thảo luận 56 2.4 Phát triển quy tắc chuyển đổi mơ hình với ATL 56 2.4.1 Giải pháp 57 2.4.1.1 Siêu mơ hình u cầu 57 2.4.1.2 Siêu mơ hình: content, navigation, process, presentation 59 2.4.2 Các quy tắc ATL 62 2.4.3 Kết thảo luận 70 2.5 Tiểu kết chương 76 CHƯƠNG 3: SINH MÃ TỰ ĐỘNG CHO ỨNG DỤNG WEB HƯỚNG MƠ HÌNH 77 3.1 Kỹ thuật sinh mã phát triển ứng dụng web hướng mơ hình 77 3.2 Sinh mã dựa thuật toán theo kiến trúc MVC 78 3.2.1 Xây dựng quy tắc sinh mã 79 3.2.2 Xây dựng giải thuật sinh code tự động 86 3.2.3 Thử nghiệm đánh giá 90 3.3 Sinh mã sử dụng ngôn ngữ ATL 96 3.3.1 Chuyển đổi mơ hình PIM sang PSM theo kiến trúc MVC 96 3.3.1.1 Tạo phần Model 96 3.3.1.2 Tạo thành phần Controller 101 3.3.1.3 Tạo thành phần View 103 3.3.2 Cấu trúc mơ hình PSM theo kiến trúc MVC 105 3.3.2.1 Thành phần model 105 3.3.2.3 Thành phần Controler 108 3.3.2.3 Thành phần View 109 3.3.3 Xây dựng quy tắc chuyển đổi từ PSM sang mã nguồn 110 3.3.3.1 Sinh code từ mô hình java 110 3.3.3.2 Sinh code từ mơ hình JSP 111 3.4 Thử nghiệm sinh mã cho ứng dụng web benhthuysan.vn 111 3.4.1 Công cụ sinh mã CODEGER-UWE 111 3.4.2 Phát triển ứng dụng benhthuysan.vn 115 3.4.3 Kết thảo luận 120 3.5 Tiểu kết chương 121 KẾT LUẬN 123 DANH MỤC CÁC CƠNG TRÌNH ĐÃ CƠNG BỐ CỦA LUẬN ÁN 125 TÀI LIỆU THAM KHẢO 126 iv 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 v Chữ viết tắt Chú giải 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 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 vi DANH MỤC CÁC BẢNG Bảng 2.1 Bảng 2.2 Bảng 2.3 Bảng 2.4 Bảng 2.5 Bảng 2.6 Bảng 2.7 Bảng 2.8 Bảng 2.9 Bảng 2.10 Bảng 2.11 Bảng 2.12 Bảng 2.13 Bảng 3.1 Bảng 3.2 Bảng 3.3 Bảng 3.4 Bảng 3.5 Bảng 3.6 Bảng 3.7 Bảng 3.8 Bảng 3.9 Bảng 3.10 Bảng 3.11 Bảng 3.12 Bảng 3.13 Bảng 3.14 Bảng 3.15 Thành phần DisplayAction type Prentation element 55 Các thành phần tương ứng với Pin type giao diện 55 Các khuôn mẫu sử dụng biều đồ hoạt động 62 Quy tắc chuyển đổi từ mơ hình u cầu sang mơ hình nội dung 63 Quy tắc chuyển đổi từ mơ hình u cầu sang mơ hình điều hướng 65 Thành phần DisplayAction type Prentation element 69 Các thành phần tương ứng với Pin type giao diện 70 Kết chuyển đổi mơ hình Content, Process - ví dụ MusicPortal 74 Kết chuyển đổi mơ hình Navigation - ví dụ MusicPortal 74 Kết chuyển đổi mơ hình Presentation - ví dụ MusicPortal 75 Kết chuyển đổi mô hình Content, Process - ví dụ AddressBook 75 Kết chuyển đổi mơ hình Navigation - ví dụ AddressBook 75 Kết chuyển đổi mơ hình Presentation - ví dụ AddressBook 75 Danh sách quy tắc sinh code xây dựng 81 Bảng đánh giá mã nguồn 95 Các quy tắc chuyển đổi từ mơ hình nội dung sang mơ hình java 97 Quy tắc thành phần mơ hình xử lý Java 100 Các quy tắc chuyển đổi mơ hình điều hướng sang mơ hình Java 103 Các quy tắc chuyển đổi mơ hình trình bày sang JSP: 105 Cấu trúc thành phần model 106 Cấu trúc thành phần service 107 Cấu trúc thành phần Controller 108 Cấu trúc mơ hình JSP 109 Các truy vấn sinh mã từ mơ hình java 110 Truy vấn ATL sinh mã mơ hình JSP 111 Bảng so sách kết chuyển đổi mơ hình nội dung xử lý 120 Bảng so sách kết chuyển đổi mô hình điều hướng 120 Bảng so sách kết chuyển đổi mơ hình trình bày 120 vii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Hình 1.2 Hình 1.3 Hình 1.4 Hình 1.5 Hình 1.6 Hình 1.7 Hình 1.8 Hình 1.9 Hình 1.10 Hình 1.11 Hình 1.12 Hình 1.13 Hình 1.14 Hình 1.15 Hình 1.16 Hình 1.17 Hình 1.18 Hình 1.19 Hình 1.20 Hình 1.21 Hình 1.22 Hình 1.23 Hình 1.24 Tổng quan MDA Tiến trình MDA Sự phân loại mơ hình MDA Chuyển đổi mơ hình MDA Mơ hình chuyển từ CIM sang PIM Đánh dấu mơ hình Quá trình biến đổi Metalmodel 10 Q trình biến đổi mơ hình 10 Ứng dụng mẫu 11 Một cách khác để sử dụng mẫu 11 Mơ hình kết hợp 12 Bổ sung thông tin để chuyển sang PSM 12 Sử dụng thông tin bổ sung kỹ thuật biến đổi cụ thể 12 Tổng quan chuyển đổi mơ hình ATL 14 Phần lõi ATL 19 Lược đồ hoạt động máy ảo ATL 20 Lược đồ ACG 21 Kiến trúc QVT 22 Cấu trúc MDA cho kỹ thuật web 25 Quy trình chung UWE 26 Quy trình phát triển WebSA 27 Tổng quan chuyển đổi mơ hình ActionUWE 30 Tổng quan cách tiếp cận 31 Tổng quan quy trình chuyển đổi mơ hình 31 Siêu mơ hình điều hướng (Navigation Metamodel) 34 Siêu mơ hình xử lý (Process Metamodel) 35 Siêu mô hình trình bày (Presentation Metamodel) 36 Chuyển đổi từ CIM tới PIM UWE 36 Chuyển đổi mô hình từ PIM san PSM UWE 37 Chuyển đổi Requirements to Content 37 Mô tả quy tắc để thêm hoạt động 38 Chuyển đổi RequirementsAndContent2Navigation 39 Chuyển đổi sang mơ hình xử lý 42 Chuyển đổi AvigationAndProcess to Presentation 43 Chuyển đổi mơ hình mã nguồn tích hợp ràng buộc OCL 49 Biểu đồ diễn tiến chuyển đổi bất biến mơ hình xử lý 50 viii - Bước 3: Thực sinh mã sử dụng công cụ CODEGER –UWE Áp dụng quy tắc chuyển đổi truy vấn ATL để sinh mã tự động cho ứng dụng web Mã nguồn Java JSP tương ứng với ứng dụng web có gói: Model, controller service (Hình 3.30) Trong đó, Gói model gồm lớp thể mơ hình nội dung Ví dụ: Tên cá, bệnh cá, triệu trứng bệnh…; Gói service gồm class Service chứa phương thức liên quan đến liệu (truy xuất, chuyển đổi, kiểm tra hợp lệ,…) hệ thống gọi đến cần; Gói controller chứa class xử lý luồng điều hướng ứng dụng bao gồm lớp: DiseaseController Diagnosis Controller Sau bổ sung mã nguồn cịn thiếu, ứng dụng thu có giao diện sử dụng hình 3.31 Hình 3.30 Cấu trúc mã nguồn sinh tự động Hình 3.31 Giao diện web benhthuysan.vn 119 Website Chuẩn đốn bệnh hỗ trợ người ni trồng thủy sản chẩn đốn bệnh cho lồi thuỷ sản với 62 loại bệnh khác như: Cá trắm, cá chép, rô phi, cá tra… Hệ thống thử nghiệm chạy thức website www.benhthuysan.vn Sản phẩm đề tài áp dụng thực tế, giúp người nuôi thủy sản tự chẩn đoán đưa phác đồ điều trị kịp thời, giúp giảm thiểu rủi ro dịch bệnh, tăng suất nâng cao thu nhập cho người nuôi thủy sản 3.4.3 Kết thảo luận Ưu điểm nghiên cứu chuyển đổi mơ hình tạo mã tự động mơ hình hiệu Kết cho thấy, việc chuyển đổi tự động mơ hình UWE tốt nghiên cứu [71], bao gồm việc mô tả chi tiết thành phần mơ hình sau chuyển đổi thể chi tiết hơn, tiết kiệm thời gian hơn, phải can thiệp thủ công Cụ thể, với mô hình nội dung, xử lý cơng cụ CODEGER-UWE tác giả đề xuất có số lượng class sinh class sinh có nhiều attributes operations (Bảng 3.13) Vì vậy, việc sinh class có ý nghĩa thay class rỗng Bảng 3.13 Bảng so sách kết chuyển đổi mơ hình nội dung xử lý Mơ hình Nội dung CODEGER-UWE Classes Attributes Operations Xử lý MagicUWE Classes Attributes Operations 10 18 operations (2 parameters) 10 0 Bảng 3.14 Bảng so sách kết chuyển đổi mơ hình điều hướng Mơ hình CODEGER-UWE MagicUWE Navigation Navigation ProcessClass Links ProcessClass Links Classes Classes Điều hướng 10 17 10 18 Bảng 3.15 Bảng so sách kết chuyển đổi mơ hình trình bày Mơ hình Trình bày CODEGER-UWE Classes Properties MagicUWE Classes Properties 120 Như vậy, phương pháp tiếp cận tác giả giúp đảm bảo tính thống mơ hình sau chuyển đổi, góp phần cải thiện chất lượng chuyển đổi mơ hình sang mơ hình, mơ hình sang code, đảm bảo hiệu chuyển đổi mơ hình cho phát triển ứng dụng Web hướng mơ hình Để đánh giá sản phẩm đề tài, tác giả khảo sát thử nghiệm với chuyên gia thủy sản, người nuôi trồng thủy sản sinh viên thủy sản Chuyên gia thủy sản xem xét, đánh giá tính đắn kết cịn người ni trồng thủy sản sinh viên thủy sản xem thử chương trình có giúp ích cho thân họ việc chẩn đốn bệnh hay không Những người thử nghiệm sử dụng hệ thống đánh giá với mức độ là: Rất hài lịng, hài lịng, bình thường, khơng hài lịng khơng hài lịng Kết khảo sát thử nghiệm hệ thống thể hình 3.32 70.0 60.0 50.0 40.0 30.0 20.0 10.0 0.0 Rất hài lòng Hài lịng Chun gia Bình thường Người ni TS Khơng hài lịng Rất khơng hài lịng Sinh viên Hình 3.32 Kết đánh giá thử nghiệm benhthuysan.vn 3.5 Tiểu kết chương Trong chương 3, luận án thực nghiên cứu nội dung sinh mã nguồn tự động cho ứng dụng web hướng mơ hình theo phương pháp UWE với kiến trúc MVC Luận án trình bày chi tiết giải thuật liên quan đến phương pháp sinh mã, tích hợp phát triển cơng cụ CODEGER-UWE sinh code cho ứng dụng web theo phương pháp UWE với ngơn ngữ chuyển đổi mơ hình ATL Cụ thể, đóng góp khoa học chủ yếu nghiên cứu gồm: (1) Luận án trình bày 03 quy tắc sinh mã tự động từ mơ hình UWE: Quy tắc CM2M sinh mã thành phần Model từ mơ hình nội dung; Quy tắc PRES2V sinh mã thành phần View từ mơ hình trình bày Quy tắc NPROM2C sinh mã thành phần Controller từ mơ hình điều hướng xử lý 121 (2) Xây dựng 23 quy tắc chuyển đổi sang mơ hình java: 12 quy tắc chuyển thành thành phần Model từ mơ hình nội dung; 08 quy tắc tạo thành phần View từ mơ hình trình bày 03 quy tắc tạo thành phần Controller từ mô hình điều hướng; Phát triển 06 truy vấn ATL để sinh mã mơ hình java; 04 truy vấn ATL để sinh mã từ mơ hình JSP Các nội dung công bố CT4, CT5 (3) Từ quy tắc chuyển đổi mơ hình sinh mã nguồn, luận án xây dựng công cụ CODEGER-UWE để hỗ trợ chuyển đổi mơ hình sinh mã tự động phát triển ứng dụng web từ mơ hình UWE theo kiến trúc MVC để hỗ trợ sinh mã nguồn để tạo ứng dụng web benhthuysan.vn Nội dung công bố CT CT 122 KẾT LUẬN Luận án trình bày phương pháp tiếp cận MDE để việc tạo ứng dụng Web từ mơ hình theo phương pháp UWE Luận án xây dựng thành cơng quy tắc chuyển đổi mơ hình từ CIM sang PIM từ PIM sang PSM, chuyển đổi PSM thành mã chương trình để xây dựng ứng dựng Web benhthuysan.vn, với ngôn ngữ chuyển đổi mơ hình ATL Phương pháp tiếp cận giúp đảm bảo tính thống mơ hình sau chuyển đổi, đảm bảo hiệu chuyển đổi mơ hình cho phát triển ứng dụng Web hướng mơ hình Qua nghiên cứu, luận án khẳng định số đóng góp lĩnh vực nghiên cứu là: (1) Tổng hợp lý thuyết từ bổ sung phát triển quy tắc chuyển đổi mơ hình từ CIM to PIM to PSM to CODE cho phát triển ứng dụng web hướng mơ hình theo phương pháp UWE Nội dung trình bày chương có cơng trình cơng bố liên quan: CT1, CT2, CT3, CT7 (2) Xây dựng phương pháp sinh mã tích hợp phát triển cơng cụ CODEGER-UWE sinh code cho ứng dụng web, theo phương pháp UWE với ngôn ngữ chuyển đổi mơ hình ATL Nội dung trình bày chương có cơng trình công bố liên quan: CT4, CT5 (3) Áp dụng xây dựng Chuẩn đoán bệnh thủy sản tảng benhthuysan.vn Nội dung trình bày chương (mục 3.4) có cơng trình cơng bố liên quan: CT6, CT8 Cụ thể hơn, luận án thực kết sau: - Phân tích tổng quan vấn đề phát triển ứng dụng web hướng mơ hình kỹ thuật chuyển đổi model to model mode to code Đồng thời, bổ sung quy tắc tích hợp OCL vào chuyển đổi sang mơ hình xử lý mơ hình trình bày, nhằm cải tiến, nâng cao hiệu chuyển đổi mơ hình UWE - Xây dựng, bổ sung 31 quy tắc chuyển đổi từ mơ hình u cầu sang mơ hình nội dung, điều hướng, xử lý trình bày với ngơn ngữ chuyển đổi mơ hình ATL - Phát triển quy tắc chuyển đổi từ mơ hình mức PIM sang mơ hình mức PSM (mơ hình Java mơ hình JSP) sinh mã từ mơ hình mức PSM thu thành file mã nguồn java jsp Cách tiếp cận luận án cung cấp giải pháp hiệu cho vấn đề sinh mã tự động theo phương pháp phát triển ứng dụng Web hướng mơ hình UWE Cụ thể, (1) Xây dựng 23 quy tắc chuyển đổi sang mơ hình java: 12 quy tắc chuyển thành thành phần Model từ mơ hình nội dung, 08 quy tắc tạo thành phần View từ mô hình trình bày 03 quy tắc tạo thành phần Controller từ mơ hình điều hướng; (2) phát triển 06 truy vấn ATL để sinh mã mơ hình java; 04 truy vấn ATL để sinh mã từ mơ hình JSP - Từ quy tắc, truy vấn ATL luận án xây dựng công cụ CODEGER-UWE để hỗ trợ sinh mã nguồn tạo ứng dụng web benhthuysan.vn Kết cho thấy, xây 123 dựng cơng cụ CODEGER –UWE tích hợp quy tắc xây dựng, cung cấp đầy đủ cách thức thiết kế sinh mơ hình UWE, đảm bảo tính thống hiệu chuyển đổi mơ hình sinh code tự động cho phát triển ứng dụng Web hướng mơ hình Hướng phát triển luận án Định hướng nghiên cứu luận án tiếp tục mở rộng công cụ đề xuất CODEGER –UWE, với khả tích hợp buộc OCL, nhằm tiếp tục nghiên cứu sâu kỹ thuật chuyển đổi mơ hình kỹ thuật sinh code phương pháp UWE, để tạo ứng dụng web chuyên nghiệp Theo số nghiên cứu, kiểm thử thường chiếm khoảng 50% chi phí dự án 35% tổng thời gian phát triển phần mềm [98] Vì vậy, hướng nghiên cứu đề tài tích hợp kiểm thử hướng mơ hình, tạo ca kiểm thử tự động từ mơ hình UWE, để kiểm thử ứng dụng Web, nhằm giảm thiểu chi phí cho dự án đảm bảo chất lượng sản phẩm ứng dụng Web 124 DANH MỤC CÁC CƠNG TRÌNH ĐÃ CƠNG BỐ CỦA LUẬN ÁN Số lượng báo cơng bố: 06 [1] Trần Đình Diễn, Huỳnh Quyết Thắng (2015), Phát triển ứng dụng Web hướng mơ hình dựa phương pháp UWE, Kỷ yếu Hội nghị Quốc gia lần thứ VIII Nghiên cứu ứng dụng Công nghệ thông tin (FAIR) – Hà Nội, ngày 910/7/2015, trang 564-574 ISBN: 978-604-913-397-8 [2] Nguyen Thi Thuy Linh, Tran Dinh Dien, Bui Quang Thang, Huynh Quyet Thang (2015), Integration MDA Techniques in Solving A Class of Web Application with Similar Structure, AUN/SEED-Net Regional Conference for Computer and Information Engineering 2015, ngày 01-02/10/2015, trang 78-83 ISBN: 978-604938-689-3 [3] Dien Tran Dinh, Thang Huynh Quyet, Khanh Tran Quoc (2018), Model Transformation with OCL Integration in UWE In FICTA2018: International Conference on Frontiers of Intelligent Computing: Theory and Applications, November 29-30, 2018 Frontiers in Intelligent Computing: Theory and Applications - Proceedings of the 7th International Conference on FICTA (2018), Volume 1, pp 199-211, ISBN: 978-981-32-9186-7, SCOPUS Indexed [4] Quyet-Thang Huynh, Dinh-Dien Tran, Thi-Mai-Anh Bui, Phi-Le Nguyen (2019), Development of Rules and Algorithms for Model-Driven Code Generator with UWE Approach New Trends in Intelligent Software Methodologies, Tools and Techniques, Volume 318, 2019, pp 531 - 544 (SOMET 2019), ISBN: 978-164368-012-5, DOI 10.3233/FAIA190078, WoS, SCOPUS Indexed [5] Trần Đình Diễn, Huỳnh Quyết Thắng, Bùi Thị Mai Anh, Hoàng Thành Đạt, Nguyễn Phi Lê (2021), Xây dựng thử nghiệm công cụ CODEGER-UWE phát triển ứng dụng Web hướng mô hình, Journal of Science and Technology (JST), Vol 1, Issue 1, April 2021, ISSN: 2734 - 9373 [6] Trần Đình Diễn, Huỳnh Quyết Thắng, Hoàng Thành Đạt (2021), Phát triển thuật toán sinh code cho ứng dụng web chuẩn đoán bệnh thủy sản với ATL, Tạp chí Nghiên cứu Khoa học Công nghệ quân (JMST), số 72, tháng – 2021, ISSN: 1859-1043 Số lượng báo gửi tạp chí: 02 [7] Dinh-Dien Tran, Quyet-Thang Huynh, Hoang-Dat Thanh, Thi-Mai- Anh Bui (2021), Model transformation with ATL from CIM to PIM for the development of model driven web application by the UWE method, International Journal of Software Innovation (IJSI), SSN: 2166-7160, DOI 10.4018/IJSI, SCOPUS Indexed (đang gửi đăng) [8] Trần Đình Diễn, Huỳnh Quyết Thắng, Hồng Thành Đạt (2021), Cơng cụ benhthuysan.vn trợ giúp Chẩn đốn bệnh thủy sản tảng web, Tạp chí Nơng nghiệp Phát triển nông thôn (đang gửi đăng) 125 TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] K Andreas, "Model Driven Software Engineering for Web Applications," PhD, Faculty of Mathematics, Computer Science and Statistics, University of Malaga, Spanien, 2007 A F Subahi and Y Alotaibi, "A New Framework for Classifying Information Systems Modelling Languages," Journal of Software, vol 13, pp 18-42, 2018 A P F Mascarenhas, A M S Andrade, and R Suzana, "A Model Driven Transformation Development Process for Model to Model Transformation," presented at the SBES '16: Proceedings of the 30th Brazilian Symposium on Software Engineering, Maringá Brazil, 2016 K Nora, "Transformation Techniques in the Model-Driven Development Process of UWE," in sixth international conference on Web engineering California, USA, 2007, p 10, USA: ICWE Workshops 2006, 2006 S Jörges, Construction and evolution of code generators : a model-driven and service-oriented approach, 1st ed (Lecture notes in computer science Programming and Software Engineering) New York: Springer, 2013, p 246 pages B Karakostas and Y Zorgios, Engineering service oriented systems : a model driven approach, illustrated ed IGIb Publishing: IGI Global., 2008, p 399 S Jácome, J M Ferreira, and A Corral, "Software Development Tools in Model-Driven Engineering " presented at the 5th International Conference in Software Engineering Research and Innovation, Mexico, 25-27 Oct 2017 2017 G Alpaslan and O Kalıpsız, "Model Driven Web Application Development With Agile Practices," International Journal of Software Engineering & Applications, vol 7, p 11, September 2016 2016 N V d Almeida, S L Campos, and V E S Souza, "A Model-Driven Approach for Code Generation for Web-based Information Systems Built with Frameworks," presented at the Proceedings of the 23rd Brazillian Symposium on Multimedia and the Web, Gramado, Brazil, October 17–20, 2017, 2017 L Perez, L Ottens, and S Viswanathan, "Automatic Code Generation using Pre-Trained Language Models," Computation and Language, 2021 A Azzaoui, O Rabhi, and A Mani, "A Model Driven Architecture Approach to Generate Multidimensional Schemas of Data Warehouses," International Journal of Online and Biomedical Engineering (iJOE), vol Vol 15, 2019 126 [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] B M Hussein and A Salah, "A Framework for Model-Based Code Generation from a Flowchart," International Journal of Computing Academic Research (IJCAR), vol Volume 2, pp 177-191, 2013 J O Ringert, A Roth, B Rumpe, and A Wortmann, "Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems," in 1st International Workshop on Model-Driven Robot Software Engineering (MORSE 2014), York, Great Britain, 2015, vol 1319, pp 66-77 M Colpaert, "Integrating model-to-model and model-to-text transformations in a model driven framework for UWE," Master, Department of Information Technology, Ghent University, Belgium, 2013 A Fatolahi and S S Some, "Assessing a Model-Driven Web-Application Engineering Approach," (in e), Journal of Software Engineering and Applications, vol 07, no 05, pp 360-370, 2014 J A H Londono and J F Duitama, "Model-driven web engineering methods: a literature review," (in e), University of Antioquia, vol Colombia, p 13, 2012 A Gustavo, M.-J Escalona, L Michael, and R H Jose, "An Analysis of Model Driven Web Engineering Methodologies," (in e), ICIC International, vol 9, p 24, 2013 T O M G (OMG®) (2020) https://www.omg.org/mda/ L Abdellatif, M Chhiba, A Tabyaoui, and O Mjihil, "Model driven architecture approach for application security integration," Journal of Theoretical and Applied Information Technology, vol 8, p 13, 30th April 2017 Y Tian, "A Model-Driven Architecture based Evolution Method and Its Application in An Electronic Learning System," De Montfort University, England, 2012 Gilles Vanwormhoudt, M Allon, O Caron, and B Carré, "Template Based Model Engineering in UML," presented at the MODELS '20: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and System, Virtual Event, Canada, 2020 K Martin and D Matilda, "Analytical Method of CIM to PIM Transformation in Model Driven Architecture (MDA)," (in e), JIOS, vol 34, p 11, 2010 M Jurgelaitis, V Drungilas, L Ceponiene, and E Vaiciukynas, "Smart Contract Code Generation from Platform Specific Model for Hyperledger Go," in Trends and Applications in Information Systems and Technologies, vol Volume:1368Switzerland: Springer, 2021, pp Page: 63-73 D Kholkar, S Sunkle, and V Kulkarni, "Towards Automated Generation of Regulation Rule Bases using MDA," presented at the 5th International 127 [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] Conference on Model-Driven Engineering and Software Development, Portugal, February 19-21, 2017, 2017 F Z Yamani and M E Merouani, "A Model-Driven Architecture Approach for Developing Healthcare ERP: Case study in Morocco," International Journal of Computer Science Issues, vol Volume 17, no Issue 1, 2020 G Dragan, D Vladan, and D Dragan, Model Driven Engineering and Ontology Development New York: Springer, 2005 R Renas, "Model Driven Architecture - Test Methods and Tools," Blekinge Institute of Technology, Blekinge Institute of Technology, Sweden, 2006 M F Amr, N Benmoussa, K Mansouri, and M Qbadou, "Transformation of the CIM Model into A PIM Model According to The MDA Approach for Application Interoperability: Case of the "COVID-19 Patient Management" Business Process," International Journal of Online and Biomedical Engineering (iJOE), vol Vol 17, No 05, 2021, pp Pages 49-68, 2021 Y Rhazali, H Youssef, L Mohammed, C Idriss, and A Rhattoy, "A Model Transformation in Model Driven Architecture from Business Model to Web Model," IAENG International Journal of Computer Science, pp 104-117 2018 M Melouka and H Y Yassine Rhazalib, "An Approach for Transforming CIM to PIM up To PSM in MDA," presented at the International Workshop on the Advancements in Model Driven Engineering (AMDE 2020) April 6-9, 2020, Warsaw, Poland, 2020 J Miller and J Mukerji, MDA Guide Version 1.0.1 https://www.omg.org/news/meetings/workshops/UML_2003_Manual/002_MDA_Guide_v1.0.1.pdf: OMG (Object Management Group), 2003 J A A Ahmed, U Muhammad, and H Zahid, "Model Transformations in Model Driven Architecture," (in e), UniCSE, 2010 A group and L INRIA, ATL: Atlas Transformation Language - User Manual: ATLAS group, 2005 [Online] Available B S Ravi Khadka, Luis Ferreira Pires, Marten J van Sinderen, Slinger Jansen, "WSCDL to WSBPEL: A Case Study of ATL-based Transformation," presented at the 3rd International Workshop on Model Transformation with ATL, MtATL 2011, Switzerland, 2011 M Huisman and J Rubin, Fundamental Approaches to Software Engineering, M Huisman and J Rubin, eds., Sweden: Springer, Berlin, Heidelberg, 2017 [Online] Available J Troya, A Bergmayr, L Burgueño, and M Wimmer, "Towards systematic mutations for and with ATL model transformations," presented at the 2015 128 [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), Graz, Austria 2015 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 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 F Erata, M Challenger, and G Kardas, "Review of Model-to-Model Transformation Approaches and Technologies," ITEA, 2015 K M A Aziz, "Evaluating Model Transformation Technologies," Student essay, Department of Computer Science and Engineering, University of Gothenburg, Găoteborg, Sweden, 2011 A G.-L Amine Benelallam, Massimo Tisi, Jordi Cabot, "Distributed Modelto-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 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 J Troya, M Fleck, M Kessentini, M Wimmer, and B Alkhaze, "Rules and Helpers Dependencies in ATL– Technical Report " 2016 H Bruneliere (2014) ATL/Developer Guide: https://wiki.eclipse.org/ATL/User_Guide Overview_of_the_ATL_Language#Structure_of_an_ATL_module 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 L A Schubert, "An Evaluation of Model Transformation Languages for UML Quality Engineering," (in e), 2010 A F Subahi, "A Business User Model-Driven Engineering Method for Developing Information Systems," Department of Computer Science, University of Sheffie, England, UK, 2015 G Hinkel, "An approach to maintainable model transformations with an internal DSL," (in e), 2013 L Dan, "Enabling Component-BasedModel Transformations with QVT," (in e), 2013 129 [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, http://www.omg.org/spec/OCL/2.2, 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, http://www.omg.org/spec/CWM/1.1/ http://www.omg.org/spec/CWM/1.1/, 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 130 [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] M Santiago, "The webSA approach: applying model driven engineering to web applications," University of Alicante, Spain, 2006 J M H Carbonell, "Model-Driven Development of Rich Internet Applications on the Sematic web," 2013 R Gustavo, P Oscar, S Daniel, and O Luis, Web Engineering: Modelling and Implementing Web Applications New York: Springer, 2008 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 S Ceri, P Fraternali, and A Bongio, "Web Modeling Language (WebML): a modeling language for designing Web sites," (in e), 2000 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 G S Rivera, J A Gallud, and R Tesoriero, "Code Generation Using Model Driven Architecture: A Systematic Mapping Study," Journal of Computer Languages 2019 N Kahani, M Bagherzadeh, J R Cordy, and J Dingel, "Survey and classification of model transformation tools," in Software & SystemsModelingVerlag GmbH Germany: Springer, 2019 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 http://uwe.pst.ifi.lmu.de/toolMagicUWE.html (2016) UWE – UML-based Web Engineering M Busch and M Á G d Dios, "ActionUWE: Transformation of UWE to ActionGUI Models," Institute for Informatics, Germany2012 I Essebaa, C Salima, and M Ramdani, "MoDAr-WA: Tool Support to Automate anMDA Approach for MVCWeb Application," Computers 2019, no , p 23, 2019 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 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 131 [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] 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 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 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 T Górski, "Model-to-model transformations of architecture descriptions of an integration platform," Journal of Theoretical and Applied Computer Science, 2014 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 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 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 V T Bosch, "A Web Engineering Approach for the Development of BusinessProcess Driven Web Applications," Department of Information Systems and Computation Technical University of Valencia, 2008 N Koch, "Classification of Model Transformation Techniques used in UMLbased Web Engineering," (in e), the 2nd Workshop on Model-Driven Web Engineering (MDWE`06), 2006 I No Magic, "https://www.nomagic.com/products/magicdraw " 2020 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 Examples Simple Music Portal https://uwe.pst.ifi.lmu.de/exampleMusicPortal.html J Küster, " Model-Driven Software Engineering Code Generation," in "IBM," IBM Research – Zurich, Switzerland2011 132 [90] [91] [92] [93] [94] [95] [96] [97] [98] 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 M Voelter, "A Catalog of Patterns for Program Generation," presented at the 8th European Conference on Pattern Languages of Programms (EuroPLoP '2003), Germany, 2003 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 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 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 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 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 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 M Varshosaz, "Test Models and Algorithms for Model-Based Testing of Software Product Lines," 2017 133 ... hợp, phân tích kỹ thuật phát triển phần mềm hướng mơ hình, kỹ thuật phát triển ứng dụng web hướng mơ UWE, WebML, WebSA Phát triển quy tắc chuyển đổi mơ hình Phát triển quy tắc sinh code với ngôn... tích kỹ thuật phát triển phần mềm hướng mơ hình, kỹ thuật phát triển ứng dụng web hướng mơ hình UWE - Phát triển quy tắc chuyển đổi mơ hình - Phát triển quy tắc sinh code với ngôn ngữ ATL cho phát. .. thay đổi phù hợp với MDSD để tạo ứng dụng web gọi Kỹ thuật web hướng mơ hình (MDWE) Hình 1.19 mô tả cấu trúc phát triển ứng dụng web hướng mơ hình [17] Kỹ thuật Web lĩnh vực cụ thể, phát triển