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

(LUẬN văn THẠC sĩ) mô hình hóa chuyên biệt miền cho ứng dụng web

66 1 0

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

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

THÔNG TIN TÀI LIỆU

Nội dung

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 TIEU LUAN MOI download : skknchat@gmail.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 TIEU LUAN MOI download : skknchat@gmail.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 tơi 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 Đoàn, nơ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 quý báu quý 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 TIEU LUAN MOI download : skknchat@gmail.com LỜI CAM ĐOAN Tơi xin cam đoan luận văn “Mơ hình hóa chuyên biệt miền cho ứng dụng Web” 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 hoá 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 chuyên 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 chun biệt miền 16 1.4 Đặc điểm ý nghĩa mơ hình hóa chun 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 chun biệt miền người sử dụng 20 1.4.3 Lợi ích mơ hình hóa chuyên 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 CHUN 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 chun 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 chun 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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ã hoà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 khn 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web 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 chúng tơi 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ữ chun biệt miền xây dựng với ngôn ngữ chuyên biệt miền khác TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web (LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web(LUAN.van.THAC.si).mo.hinh.hoa.chuyen.biet.mien.cho.ung.dung.web

Ngày đăng: 17/12/2023, 02:18

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w