Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

66 10 0
Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Đ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

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ PHẠM VĂN THANH MƠ HÌNH HĨA CHUN BIỆT MIỀN CHO ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ Hà Nội - 2015 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ PHẠM VĂN THANH MƠ HÌNH HĨA CHUN BIỆT MIỀN CHO ỨNG DỤNG WEB Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Đặng Đức Hạnh Hà Nội - 2015 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Trước hết, xin gửi lời biết ơn sâu sắc đến Tiến sĩ Đặng Đức Hạnh, 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 dành nhiều thời gian tâm huyết hướng dẫn, giúp đỡ tơi hồn thành luận văn tốt nghiệp cao học Nhân đây, xin chân thành cảm ơn Ban Giám hiệu Trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội quý thầy cô 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ạo điều kiện cho học tập hồn thành tốt khóa học Đồng thời, tơi xin cảm ơn tới Ban Giám đốc, đồng nghiệp Trung tâm Dịch vụ việc làm Thanh niên Trung ương Đồn, nơi tơi cơng tác tạo điều kiện cho thời gian để tham gia đầy đủ khóa học Mặc dù có nhiều cố gắng để hồn thiện luận văn khơng thể tránh khỏi thiếu sót, mong nhận đóng góp q báu q thầy cơ, đồng nghiệp bạn Tôi xin chân thành cảm ơn / Hà Nội, ngày tháng 10 năm 2015 HỌC VIÊN Phạm Văn Thanh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Mơ hình hóa chun biệt miền cho ứng dụng Web” tơi viết hướng dẫn Tiến sĩ Đặng Đức Hạnh Nội dung luận văn có tham khảo số tài liệu không chép từ tài liệu công bố Hà Nội, ngày tháng 10 năm 2015 HỌC VIÊN Phạm Văn Thanh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC Trang LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT DANH MỤC HÌNH VẼ MỞ ĐẦU 10 CHƯƠNG 1: TỔNG QUAN VỀ MƠ HÌNH HĨA CHUN BIỆT MIỀN 12 1.1 Khái niệm mơ hình mơ hình hóa 12 1.1.1 Khái niệm mơ hình 12 1.1.2 Khái niệm mơ hình hóa 12 1.2.3 Mơ hình hố trực quan 12 1.1.4 Mơ hình hóa mục đích chung 13 1.2 Mơ hình hóa chun biệt miền 14 1.2.1 Cấu trúc mơ hình hóa chun biệt miền 14 1.2.2 Mơ hình kiến trúc mơ hình hóa chun biệt miền 15 1.3 Ngơn ngữ mơ hình hóa chuyên biệt miền 16 1.4 Đặc điểm ý nghĩa mơ hình hóa chuyên biệt miền 18 1.4.1 Đặc điểm mơ hình hóa chun biệt miền 18 1.4.2 Ý nghĩa của mơ hình hóa chuyên biệt miền người sử dụng 20 1.4.3 Lợi ích mơ hình hóa chun biệt miền 21 1.4.4 So sánh DSM với ngơn ngữ mơ hình mục đích chung khác 23 CHƯƠNG 2: NGƠN NGỮ MƠ HÌNH HĨA CHUYÊN BIỆT MIỀN CHO ỨNG DỤNG WEB 25 2.1 Tổng quan phương pháp xây dựng DSML 25 2.1.1 Giai đoạn 1: Khảo sát miền 25 2.1.2 Giai đoạn 2: Định nghĩa metamodel ràng buộc 25 2.1.3 Giai đoạn 3: Xác định ký pháp cho ngôn ngữ 26 2.1.4 Giai đoạn 4: Thao tác mơ hình 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2.2 Kỹ thuật công cụ hỗ trợ xây dựng DSML 26 2.2.1 Biểu diễn mơ hình với Metamodel 26 2.2.2 Ràng buộc miền ngôn ngữ OCL 27 2.2.3 Một số công cụ hỗ trợ xây dựng DSML 31 2.3 Vận dụng vào miền ứng dụng Web 43 2.3.1 Khảo sát miền ứng dụng Web 43 2.3.2 Định nghĩa Metamodel ràng buộc 48 2.3.3 Xác định ký pháp ngơn ngữ mơ hình hóa chun biệt miền cho ứng dụng Web 49 CHƯƠNG 3: CÀI ĐẶT VÀ THỰC NGHIỆM TRÊN ECLIPSE 51 3.1 Biểu diễn cú pháp trừu tượng DSL cho miền ứng dụng Web 51 3.1.1 Mơ hình Ecore 51 3.1.2 Mơ hình genmodel 52 3.2 Biểu diễn cú pháp cụ thể 53 3.2.1 Graphical Definition Model (GDM) WML.gmfgrahp 54 3.2.2 Tooling Definition Model (TDM) 57 3.2.3 Mapping Definition Model (MDM) 57 3.3 Kỹ thuật sinh mã 60 3.3.1 Các cách để xây dựng máy sinh mã 60 3.3.2 Qui trình tạo máy sinh mã 60 3.3.3 Mã nguồn mơ hình EMF.model 61 3.3.4 Các thành phần EMF.edit EMF.editor 62 3.3.5 Code Generation (CG) 62 3.4 Kết DSL cho miền ứng dụng Web 64 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65 Kết đạt được: 65 Hướng phát triển: 65 TÀI LIỆU THAM KHẢO 66 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT Từ viết tắt Thuật ngữ ATL ATLAS Transformation Language Ngôn ngữ chuyển ATLAS DSL Domain specific language Ngôn ngữ chuyên biệt miền DSM Domain Specific modeling Mơ hình hóa chun biệt miền DSML Domain specific modeling language Ngơn ngữ mơ hình hóa chun biệt miền EMF Eclipse Modeling Framework Khung mơ hình hóa Eclipse GMF Graphical Modeling Framework Khung mơ hình hóa đồ họa M2M Model to Model Transformation Chuyển mơ hình sang mơ hình M2T Model to Text Transformation Chuyển mơ hình sang text MDD Model driven development Phát triển hướng mô hình OCL Object Constraint Language Ngơn ngữ ràng buộc đối tượng QTV Query/View/Transformation Truy vấn/ Khung nhìn/Chuyển UML Unified Modeling Language Ngơn ngữ mơ hình thống WebML Web Modeling Language MDA Model Driven Architecture Ý nghĩa Ngôn ngữ mô hình Web Phát triển hướng mơ hình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC HÌNH VẼ Hình 1.1: Nhìn vấn đề tơ người bình thường 11 Hình 1.2: Nhìn vấn đề tơ chun gia phân tích 11 Hình 1.3: Mơ hình UML cho cửa sổ Windows 11 Hình 1.4: Cấu trúc mơ hình hóa chuyên biệt miền 12 Hình 1.5: Mơ hình kiến trúc mơ hình hóa chun biệt miền 14 Hình 1.6: Ngơn ngữ mơ hình hóa chun biệt miền trị chơi Snake 16 Hình 1.7: Chi phí để phát triển ứng dụng 20 Hình 1.8: Giảm chi phí sử dụng DSM 21 Hình 2.1: Mơ hình metamodeling ví dụ 25 Hình 2.2: MetaEdit+ Workbrench MetaEdit+ Modeler 29 Hình 2.3: Các thành phần GOPPRR 30 Hình 2.4: Generator Editor 30 Hình 2.5: Generator Debugger 31 Hình 2.6: Diagram Editor 32 Hình 2.7: Maxtric Editor 32 Hình 2.8: Table Editor 33 Hình 2.9: Browsers 33 Hình 2.10: Eclipse plugin 34 Hình 2.11: Visual Studio extension tích hợp MetaEdit+ Visual Studio 35 Hình 2.12: Dự án mơ hình hóa Eclipse 35 Hình 2.13: DSL Toolkit Artifacts - Abstract 37 Hình 2.14: Luồng công việc phát triển DSL Toolkit 37 Hình 2.15: Các thành phần xây dựng dự án EMF 38 Hình 2.16: MetaModel đại diện cho tập tối thiểu thuật ngữ với ecore 39 Hình 2.17: Các thành phần xây dựng dự án EMF 39 Hình 2.18: Cửa sổ tiện ích GMF Dashboard 40 Hình 2.19: Các giai đoạn trình phát triển DSL cho ứng dụng Web 41 Hình 2.20: Lược đồ liệu sở liệu ứng dụng web 42 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 2.21: Ví dụ sơ đồ cấu trúc 42 Hình 2.22: Ví dụ mơ hình thành phần WebML 43 Hình 2.23: Mơ hình liệu ứng dụng Web âm nhạc 44 Hình 2.24: Các trang Website 44 Hình 2.25: Kiểu liên kết ngữ cảnh 45 Hình 2.26: Kiểu liên kết không ngữ cảnh 45 Hình 2.27: Class có tên Address thuộc tính 45 Hình 2.28: Các lớp biểu đồ biểu diễn metamodel cho miền ứng dụng Web 47 Hình 2.29: Các ký pháp trừu tượng (abstract syntax) 48 Hình 2.30: Các ký pháp cụ thể (concrete syntax) 49 Hình 3.1 Mơ hình WebML.ecore dự án EMF 50 Hình 3.2 Mơ hình WebML.ecore diagram dự án EMF 51 Hình 3.3 Mơ hình WebML.genmodel dự án EMF 51 Hình 3.4 Mơ hình WML.gmfgraph 53 Hình 3.5 Xây dựng node Class mơ hình WML 53 Hình 3.6 Xây dựng Polyline cho node ClassAttribute 54 Hình 3.7 Xây dựng Figure cho ClassAttribute 54 Hình 3.8 Xây dựng connection Class Attributes 55 Hình 3.9 Nhãn Name cho node Class 55 Hình 3.10 Mơ hình WML gmftool xây dựng 56 Hình 3.11 Các node, link mapping WML gmfmap 57 Hình 3.12 Ánh xạ node HypertextLayer 57 Hình 3.13 Ánh xạ Link HypertextLayer.pages.Page 58 Hình 3.14 Ánh xạ Link HypertextLayer.pages.Page 58 Hình 3.15 Mã nguồn tự động sinh từ mơ hình WML.genmodel 61 Hình 3.16 WML edit WML.editor sinh từ genmodel 61 Hình 3.17: Generate diagram code dự án GMF 62 Hình 3.18: Cửa sổ Extensions Plugin xml dự án GMF 62 Hình 3.19: DSML cho miền ứng dụng Web 63 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 MỞ ĐẦU Ngày nay, làm để giảm thời gian thiết kế, giảm chi phí phát triển ứng dụng phần mềm đại lại phải tăng tính linh hoạt, hiệu phần mềm để cạnh tranh đáp ứng nhu cầu sử dụng phần mềm tất lĩnh vực khác đời sống xã hội Xuất phát từ mong muốn đó, năm qua giải pháp phát triển thư viện lớp xây dựng hoàn chỉnh phục vụ cho phát triển phần mềm chưa thể để đáp ứng đầy đủ nhu cầu ngành công nghiệp phần mềm Việc phát triển phần mềm cịn dạng thủ cơng, dựa vào sức người chủ yếu Vì vậy, việc nghiên cứu đưa giải pháp cho phép phát triển phần mềm cách tự động đề xuất phát triển Và giải pháp phát triển phần mềm hướng mơ hình xem giải pháp phù hợp phát triển ứng dụng phần mềm đại ngày Phát triển hướng mơ hình đặt mơ hình hóa làm vấn đề trọng tâm phát triển phần mềm, từ mơ hình dịch chuyển sang mã chương trình triển khai nhờ sinh mã nguồn (code generator) Và phát triển hướng mơ hình đặc biệt phù hợp với phát triển sản phẩm phần mềm hệ Một hướng tiếp cận phát triển hướng mơ hình mơ hình hóa chun biệt miền, việc xây dựng ngơn ngữ mơ hình hóa chun biệt miền thường triển khai dạng dự án nhỏ khởi đầu dự án lớn Và kết dự án mơ hình hóa chun biệt miền ngơn ngữ mơ hình hóa thuộc miền cho phép mơ hình hóa vấn đề dự án, kết thu dịch chuyển mơ hình dự án sang mã (code) triển khai, điều làm giảm bớt thời gian chi phí phát triển phần mềm Với ưu điểm mơ hình hóa chun biệt miền lợi ích mang lại phải phát triển ngơn ngữ cho phép mơ hình hóa chun biệt miền, tơi lựa chọn đề tài “Mơ hình hóa chun biệt miền cho ứng dụng Web” làm đề tài luận văn Mục tiêu đề tài tìm hiểu phương pháp phát triển phần mềm hướng mơ hình với cách tiếp cận mơ hình hóa chun biệt miền Trong phạm vi nghiên cứu đề tài tơi tìm hiểu phương pháp xây dựng ngơn ngữ mơ hình hóa chun biệt miền cho ứng dụng Web cài đặt thử nghiệm với công cụ Eclipse LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 52 Hình 3.2: Mơ hình WebML ecorediag dự án EMF Dự án EMF cung cấp công cụ Ecore diagram cho phép người dùng sử dụng ký hiệu trực quan để kéo thả thay phải định nghĩa khái niệm trừu tượng mơ hình ecore 3.1.2 Mơ hình genmodel Từ mơ hình Ecore dự án EMF cho phép tạo mơ hình genmodel Mơ hình genmodel sinh từ mơ hình ecore bổ sung thêm thông tin cho EMF model, EMF.edit, EMF.editor, EMF.test; mơ hình genmodel hình đây: Hình 3.3: Mơ hình WebML genmodel dự án EMF LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 53 3.2 Biểu diễn cú pháp cụ thể Cú pháp trừu tượng cho DSML dự án EMF xây dựng, ta xây dựng cú pháp cụ thể cho DSML dự án GMF Elipse Bảng 3.1 Các ký hiệu xây dựng dự án GMF DSL cho miền ứng dụng Web Khái niệm (Concept) Node HypertextLayer Ký hiệu (Notation) HypertextLayer Node StaticPage Node IndexPage Node DetailPage Node Clink Clink Node NCLink NClink Node Class Node Attribute Connection HypertextLayerHaspages Connection HypertextLayerHasHomepage Connection PageHasLinks Connection DynamicPageHasClass Connection ClassHasattributes LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 54 Các mơ hình xây dựng dự án GMF DSL cho ứng dụng Web gồm: 3.2.1 Graphical Definition Model (GDM) WML.gmfgrahp Các Figure, Node, Connection, Compartment, Diagram Label cho khái niệm thuộc miền định nghĩa cụ thể sau: + Figure: Định nghĩa hình đại diện cho node connection Hình 3.4: Mơ hình WML.gmfgraph + Node: Trong mơ hình, node dùng để định nghĩa khái niệm Mỗi node tương ứng với hình mơ hình Hình 3.5: Xây dựng node Class mơ hình WML LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 55 + Polyline: Định nghĩa hình dáng đường cuối liên kết connection Ví dụ hình hưới định nghĩa cho liên kết Role Permission Hình 3.6: Xây dựng Polyline cho node ClassAttribute + Figure Descriptor: Các hình đại diện cho khái niệm miền liên kết khái niệm mơ hình miền Như hình định nghĩa hình (ký hiệu) cho khái niệm ClassAttributes hình liên kết Class Attributes Hình 3.7: Xây dựng Figure cho ClassAttribute LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 56 + Connection: Định nghĩa liên kết (association) tồn khái niệm miền Hình 3.8: Xây dựng connection Class Attributes + Diagram Label: Tên hiển thị hình node connection Hình 3.9: Nhãn Name cho node Class LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 57 3.2.2 Tooling Definition Model (TDM) Mơ hình TDM sử dụng để xác định palette, tạo tools, tạo actions… cho phần tử đồ họa Trong dự án GMF_WML có xây dựng Palette cho khái niệm (node) liên kết (link) Kết Tooling Definition Model dự án GMF_WML hình đây: Hình 3.10: Mơ hình WML.gmftool xây dựng 3.2.3 Mapping Definition Model (MDM) Mơ hình MDM cho phép liên kết ba mơ hình với là: Domain (WML Ecore), Graphical definition (WML gmfgraph) tooling definition (WML gmftool) Đây mơ hình quan trọng để phát triển dự án GMF mơ hình đầu vào để chuyển sang mơ hình cuối Generation Model Mơ hình MDM ánh xạ khái niệm miền mức trừu tượng mơ hình WML ecore thành khái niệm miền mức cụ thể WML gmfgraph gắn với tool Palette mơ hình WML gmftool Trong Mapping Definition Model dự án GMF WML cần ánh xạ Node Link Node, hình mơ hình WML gmftool xây dựng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 58 Hình 3.11: Các node, link mapping WML.gmfmap + Các node cần ánh xạ dự án GMF_WML: HypertextLayer, ContentLayer, Page, DynamicPage, StaticPage, Link, Class,… Ví dụ ánh xạ node hình đây: Hình 3.12: Ánh xạ node HypertextLayer Hình ánh xạ node HypertextLayer xác định node chứa bên node Page LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 59 Hình 3.13: Ánh xạ node HypertextLayer Page + Các Link cần ánh xạ dự án GMF_WML: Webmodel.content ContentLayer, Webmodel hypertext HyperTextLayer, HyperText.homepage Page, HyperText.pages.Page , ví dụ hình đây: Hình 3.14: Ánh xạ Link HypertextLayer.pages.Page LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 60 3.3 Kỹ thuật sinh mã Xây dựng máy sinh mã hai nhiệm vụ tạo giải pháp DSM Máy sinh mã DSM xây dựng để thực nhiệm vụ miền vấn đề cụ thể Mã sinh khơng cần phải sửa đổi, bổ sung đáp ứng hết yêu cầu nhà phát triển Mặc dù tác dụng máy sinh mã to lớn để tạo khơng phải điều dễ dàng Trong phần này, tìm hiểu bước để tạo máy sinh mã DSM 3.3.1 Các cách để xây dựng máy sinh mã Chúng ta tìm hiểu cách khác để làm nên kết cấu máy sinh mã Mỗi cách sử dụng riêng kết hợp với cách khác Chúng ta cần chia nhỏ máy sinh mã thành máy sinh mã Mỗi máy sinh mã giải vấn đề cụ thể Chúng ta xây dựng máy sinh mã theo thứ tự: Autobuild: Máysinh mã autobuild mức cao Nó qui định file sinh máy sinh mã quy định kịch hoạt động máy sinh mã Máy sinh mã ngơn ngữ mơ hình: Giải pháp DSM đầy đủ thường phải sử dụng nhiều ngơn ngữ mơ hình Vì ngơn ngữ mơ hình cần phải tạo máy sinh mã tương ứng Máy sinh mã cho loại file: Mỗi mơ hình sinh nhiều file với loại file mơ hình nên định nghĩa cho máy sinh mã tương ứng Máy sinh mã song song sinh nhiều ngơn ngữ lập trình: Nhu cầu tạo ứng dụng dựa nhiều tảng khác nhau, nhiều ngôn ngữ khác lớn Vì máy sinh mã cần phải hỗ trợ nhiều ngơn ngữ lập trình khác 3.3.2 Qui trình tạo máy sinh mã Tạo kiểm tra máy sinh mã: Phần quan trọng việc tạo máy sinh mã biết bắt đầu Phải biết đầu vào máy sinh mã kết đầu máy sinh mã Chúng ta giữ cho máy sinh mã đơn giản tốt, đẩy phức tạp xuống khuôn khổ miền Đồng thời, ta phải chờ sau xây dựng xong mô hình chuyên biệt miền bắt đầu xây dựng máy sinh mã Chúng ta xây dựng ví dụ mơ hình chun biệt miền sử dụng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 61 để kiểm tra máy sinh mã Một máy sinh mã chạy với mơ hình ví dụ ta nên thay đổi phần mơ hình xem thay đổi xảy đầu máy sinh mã Bắt đầu từ thay đổi đơn giản tên khái niệm phức tạp cách cho thêm đối tượng mơ hình, từ có thay đổi phù hợp với máy sinh mã Cứ ta có máy sinh mã hồn chỉnh Và muốn thay đổi nâng cấp máy sinh mã, ta làm tương tự bước Chia sẻ trì máy sinh mã: Máy sinh mã liên kết với ngơn ngữ mơ hình mặt liên kết với khuôn khổ miền, môi trường mục tiêu mặt cịn lại Vì vây để q trình mơ đun hóa diễn thuận lợi cần giữ vững mối liên kết Ở giai đoạn bắt đầu viết máy sinh mã liên kết với ngơn ngữ mơ hình thường mạnh nên có cập nhật cho mơ hình ngơn ngữ thường có cập nhật cho máy sinh mã kèm Nếu trường hợp mô hình ngơn ngữ cập nhật mà máy sinh mã khơng cập nhật máy sinh mã mơ hình ngơn ngữ phải kèm với Mối liên kết máy sinh mã với khuôn khổ miền đáng ý Những thay đổi khuôn khổ miền dẫn đến thay đổi máy sinh mã Để đồng tất thay đổi thành phần, phải đồng thay đổi vào phiên để tránh nhầm lẫn, sai phiên Kiểm soát phiên máy sinh mã: Chúng ta nên đánh dấu số phiên máy sinh mã để dễ dàng kiểm sốt chúng 3.3.3 Mã nguồn mơ hình EMF.model Mã nguồn mơ hình dự án EMF sinh từ mơ hình genmodel nhờ Genrator dự án EMF, gồm package wml, wml impl, wml.until - wml: gồm tệp java khai báo giao diện (inteface) tương ứng với khái niệm metamodel khai báo kiểu tập hợp (enum) Factory, Package - wml.impl: Gồm tệp java lớp triển khai interface khai báo dự án WebML - wml.util: gồm hai tệp tương ứng với hai lớp WmlAdapterFactory.java WmlSwitch java LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 62 Hình 3.15: Mã nguồn tự động sinh từ mơ hình WML.genmodel 3.3.4 Các thành phần EMF.edit EMF.editor Nhờ Generator dự án EMF cho phép sinh mã nguồn tự động thành phần EMF.editor EMF.edit Hình 3.16: WML.edit WML.editor sinh từ genmodel 3.3.5 Code Generation (CG) Sau xây dựng mơ hình Mapping Definition Model bước ta tạo mơ hình Generator từ mơ hình Mapping Definition Model sau tạo generate diagram từ mơ hình Generator LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 63 Hình 3.17: Generate diagram code dự án GMF Kết bước tạo tệp Plugin xml tool DSL cho ứng dụng Web thu từ kết dự án GMF Hình 3.18: Cửa sổ Extensions Plugin xml dự án GMF LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 64 3.4 Kết DSL cho miền ứng dụng Web Kết dự án GMF WML xây dựng DSL cho miền ứng dụng Web Application Plug-in với Eclipse Hình 3.19: DSL cho miền ứng dụng Web Tóm lại, chương chúng tơi trình bày kết cài đặt cho dự án xây dựng DSML Eclipse cho miền ứng dụng Web gồm có kết dự án EMF, GMF LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 65 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt được: Với mục tiêu ban đầu đề tài đặt tìm hiểu DSML, tìm hiểu miền ứng dụng Web để xây dựng metamodel với ngôn ngữ OCL để cài đặt tool use Sau thời gian nghiên cứu đạt kết sau: - Tìm hiểu khái niệm, cơng cụ phương pháp xây dựng ngơn ngữ mơ hình hóa chun biệt miền - Tìm hiểu miền ứn dụng Web, sở lý thuyết nghiên cứu tìm hiểu cơng cụ Eclipse xây dựng DSML cho miền ứng dụng Web metamodel ngơn ngữ ràng buộc mơ hình OCL Hướng phát triển: - Nghiên cứu tiếp chuyển mô hình, dự án GMT Eclipse để xây dựng sinh code, sinh documentation - Nghiên cứu tích hợp ngơn ngữ chuyên biệt miền xây dựng với ngôn ngữ chuyên biệt miền khác LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 66 TÀI LIỆU THAM KHẢO [1] MetaCase, http://www.metacase.com [2] WebML, http://www.webml.org [3] Robert A Maksimchuk, Michael W Engle, Bobbi J.Young, Ph.D.Jim Conallen, Kelli A Houston Grady Booch, “Object-Oriented Analysis and Design with Applications”, the United States on recycled paper at Courier in Westford, Massachusetts, April, 2007 [4] Sanna Sivonen, "Domain-specific modelling language and code generator for developing repositorybased", VTT Publications, Oulu, research project 2008 [5] Richard C Gronback, “Eclipse Modeling Project A Domain-Specific Language”,United States of America, 2009 [6] Rick Kuhn, "Role Based Access Control" American National Standards, Apr 2003 [7] David Dean, Anna Gerber, Gunnar Wagenknecht, Philippe Vanderheyden Bill Moore, “Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework”, ibm com/redbooks, 2004 [8] Petter Graff Vladimir Bacvanski, “Mastering Eclipse Modeling Framework”, 2005, Elipse [9] Reena Cherukuri Dr Saeed Rajput, Role Based Access Control Models, Slide [10] Elisa Chiarani (UNITN), Edith Felix (THA),Benjamin Fontan (THA), Charles Haley (OU), Fabio Massacci (UNITN), Zoltán Micskei (BME), Bashar Nuseibeh (OU), Federica Paci (UNITN), Thein Tun (OU) Yijun Yu (OU), Dániel Varró (BME) Gábor Bergmann (BME),"Methology For Evolutionary", 1.33, 2010 [11] Beatriz Marín, Oscar Pastor Giovanni Giachetti, "Integration Of Domain Specific Modeling Languages and UML", ©Technomathematics Research Foundation, 2009 [12] Steven Kelly and Juha-Pekka Tolvanen, “Domain-Specific Modeling: Enabling Full Code Generation”, AWiley-Interscience, 2008 [13] Marco Brambilla, Jordi Cabot, and Manuel Wimmer, “Model - Driven Software Engineering in Practic”, Morgan & Claypool Publishers, 2012 [14] Jordi Cabot(1) and Martin Gogolla(2), “Object Constraint Language (OCL): a Definitive Guide”, (1)INRIA / Ecole des Mines de Nantes (France), (2) University of Bremen (Germany) [15] Group Object Management, "Object Constraint Language", OMG, formal/06-05-01, 2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Vận dụng vào miền ứng dụng Web 2.3.1 Khảo sát miền ứng dụng Web Ngôn ngữ chuyên biệt miền cho ứng dụng Web (Domian Specific Language for Web) hỗ trợ cho việc thiết kế thực ứng dụng liệu web chuyên. .. ngữ mơ hình hóa chun biệt miền cho ứng dụng Web Bảng khái niệm ngơn ngữ mơ hình hóa chun biệt miền cho ứng dụng Web mơ tả bảng [13]: Bảng 2.1 Danh sách khái niệm tạo ứng dụng Web Khái niệm Web Model... Luận văn bao gồm chương sau: Chương Tổng quan mơ hình hóa chun biệt miền: Giới thiệu tổng quan sở lý thuyết cho mơ hình hóa chun biệt miền Chương Ngơn ngữ mơ hình hóa chun biệt miền cho ứng dụng

