Mô hình hóa chuyên biệt miền cho ứng dụng web

66 232 0
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 CHUYÊN BIỆT MIỀN CHO ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ Hà Nội - 2015 ĐẠ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 CHUYÊN 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 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 đỡ hoà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 hoàn thành tốt khóa học Đồng thờ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 để hoàn thiện luận văn 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 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 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 CHUYÊN 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 chuyên 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 chuyên 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 chuyên 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 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 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 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 chuyên 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 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 chuyên biệt miền DSML Domain specific modeling language Ngôn ngữ mô hình hóa chuyên 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 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ô chuyên 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 chuyên biệt miền 14 Hình 1.6: Ngôn ngữ mô hình hóa chuyên 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 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 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 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 chuyên biệt miền, việc xây dựng ngôn ngữ mô hình hóa chuyên 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 chuyên 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 chuyên 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 chuyên biệt miền, lựa chọn đề tài “Mô hình hóa chuyên 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 chuyên biệt miền Trong phạm vi nghiên cứu đề tài tìm hiểu phương pháp xây dựng ngôn ngữ mô hình hóa chuyên biệt miền cho ứng dụng Web cài đặt thử nghiệm với công cụ Eclipse 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 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 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 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 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 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 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 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 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 đ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 chuyên biệt miền sử dụng 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 khuôn khổ miền, môi trường mục tiêu mặt lại Vì vây để 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 soá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 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 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 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 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 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 chuyên 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 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 [...]... Tổng quan về mô hình hóa chuyên biệt miền: Giới thiệu tổng quan và cơ sở lý thuyết cho mô hình hóa chuyên biệt miền Chương 2 Ngôn ngữ mô hình hóa chuyên biệt miền cho ứng dụng Web: Trình bày miền ứng dụng Web, xây dựng Metamodel cho miền cho ứng dụng Web và các luật ràng buộc Chương 3 Cài đặt và thực nghiệm trên Eclipse: Trình bày về cài đặt và kết quả thử nghiệm DSML cho miền ứng dụng Web trên phần... TỔNG QUAN VỀ MÔ HÌNH HÓA CHUYÊN BIỆT MIỀN Trong chương này chúng tôi sẽ tập trung vào trình bày các khái niệm về mô hình hóa, mô hình hóa chuyên biệt miền, ngôn ngữ mô hình hóa chuyên biệt miền và đặc điểm của mô hình hóa chuyên biệt miền 1.1 Khái niệm mô hình và mô hình hóa Trong một số giai đoạn của quy trình phát triển phần mềm có sử dụng mô hình hóa mục đích chung, ngôn ngữ UML được sử dụng để xây... đồng bộ giữa mô hình với code, điều này dẫn đến làm tăng chi phí của dự án phần mềm [3] Vì vậy mô hình hóa chuyên biệt miền có thể khắc phục những nhược điểm trên của phương pháp mô hình hóa mục đích chung nếu có sự thay đổi 1.2 Mô hình hóa chuyên biệt miền Mô hình hóa chuyên biệt miền (Domain Specific Modeling - DSM) là việc sử dụng ngôn ngữ mô hình hóa chuyên biệt miền để tạo ra các mô hình và sinh... nó Hình 1.6 là metamodel của ngôn ngữ mô hình chuyên biệt miền của trò chơi Snake Sau đó chúng ta vẽ hình minh họa cho từng khái niệm và quy tắc Sao cho người sử dụng nhìn vào các hình vẽ có thể hiểu được các biểu tượng đó đại diện cho cái gì 18 Hình 1.6: Ngôn ngữ mô hình chuyên biệt miền của trò chơi Snake 1.4 Đặc điểm và ý nghĩa của mô hình hóa chuyên biệt miền 1.4.1 Đặc điểm của mô hình hóa chuyên. .. Ý nghĩa của của mô hình hóa chuyên biệt miền đối với người sử dụng 1.4.2.1 Những điều mô hình hóa chuyên biệt miền mang lại DSM thay đổi hoàn toàn công việc của những người phát triển phần mềm: - Lấy mô hình làm trung tâm: Trong DSM hầu như mọi việc đều diễn ra trên mô hình, mô hình có thể được sử dụng để tạo mã, kiểm tra, gỡ lỗi và phát triển ứng dụng; mã được sửa bằng cách sửa mô hình Tuy nhiên,... trong miền cụ thể sẽ trở thành các đối tượng trong mô hình, các thứ còn lại sẽ thành thuộc tính, kết nối, vai trò của các đối tượng Điều này làm cho người dùng DSM cảm thấy mình làm việc trên chính miền đó 1.3 Ngôn ngữ mô hình hóa chuyên biệt miền Ngôn ngữ mô hình hóa chuyên biệt miền (Domain Specific Modeling Language - DSML) là một ngôn ngữ chuyên biệt miền cụ thể, nó được sử dụng để xây dựng các mô hình. .. các mô hình ở đây mang ý nghĩa làm tài liệu nhiều hơn mục đích sinh code tự động Hình dưới đây là một ví dụ về mô hình hóa với UML Hình 1.3: Mô hình UML cho cửa sổ Windows Với mô hình hóa sử dụng ngôn ngữ mô hình hóa UML có thuận lợi là: Cho đến nay UML đã được phát triển tương đối hoàn thiện và được người dùng sử 14 dụng khá rộng rãi Nhưng khi thay đổi code hoặc mô hình thay đổi thì mô hình hóa với... một miền vấn đề cụ thể Thứ hai, tạo ra sản phẩm cuối cùng trong một ngôn ngữ lập trình được lựa chọn từ mô hình và máy sinh mã 1.2.1 Cấu trúc của mô hình hóa chuyên biệt miền Để có được những lợi ích của mô hình hóa chuyên biệt miền như nâng cao năng suất, chất lượng, và ẩn đi sự phức tạp Mô hình hóa chuyên biệt miền đề xuất một kiến trúc các tầng trên một môi trường mục tiêu, nó được minh họa trong Hình. .. Các mô hình được mô hình hóa bởi UML thường sử dụng có ý nghĩa làm tài liệu cho dự án là chủ yếu, nếu có phát sinh mã nguồn thì chỉ dừng lại ở mức thô, muốn sinh mã nguồn hoàn toàn tự động thì phải sử dụng một ngôn ngữ mô hình hóa chuyên biệt miền để sinh mã nguồn từ miền đó [3] 1.1.1 Khái niệm mô hình Mô hình là hình thức biểu diễn một cách tổng quát các thành phần cơ bản trong một hệ thống Mô hình. .. DSML cho miền ứng dụng Web 2.1 Tổng quan phương pháp xây dựng DSML Xây dựng một ngôn ngữ mô hình hóa chuyên biệt miền hoàn toàn mới thường là một việc khó khăn, tuy nhiên ý nghĩa của nó lại rất lớn Với ngôn ngữ mô hình hóa chuyên biệt miền, chúng ta không cần phải ép buộc ứng dụng hoặc thiết kế hệ thống thành nhiều sơ đồ với cú pháp không phù hợp với yêu cầu thiết kế hoặc những mô hình chỉ có tác dụng ... quan mô hình hóa chuyên biệt miền: Giới thiệu tổng quan sở lý thuyết cho mô hình hóa chuyên biệt miền Chương Ngôn ngữ mô hình hóa chuyên biệt miền cho ứng dụng Web: Trình bày miền ứng dụng Web, ... MÔ HÌNH HÓA CHUYÊN BIỆT MIỀN Trong chương tập trung vào trình bày khái niệm mô hình hóa, mô hình hóa chuyên biệt miền, ngôn ngữ mô hình hóa chuyên biệt miền đặc điểm mô hình hóa chuyên biệt miền. .. ngữ mô hình hóa chuyên biệt miền cho ứng dụng Web Bảng khái niệm ngôn ngữ mô hình hóa chuyên 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

Ngày đăng: 25/11/2015, 11:03

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan