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
Số trang: 10
Loại file: pdf
Dung lượng: 779.96 KB
Lượt xem: 58
Lượt tải: 0
Xem trước 1 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài viết nghiên cứu phát triển các quy tắc và giải thuật sinh mã nguồn tự động từ các mô hình theo kỹ thuật web UWE (UML-based Web Engineering) để tạo ứng dụng web chẩn đoán bệnh thủy sản (benhthuysan.vn).
Nội dung trích xuất từ tài liệu:
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 Công nghệ thông tin & Cơ sở toán học cho tin học 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 Trần Đình Diễn*, Huỳnh Quyết Thắng, Nguyễn Thành Đạt Tóm tắt: Bài báo nghiên cứu phát triển các quy tắc và giải thuật sinh mã nguồn tự động từ các mô hình theo kỹ thuật web UWE (UML-based Web Engineering) để tạo ứng dụng web chẩn đoán bệnh thủy sản (benhthuysan.vn). Các quy tắc được thực nghiệm bằng ngôn ngữ chuyển đổi ATL, đảm bảo hiệu quả chuyển đổi mô hình cho phát triển ứng dụng Web hướng mô hình theo kiến trúc MVC. Trong bài báo này, chúng tôi trình bày phương pháp tiếp cận MDE để tạo ra các ứng dụng Web từ các mô hình theo kỹ thuật web UWE. Chúng tôi đã cải tiến xây dựng một số quy tắc, giải thuật sinh code tự động nhằm cải tiến, nâng cao hiệu quả chuyển đổi từ mô hình UWE sang mã nguồn và xây dựng công cụ CODEGER-UWE để xây dựng các ứng dựng Web. Đây là một phương pháp với quy trình phát triển rõ ràng và tiện dụng. Từ khóa: Sinh mã tự động; Chuyển đổi mô hình; ATL; Phát triển ứng dụng web. 1. ĐẶT VẤN ĐỀ Sinh mã tự động là mục tiêu lâu dài trong kỹ thuật phần mềm và là một bước thiết yếu trong kỹ thuật hướng mô hình (MDE) [1-5] để phát triển phần mềm, cho phép các nhà thiết kế tự động tạo ra các ứng dụng từ mô hình thiết kế. Kỹ thuật UWE hoàn toàn tuân thủ theo MDE mục tiêu tiếp cận của UWE là xây dựng những mô hình CIM, PIM, PSM và sinh code tự động cho ứng dụng web (hình 1). Hình 1. Sinh code trong UWE. Các kỹ thuật chính trong sinh mã tự động bao gồm: Templates and metamodel, Templates and filtering, API-based generators, Inline code generation, Visitor-Based Approaches [6-9]. Kỹ thuật Template và Metamodel, mã được tạo bằng cách áp dụng khuôn mẫu cho đặc tả mô hình thành văn bản (thường là XML/XMI) [10]. Một cách trực quan cho yêu cầu này là cách tiếp cận dựa trên template nơi mà văn bản được sinh ra từ mô hình được quy định như là một tập các template dạng văn bản mà được tham số hóa với các phần tử mô hình, một Template xác định một template văn bản cùng với các điểm mốc (placeholders) cho dữ liệu được trích xuất ra từ mô hình. Những điểm mốc đó về bản chất là các biểu thức quy định các thành phần metamodel cùng với các truy vấn là cơ chế chính cho việc lựa chọn và trích xuất giá trị từ mô hình. Giá trị đó được chuyển đổi qua văn bản bằng cách sử dụng ngôn ngữ biểu thức dựa trên các thư viện xử lý chuỗi. Template có thể được sử dụng để giải quyết các yêu cầu chuyển đổi phức tạp và chủ yếu được sử dụng để tạo mã nguồn và đã được áp dụng trong nhiều lĩnh vực khác nhau [10]. Trong nghiên cứu này, chúng tôi sử dụng phương pháp Template và Metamodel với nền tảng công nghệ J2EE, mô hình Web MVC cho kỹ thuật UWE, kết hợp với sự tương đồng về mặt định nghĩa của bốn mô hình trong UWE là mô hình nội dung, điều hướng, xử lý, trình bày với ba thành phần trong mô hình MVC, nhóm nghiên cứu phát triển các quy tắc và giải thuật sinh mã cho ứng dụng web benhthuysan.vn theo kỹ thuật UWE. Hiện nay, có nhiều nghiên cứu về việc sinh mã theo kỹ thuật UWE. Nghiên cứu [11] đã đề 102 T. Đ. Diễn, H. Q. Thắng, N. T. Đạt, “Phát triển thuật toán … bệnh thủy sản với ATL.” Nghiên cứu khoa học công nghệ xuất sử dụng ATL để chuyển đổi mô hình nhằm hỗ trợ cho nhà thiết kế các hoạt động tạo lập mô hình bằng cách sử dụng cấu hình UWE và chuyển đổi mô hình bán tự động. Do vậy, còn nhiều thành phần của mô hình vẫn phải xây dựng lại thủ công; việc sinh code mới chỉ dừng lại ở việc tạo ra các khung, để lập trình viên viết code. Hình 2. Sử dụng ngôn ngữ ATL để tạo ra các phần tử JSP [11]. Marianne Busch and Nora Koch [12] phát triên công cụ MagicUWE là một plugin cho MagicDraw, được phát triển để hỗ trợ thiết kế các ứng dụng web bằng phương pháp UWE. MagicUWE được pháp triển để hỗ trợ cho nhà thiết kế cho các hoạt động tạo lập mô hình bằng cách sử dụng cấu hình UWE và chuyển đổi mô hình bán tự động. Nghiên cứu của Imane Essebaa, Chantit Salima, Mohammed Ramdani [13] là một minh chứng rất gần đây về việc ứng dụng MDE cho các ứng dụng Web. Công việc của họ mô tả một công cụ (MoDAr-WA) nhằm mục đích tự động hóa các chuyển đổi từ CIM sang mã. Các tác giả sử dụng các quy tắc QVT để chuyển đổi giữa các mô hình (CIM sang PIM và PIM sang PSM) và Acceleo để tạo mã tuân theo kiến trúc MVC từ các mô hình PSM. Hình 3. Tổng quan về cách tiếp cận trong [13]. Trong tài liệu [14, 15], các tác giả áp dụng MDA để phát triển Ứng dụng web theo cấu trúc MVC. Nghiên cứu sử dụng ATL (Atlas Transformation Language) làm ngôn ngữ chuyển đổi thực hiện các phép biến đổi đến mã nguồn Java. Trong các nghiên cứu [11, 16-18] các tác giả đã đề xuất các quy tắc chuyển đổi mô hình từ CIM sang PIM sang PSM và [19] bổ sung bộ quy tắc chuyển đổi từ mô hình yêu cầu sang mô hình xử lý và mô hình trình bày, nhằm cải thiện quá trình chuyển đổi tự động cho các ứng dụng web sử dụng UWE. Trong bài báo [20], công bố năm 2018, chúng tôi đã đề xuất bổ sung một số quy tắc chuyển đổi sang mô hình xử lý và mô hình trình bày, nhằm cải tiến, nâng cao hiệu quả chuyển đổi mô hình UWE từ công cụ MagicUWE. Nghiên cứu này [20], đã phát triển 03 quy tắc sinh mã từ mô hình PSM: Quy tắc CM2M sinh mã thành phần Model từ mô hình nội dung; Quy tắc PRES2V Tạp chí Nghiên cứu KH&CN quân sự, Số 72, 04 - 2021 103 Công nghệ thông tin & Cơ sở toán học cho tin học sinh mã thành phần View từ mô hình trình bày và Quy tắc NPROM2C sinh mã thành phần Controller từ mô hình điều hướng và xử lý. Tương ứng với 03 quy tắc này, đã xây dựng 03 giải thuậ ...
Nội dung trích xuất từ tài liệu:
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 Công nghệ thông tin & Cơ sở toán học cho tin học 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 Trần Đình Diễn*, Huỳnh Quyết Thắng, Nguyễn Thành Đạt Tóm tắt: Bài báo nghiên cứu phát triển các quy tắc và giải thuật sinh mã nguồn tự động từ các mô hình theo kỹ thuật web UWE (UML-based Web Engineering) để tạo ứng dụng web chẩn đoán bệnh thủy sản (benhthuysan.vn). Các quy tắc được thực nghiệm bằng ngôn ngữ chuyển đổi ATL, đảm bảo hiệu quả chuyển đổi mô hình cho phát triển ứng dụng Web hướng mô hình theo kiến trúc MVC. Trong bài báo này, chúng tôi trình bày phương pháp tiếp cận MDE để tạo ra các ứng dụng Web từ các mô hình theo kỹ thuật web UWE. Chúng tôi đã cải tiến xây dựng một số quy tắc, giải thuật sinh code tự động nhằm cải tiến, nâng cao hiệu quả chuyển đổi từ mô hình UWE sang mã nguồn và xây dựng công cụ CODEGER-UWE để xây dựng các ứng dựng Web. Đây là một phương pháp với quy trình phát triển rõ ràng và tiện dụng. Từ khóa: Sinh mã tự động; Chuyển đổi mô hình; ATL; Phát triển ứng dụng web. 1. ĐẶT VẤN ĐỀ Sinh mã tự động là mục tiêu lâu dài trong kỹ thuật phần mềm và là một bước thiết yếu trong kỹ thuật hướng mô hình (MDE) [1-5] để phát triển phần mềm, cho phép các nhà thiết kế tự động tạo ra các ứng dụng từ mô hình thiết kế. Kỹ thuật UWE hoàn toàn tuân thủ theo MDE mục tiêu tiếp cận của UWE là xây dựng những mô hình CIM, PIM, PSM và sinh code tự động cho ứng dụng web (hình 1). Hình 1. Sinh code trong UWE. Các kỹ thuật chính trong sinh mã tự động bao gồm: Templates and metamodel, Templates and filtering, API-based generators, Inline code generation, Visitor-Based Approaches [6-9]. Kỹ thuật Template và Metamodel, mã được tạo bằng cách áp dụng khuôn mẫu cho đặc tả mô hình thành văn bản (thường là XML/XMI) [10]. Một cách trực quan cho yêu cầu này là cách tiếp cận dựa trên template nơi mà văn bản được sinh ra từ mô hình được quy định như là một tập các template dạng văn bản mà được tham số hóa với các phần tử mô hình, một Template xác định một template văn bản cùng với các điểm mốc (placeholders) cho dữ liệu được trích xuất ra từ mô hình. Những điểm mốc đó về bản chất là các biểu thức quy định các thành phần metamodel cùng với các truy vấn là cơ chế chính cho việc lựa chọn và trích xuất giá trị từ mô hình. Giá trị đó được chuyển đổi qua văn bản bằng cách sử dụng ngôn ngữ biểu thức dựa trên các thư viện xử lý chuỗi. Template có thể được sử dụng để giải quyết các yêu cầu chuyển đổi phức tạp và chủ yếu được sử dụng để tạo mã nguồn và đã được áp dụng trong nhiều lĩnh vực khác nhau [10]. Trong nghiên cứu này, chúng tôi sử dụng phương pháp Template và Metamodel với nền tảng công nghệ J2EE, mô hình Web MVC cho kỹ thuật UWE, kết hợp với sự tương đồng về mặt định nghĩa của bốn mô hình trong UWE là mô hình nội dung, điều hướng, xử lý, trình bày với ba thành phần trong mô hình MVC, nhóm nghiên cứu phát triển các quy tắc và giải thuật sinh mã cho ứng dụng web benhthuysan.vn theo kỹ thuật UWE. Hiện nay, có nhiều nghiên cứu về việc sinh mã theo kỹ thuật UWE. Nghiên cứu [11] đã đề 102 T. Đ. Diễn, H. Q. Thắng, N. T. Đạt, “Phát triển thuật toán … bệnh thủy sản với ATL.” Nghiên cứu khoa học công nghệ xuất sử dụng ATL để chuyển đổi mô hình nhằm hỗ trợ cho nhà thiết kế các hoạt động tạo lập mô hình bằng cách sử dụng cấu hình UWE và chuyển đổi mô hình bán tự động. Do vậy, còn nhiều thành phần của mô hình vẫn phải xây dựng lại thủ công; việc sinh code mới chỉ dừng lại ở việc tạo ra các khung, để lập trình viên viết code. Hình 2. Sử dụng ngôn ngữ ATL để tạo ra các phần tử JSP [11]. Marianne Busch and Nora Koch [12] phát triên công cụ MagicUWE là một plugin cho MagicDraw, được phát triển để hỗ trợ thiết kế các ứng dụng web bằng phương pháp UWE. MagicUWE được pháp triển để hỗ trợ cho nhà thiết kế cho các hoạt động tạo lập mô hình bằng cách sử dụng cấu hình UWE và chuyển đổi mô hình bán tự động. Nghiên cứu của Imane Essebaa, Chantit Salima, Mohammed Ramdani [13] là một minh chứng rất gần đây về việc ứng dụng MDE cho các ứng dụng Web. Công việc của họ mô tả một công cụ (MoDAr-WA) nhằm mục đích tự động hóa các chuyển đổi từ CIM sang mã. Các tác giả sử dụng các quy tắc QVT để chuyển đổi giữa các mô hình (CIM sang PIM và PIM sang PSM) và Acceleo để tạo mã tuân theo kiến trúc MVC từ các mô hình PSM. Hình 3. Tổng quan về cách tiếp cận trong [13]. Trong tài liệu [14, 15], các tác giả áp dụng MDA để phát triển Ứng dụng web theo cấu trúc MVC. Nghiên cứu sử dụng ATL (Atlas Transformation Language) làm ngôn ngữ chuyển đổi thực hiện các phép biến đổi đến mã nguồn Java. Trong các nghiên cứu [11, 16-18] các tác giả đã đề xuất các quy tắc chuyển đổi mô hình từ CIM sang PIM sang PSM và [19] bổ sung bộ quy tắc chuyển đổi từ mô hình yêu cầu sang mô hình xử lý và mô hình trình bày, nhằm cải thiện quá trình chuyển đổi tự động cho các ứng dụng web sử dụng UWE. Trong bài báo [20], công bố năm 2018, chúng tôi đã đề xuất bổ sung một số quy tắc chuyển đổi sang mô hình xử lý và mô hình trình bày, nhằm cải tiến, nâng cao hiệu quả chuyển đổi mô hình UWE từ công cụ MagicUWE. Nghiên cứu này [20], đã phát triển 03 quy tắc sinh mã từ mô hình PSM: Quy tắc CM2M sinh mã thành phần Model từ mô hình nội dung; Quy tắc PRES2V Tạp chí Nghiên cứu KH&CN quân sự, Số 72, 04 - 2021 103 Công nghệ thông tin & Cơ sở toán học cho tin học sinh mã thành phần View từ mô hình trình bày và Quy tắc NPROM2C sinh mã thành phần Controller từ mô hình điều hướng và xử lý. Tương ứng với 03 quy tắc này, đã xây dựng 03 giải thuậ ...
Tìm kiếm theo từ khóa liên quan:
Sinh mã tự động Chuyển đổi mô hình Phát triển ứng dụng web Kỹ thuật web UWE Chẩn đoán bệnh thủy sảnGợi ý tài liệu liên quan:
-
Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh
126 trang 81 0 0 -
Bài giảng Phát triển ứng dụng web 1: HTML From - ĐH Sài Gòn
34 trang 65 0 0 -
Bài giảng Phát triển ứng dụng web: Chương 0 - Lê Đình Thanh
10 trang 43 0 0 -
Bài giảng Phát triển ứng dụng web: Chương 7 - Lê Đình Thanh
41 trang 42 0 0 -
Bài giảng Phát triển ứng dụng web: Chương 1 - Lê Đình Thanh
47 trang 40 0 0 -
Xây dựng và thử nghiệm công cụ CODEGER-UWE phát triển ứng dụng Web hướng mô hình
5 trang 40 0 0 -
Bài giảng Phát triển ứng dụng Web: Bài 6 - Nguyễn Hữu Thể
24 trang 40 0 0 -
Mô tả công việc lập trình viên Java
1 trang 35 0 0 -
Giáo trình Phát triển ứng dụng web: Phần 1 - Lê Đình Thanh, Nguyễn Việt Anh
100 trang 34 0 0 -
Bài giảng Phát triển ứng dụng web: Chương 2 - Lê Đình Thanh
82 trang 33 0 0