Ngày đăng: 05/12/2022, 15:41

Hình ảnh liên quan

MƠ HÌNH HĨA CHUN BIỆT MIỀN CHO ỨNG DỤNG WEB  - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web
MƠ HÌNH HĨA CHUN BIỆT MIỀN CHO ỨNG DỤNG WEB Xem tại trang 1 của tài liệu.
MƠ HÌNH HĨA CHUYÊN BIỆT MIỀN CHO ỨNG DỤNG WEB  - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web
MƠ HÌNH HĨA CHUYÊN BIỆT MIỀN CHO ỨNG DỤNG WEB Xem tại trang 2 của tài liệu.
Hình 1.5: Mơ hình kiến trúc của mơ hình hóa chun biệt miền. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 1.5.

Mơ hình kiến trúc của mơ hình hóa chun biệt miền Xem tại trang 16 của tài liệu.
Hình 1.6: Ngơn ngữ mơ hình chuyên biệt miền của trò chơi Snake. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 1.6.

Ngơn ngữ mơ hình chuyên biệt miền của trò chơi Snake Xem tại trang 18 của tài liệu.
Hình 1.7: Chi phí để phát triển ứng dụng - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 1.7.

Chi phí để phát triển ứng dụng Xem tại trang 22 của tài liệu.
Hình 1.8: Giảm chi phí khi sử dụng DSM. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 1.8.

Giảm chi phí khi sử dụng DSM Xem tại trang 23 của tài liệu.
ví dụ cụ thể cho mơ hình bốn tầng metamodeling ở từng khía cạnh khác nhau [12].   - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

v.

í dụ cụ thể cho mơ hình bốn tầng metamodeling ở từng khía cạnh khác nhau [12]. Xem tại trang 27 của tài liệu.
Hình 2.5: Generator Debugger. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.5.

Generator Debugger Xem tại trang 33 của tài liệu.
Hình 2.6: Diagram Editor. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.6.

Diagram Editor Xem tại trang 34 của tài liệu.
Hình 2.7: Matrix Editor. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.7.

Matrix Editor Xem tại trang 34 của tài liệu.
Hình 2.9: Browers. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.9.

Browers Xem tại trang 35 của tài liệu.
Hình 2.10: Eclipse plugin tích hợp MetaEdit+ và Eclipse. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.10.

Eclipse plugin tích hợp MetaEdit+ và Eclipse Xem tại trang 36 của tài liệu.
Hình 2.11: Visual Studio extension tích hợp MetaEdit+ và Visual Studio. - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.11.

Visual Studio extension tích hợp MetaEdit+ và Visual Studio Xem tại trang 37 của tài liệu.
Hình dưới cũng cho chúng ta biết domain model là cơ sở cho tất cả các artifact khác [5] - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình d.

ưới cũng cho chúng ta biết domain model là cơ sở cho tất cả các artifact khác [5] Xem tại trang 39 của tài liệu.
Hình 2.13: DSL Toolkit artifacts – abstract [5] - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.13.

DSL Toolkit artifacts – abstract [5] Xem tại trang 39 của tài liệu.
Hình 2.17: Luồng cơng việc phát triển dự án GMF [4] - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.17.

Luồng cơng việc phát triển dự án GMF [4] Xem tại trang 41 của tài liệu.
Hình 2.16: MetaModel đại diện cho tập tối thiểu các thuật ngữ với ecore [11] - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.16.

MetaModel đại diện cho tập tối thiểu các thuật ngữ với ecore [11] Xem tại trang 41 của tài liệu.
thể theo hình dưới đây: - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

th.

ể theo hình dưới đây: Xem tại trang 50 của tài liệu.
Hình 2.29: Các ký pháp trừu tượng (abstract syntax) [13] - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 2.29.

Các ký pháp trừu tượng (abstract syntax) [13] Xem tại trang 50 của tài liệu.
Bảng 3.1. Các ký hiệu được xây dựng trong dự án GMF của DSL cho miền ứng dụng Web  - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Bảng 3.1..

Các ký hiệu được xây dựng trong dự án GMF của DSL cho miền ứng dụng Web Xem tại trang 53 của tài liệu.
Các mơ hình xây dựng trong dự án GMF của DSL cho ứng dụng Web gồm: - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

c.

mơ hình xây dựng trong dự án GMF của DSL cho ứng dụng Web gồm: Xem tại trang 54 của tài liệu.
Hình 3.8: Xây dựng connection giữa Class và Attributes - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.8.

Xây dựng connection giữa Class và Attributes Xem tại trang 56 của tài liệu.
+ Diagram Label: Tên hiển thị trong các hình của các node hoặc - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

iagram.

Label: Tên hiển thị trong các hình của các node hoặc Xem tại trang 56 của tài liệu.
Hình 3.11: Các node, link mapping trong WML.gmfmap - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.11.

Các node, link mapping trong WML.gmfmap Xem tại trang 58 của tài liệu.
Hình 3.14: Ánh xạ Link HypertextLayer.pages.Page - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.14.

Ánh xạ Link HypertextLayer.pages.Page Xem tại trang 59 của tài liệu.
Hình 3.13: Ánh xạ node HypertextLayer và Page - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.13.

Ánh xạ node HypertextLayer và Page Xem tại trang 59 của tài liệu.
Hình 3.15: Mã nguồn được tự động sinh ra từ mơ hình WML.genmodel - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.15.

Mã nguồn được tự động sinh ra từ mơ hình WML.genmodel Xem tại trang 62 của tài liệu.
Hình 3.16: WML.edit và WML.editor được sinh ra từ genmodel - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.16.

WML.edit và WML.editor được sinh ra từ genmodel Xem tại trang 62 của tài liệu.
Hình 3.18: Cửa sổ Extensions của Plugin. xml trong dự án GMF - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.18.

Cửa sổ Extensions của Plugin. xml trong dự án GMF Xem tại trang 63 của tài liệu.
Hình 3.17: Generate diagram code của dự án GMF - Luận văn thạc sĩ VNU UET mô hình hóa chuyên biệt miền cho ứng dụng web

Hình 3.17.

Generate diagram code của dự án GMF Xem tại trang 63 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan