Đăng ký Đăng nhập
Trang chủ Datn_tranthithanhxuan_20112523...

Tài liệu Datn_tranthithanhxuan_20112523

.DOCX
68
606
146

Mô tả:

chuyển đổi mô hình
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ──────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN TÌM HIỂU VÀ THỬ NGHIỆM KỸ THUẬT CHUYỂN ĐỔI HƯỚNG MÔ HÌNH SỬ DỤNG CÔNG CỤ MAGICDRAW VÀ ECLIPSE Sinh viên thực hiện Giáo viên hướng dẫn HÀ NỘI 5-2016 Page 1 : Trần Thị Thanh Xuân Lớp IS – K56 : PSG. TS Huỳnh Quyết Thắng PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên: Trần Thị Thanh Xuân Điện thoại liên lạc: 0974888307 Email: [email protected] Lớp: IS1 K56 Việt Nhật Hệ đào tạo: Đại học chính quy Đồ án tốt nghiệp được thực hiện tại: Viện Công nghệ thông tin và Truyền thông – Trường Đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày 01/02/2016 đến 20/05/2016 2. Mục đích nội dung của ĐATN Tìm hiểu về kỹ thuật WEB UWE trong phát triển phần mềm hướng mô hình và triển khai thử nghiệm, chuyển đổi các mô hình từ CIM tới PIM tới PSM v à sinh mã. 3. Các nhiệm vụ cụ thể của ĐATN  Nhiệm vụ 1: Tập trung tổng quan về lý thuyết mô hình, cách biểu diễn mô hình và các vấn đề chuyển đổi mô hình trong khung làm việc MDA.  Nhiệm vụ 2: Tìm hiểu về các mô hình và cách thức chuyển đổi mô hình trong kỹ thuật Web hướng mô hình UWE.  Nhiệm vụ 3: Áp dụng các kỹ thuật và công nghệ trong chương trước vào quá trình chuyển đổi mô hình trong bài toán Thuysan.net sử dụng công cụ Magicdraw và Eclipse. 4. Lời cam đoan của sinh viên Tôi – Trần Thị Thanh Xuân – cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS Huỳnh Quyết Thắng. Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày tháng 05 năm 2016 Tác giả ĐATN Trần Thị Thanh Xuân Page 2 5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ: Hà Nội, ngày tháng 5 năm 2016 Giáo viên hướng dẫn PGS.TS Huỳnh Quyết Thắng Page 3 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Phát triển phần mềm hướng mô hình là quá trình phát triển tập trung vào mô hình hóa hệ thống và chuyển đổi các mô hình ngữ nghĩa mức cao xuống các mô hình cụ thể nền và từ đó xuống mã nguồn. Hiện nay, các kết quả đạt được chủ yếu xuất phát từ các ý tưởng cũng như kỹ thuật nền tảng đó là kiến trúc hướng mô hình – MDA và các kỹ thuật biểu diễn mô hình như: UML, MOF. Các vấn đề chính đặt ra ở đây là vấn đề biểu diễn các mô hình, vấn đề biểu diễn và thực thi các cơ chế chuyển đổi mô hình, vấn đề điều hướng các chuyển đổi mô hình xuyên suốt quá trình phát triển. Tiến đến giải quyết được các vấn đề này, trong nỗ lực xây dựng khung chuyển đổi mô hình, một bài toán đặt ra cần được giải quyết là làm thế nào để biểu diễn được các luật chuyển đổi cho phép chuyển đổi từ mô hình đích sang mô hình nguồn. Một khi có được phương thức biểu diễn các luật chuyển đổi rồi, các chuyển đổi mô hình có thể được định nghĩa và gắn vào các công cụ chuyển đổi để thực thi tự động. Trong đồ án, đi sâu vào trình bày kỹ thuật UWE trong phát triển các ứng dụng Web: các mô hình, các kỹ thuật chuyển đổi mô hình. Trên cơ sở sử dụng công cụ MagicUWEvà Eclipse, áp dụng kỹ thuật UWE trong phát triển ứng dụng Thuysan.Net, đồ án đã phân tích và làm rõ phương pháp áp dụng chi tiết các kỹ thuật phát triển ứng dụng Web UWE.  Chương 1: Tập trung tổng quan về lý thuyết mô hình, cách biểu diễn mô hình và các vấn đề chuyển đổi mô hình trong khung làm việc MDA.  Chương 2: Tìm hiểu về các mô hình và cách thức chuyển đổi mô hình trong kỹ thuật Web hướng mô hình UWE.  Chương 3: Áp dụng các kỹ thuật và công nghệ trong chương trước vào quá trình chuyển đổi mô hình trong bài toán Thuysan.net sử dụng công cụ Magicdraw và Eclipse. Page 4 MỤC LỤC MỤC LỤC.................................................................................................................2 LỜI CẢM ƠN............................................................................................................4 DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ..............................................................5 BẢNG THUẬT NGỮ...............................................................................................7 MỞ ĐẦU...................................................................................................................8 CHƯƠNG I: TỔNG QUAN LÝ THUYẾT MÔ HÌNH HÓA..................................9 1.1. Giới thiệu......................................................................................................9 1.2. Các khái niệm cơ bản....................................................................................9 1.3. Vấn đề trong chuyển đổi mô hình...............................................................11 1.3.1. Phân loại chuyển đổi mô hình..............................................................12 1.3.2. Các quy tắc trong chuyển đổi mô hình.................................................13 1.4. Kiến trúc hướng mô hình MDA..................................................................20 1.5. Kết luận.......................................................................................................25 CHƯƠNG II: KỸ THUẬT WEB HƯỚNG MÔ HÌNH UWE..............................26 2.1. Khái quát về kỹ thuật..................................................................................26 2.2. Các mô hình trong UWE.............................................................................28 2.3. Chuyển đổi mô hình trong UWE................................................................34 2.3.1. Chuyển đổi từ mô hình yêu cầu sang mô hình nội dung......................37 2.3.2. Chuyển đổi từ mô hình yêu cầu, nội dung sang mô hình điều hướng. .39 2.3.3. Chuyển đổi sang mô hình xử lý............................................................41 2.3.4. Chuyển đổi từ mô hình điều hướng, xử lý sang mô hình trình bày......43 2.3.5. Chuyển đổi từ mô hình nội dung sang Java code sử dụng eclipse.......46 2.4. Kết luận.......................................................................................................49 CHƯƠNG III: VẬN DỤNG VÀ THỰC NGHIỆM................................................50 Page 5 3.1. Giới thiệu về bài toán..................................................................................50 3.2. Ứng dụng Web theo kỹ thuật UWE cho bài toán........................................51 3.2.1. Cài đặt công cụ.....................................................................................51 3.2.2. Thực hiện thiết kế mô hình yêu cầu......................................................52 3.2.3. Kết quả thực hiện chuyển đổi mô hình yêu cầu sang mô hình nội dung.. .................................................................................................................. 53 3.2.4. Kết quả chuyển đổi từ mô hình yêu cầu và nội dung sang mô hình điều hướng ..............................................................................................................54 3.2.5. Kết quả chuyển đổi sang mô hình xử lý...............................................56 3.2.6. Kết quả chuyển đổi mô hình điều hướng và mô hình xử lý sang mô hình trình bày.....................................................................................................63 3.2.7. Thực hiện chuyển đổi sinh mã..............................................................65 3.3. Kết luận chương và kết quả.....................................................................68 KẾT LUẬN.............................................................................................................69 Tài liệu tham khảo...................................................................................................70 Page 6 LỜI CẢM ƠN Em xin chân thành cảm ơn sự ủng hộ nhiệt tình của mọi người đã giúp đỡ em hoàn thành đồ án tốt nghiệp này. Em xin bày tỏ lòng biết ơn sâu sắc của đến thầy cố vấn luận án tốt nghiệp của mình, PGS.TS Huỳnh Quyết Thắng, Bộ môn kỹ thuật phần mềm, Trường đại học Bách Khoa Hà Nội. Em đã học được rất nhiều thứ từ khi trở thành học sinh của thầy Thắng. Thầy đã giành rất nhiều thời gian để hướng dẫn em trong suốt thời gian từ Nghiên cứu tốt nghiệp I, II cũng như là Đồ án tốt nghiệp này, thầy đã chỉ dẫn tận tình cách để viết được một luận văn tốt và cách để cải thiện ý tưởng cho đế khi hoàn thành đồ án. Em cũng xin chân thành cảm ơn các thầy cô giáo Hedspi, người đã dạy những kiến thức bổ ích cũng như có những lời khuyên quý giá cho em. Được là học sinh của thầy cô em thật sự cảm thấy rất tự hào. Cho đến bay giờ, khi đã kết thúc việc nghiên cứu này, được nuôi dưỡng trong mái trường đại học Bách Khoa, với sự giúp đỡ của các anh chị khóa trên, những người bạn tốt, em mới có thể tiến lên tới ngày hôm nay. Với lòng biết ơn sâu sắc, em mong rằng dự án Hedspi sẽ càng ngày càng phát triển hơn nữa trong tương lai. Page 7 DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ Hình 1: Hệ thống, mô hình và biểu diễn hình thức.................................................13 Hình 2: Các đặc trưng của các quy tắc chuyển đổi.................................................15 Hình 3 : Một ví dụ chuyển đổi mô hình tới mô hình...............................................17 Hình 4: Một ví dụ trong khung làm việc meta-model MOF...................................18 Hình 5: Mối quan hệ giữa các chuẩn của OMG......................................................19 Hình 6: Tổng quan về kỹ thuật UWE......................................................................23 Hình 7: Cấu trúc siêu mô hình trong UWE.............................................................24 Hình 8: Tổng quan về các mô hình UWE [4]..........................................................25 Hình 9: Siêu mô hình điều hướng (Navigation Metamodel)...................................26 Hình 10: Quan hệ của giữa mô hình điều hướng tới UML.....................................27 Hình 11: Siêu mô hình xử lý (Process Metamodel)................................................27 Hình 12: Siêu mô hình trình bày (Presentation Metamodel)...................................29 Hình 13: Các thành phần của mô hình trình bày.....................................................29 Hình 14: Chuyển đổi mô hình từ CIM tới PIM và từ PIM sang PIM.....................31 Hình 15: Chuyển đổi mô hình PIM sang PSM và PSM sang code trong UWE......31 Hình 16: Chuyển đổi từ mô hình yêu cầu sang mô hình nội dung..........................33 Hình 17: Mô tả các quy tắc để thêm các hoạt động.................................................33 Hình 18: Chuyển đổi sang mô hình điều hướng.....................................................35 Hình 19: Chuyển đổi sang mô hình xử lý................................................................37 Hình 20: Chuyển đổi sang mô hình trình bày..........................................................39 Hình 21: Chuyển đổi từ mô hình nội dung sang Java code....................................45 Hình 22: Chuyển đổi mô hình MOF........................................................................45 Hình 23: MagicUWE hỗ trợ mô hình và chuyển đổi mô hình trong UWE.............49 Hình 24: Thực hiện chuyển đổi từ mô hình sang mã nguồn sử dụng Eclipse.........49 Hình 25: Biểu đồ ca sử dụng tổng quát (Use Case Diagram).................................50 Hình 26: Mô hình nội dung tổng quát.....................................................................51 Hình 27: Mô hình điều hướng.................................................................................53 Hình 28: Mô hình xử lý cấu trúc.............................................................................54 Hình 29: Mô hình xử lý luồng khi sửa bài viết.......................................................55 Hình 30: Mô hình xử lý luồng khi thêm bài viết.....................................................56 Hình 31: Mô hình xử lý luồng khi xóa bài viết.......................................................57 Page 8 Hình 32: Mô hình xử lý luồng khi đăng ký.............................................................58 Hình 33: Mô hình xử lý luồng khi đăng nhập.........................................................59 Hình 34: Mô hình xử lý luồng khi đăng xuất..........................................................59 Hình 35: Mô hình trình bày cụ thể..........................................................................61 Hình 36: Mô hình nội dung được tạo trong Eclipse................................................62 Hình 37: Web Thuysan.net......................................................................................65 Page 9 BẢNG THUẬT NGỮ Viết tắt ATL CWM CIM CORBA DTD EMF IDL MDA MDD MDE MDSD Tiếng Anh Atlas Transformation Language Common Warehouse Metamodel Computation Independent Model Common Object Request Broker Architecture Document Type Definition Eclipse Modeling Framework MOF Interactive Data Language Model Driven Architecture Model Driven Development Model-Driven Engineering Model-driven software development Meta Object Facility QVT Query View Transformation OCL Object Constraint Language OMG PIM PSM UML Object Management Group Platform Independent Model Platform Specific Model Unified Modeling Language UWE XMI XML UML Web Engineering XML Metadata Interchange eXtensible Markup Language XSLT eXtensible Style Sheet Language Transformations Page 10 Tiếng Việt Mô hình độc lập tính toán Định nghĩa loại tài liệu Khung làm việc mô hình Eclipse Kiến trúc hướng mô hình Phát triển hướng mô hình Kỹ nghệ hướng mô hình Phát triển phần mềm hướng mô hình Ngôn ngữ ràng buộc đối tượng Tổ chức quản lý đối tượng Mô hình độc lập nền Mô hình cụ thể nền Ngôn ngữ mô hình hóa thống nhất Định dạng trao đổi XML Ngôn ngữ đánh dấu mở rộng CHƯƠNG I: TỔNG QUAN LÝ THUYẾT MÔ HÌNH HÓA 1.1. Giới thiệu Hiện nay, kỹ nghệ phần mềm hướng mô hình MDE ngày càng được áp dụng nhiều trong ngành công nghiệp phần mềm. Tầm nhìn chính của MDE là sử dụng mô hình như một nhân tố chính trong các giai đoạn khác nhau của phần mềm phát triển, Bắt đầu từ thu thập yêu cầu, cài đặt và triển khai cho đến giai đoạn bảo trì. MDE cho phép quá trình phát triển sử dụng các khái niệm gần hơn với nhiều vấn đề giải quết, hướng tới quá trình tự động hóa và cho phép làm việc ở một mức độ trừu tượng cao hơn.[ CITATION Har121 \l 1041 ] MDA do tổ chức OMG đề xuất là một trong những cách tiếp cận đến MDE. MDA bắt đầu với ý tưởng tách đặc điểm kỹ thuật của hoạt động hệ thống ra khỏi nền tảng hoạt động của hệ thống. MDA cung cấp một cách tiếp cận và công cụ nhằm mục đích:  Xác định một hệ thống độc lập so với nền tảng mà hỗ trợ nó.  Xác định các nền tảng của hệ thống.  Lựa chọn nền tảng cụ thể cho hệ thống và từ đó chuyển đổi đặc tả hệ thống vào một trong những nền tảng đã xác định đó. Trung tâm của cách tiếp cận MDA là một số chuẩn quan trọng của OMG: UML, MOF, XML và CWM. Các chuẩn này xác định hạ tầng cơ sở của MDA và góp phần vào việc mô hình hóa hệ thống. 1.2. Các khái niệm cơ bản Sau đây là những khái niệm cơ bản liên quan tới vấn đề chuyển đổi mô hình:  Mô hình là sự biểu diễn một phần chức năng, cấu trúc hay hành vi của hệ thống. Biểu diễn này được gọi là hình thức khi nó dựa trên một ngôn ngữ có cú pháp, ngữ nghĩa và các luật để phân tích, suy diễn hoặc chứng minh các cấu thành từ nó.  Mô hình của một hệ thống là một mô hình mô tả hay một đặc tả của hệ thống và môi trường mà nó được cài đặt hoặc thực thi cho một vài mục đích xác định nào đó.  Chuyển đổi mô hình là quá trình biến đổi một mô hình này tới một mô hình khác của cùng một hệ thống. Page 11  Điểm nhìn của một hệ thống là một ký thuật của việc trừu tượng dùng một tập được lựa chọn của các khái niệm kiến trúc, các luật cấu trúc, tập chung vào các mối quan tâm cụ thể trong phạm vi hệ thống đó.  Một mô hình điểm nhìn hay một khung nhìn của một hệ thống là một biểu diễn của hệ thống đó từ phối cảnh của một điểm nhìn được lựa chọn. Có hai quan điểm về chuyển đổi mô hình:  Chuyển đổi hàm: Một chuyển đổi là hàm ánh xạ một bộ các mô hình từ một miền sang một bộ các mô hình cùng miền hoặc miền khác.  Chuyển đôi thao tác: Một chuyển đổi là một tác động theo thuật toán có kết quả làm thay đổi cấu trúc hay ngữ nghĩa của mô hình hay tập mô hình. Trong phát triển phần mềm hướng mô hình có hai loại mô hình chính là mô hình độc lập nền (PIM) và mô hình cụ thể nền (PSM):  Mô hình độc lập nền là một khung nhìn của hệ thống từ điểm nhìn độc lập nền. Đó là một mô hình của hệ thống không chứa thông tin cụ thể về nền, hay công nghệ được dùng để thực hiện nó.  Mô hình cụ thể nền là một khung nhìn của một hệ thống từ điểm nhìn cụ thể nền. Đó là một mô hình của hệ thống bao gồm thông tin về công nghệ cụ thể được dùng để thực hiện nó trong một nền cụ thể, và vì thế nó thường chứa các thành phần đặc trưng cho nền. Trong cách tiếp cận hướng mô hình MDA, có một loại mô hình quan trọng khác là mô hình đọc lập tính toán (CIM):  Mô hình CIM mô tả hệ thống trong môi trường mà nó sẽ vận hành, do đó nó mô tả chính xác các chức năng được yêu cầu của hệ thống. Mô hình CIM thường được dùng để mô hình hóa các yêu cầu của hệ thống. Như vậy, với các khung nhìn khác nhau, các mô hình khác nhau của cùng một hệ thống được xây dựng. Các mô hình này có thể là mô hình cấu trúc hoặc mô hình hành vi.  Các mô hình cấu trúc là các mô hình biểu diễn các thành phần tĩnh của hệ thống. Chúng được dùng để biểu diễn hệ thống dưới dạng các khái niệm hay thành phần vật lý.  Các mô hình hành vi biểu diễn các thành phần động của hệ thống, chúng biểu diễn hành vi của hệ thống trong thời gian và không gian hoạt động. Page 12 Một khái niệm quan trọng khác trong chuyển đổi mô hình là khái niệm ánh xạ.  Ánh xạ là đặc tả cho một cơ chế chuyển đổi các phần tử của một mô hình được xây dựng tuân theo một siêu mô hình cụ thể này sang các phần tử của một mô hình được xây dựng theo một siêu mô hình khác (có thể là giống).  Các nhãn trong chuyển đổi mô hình là khái niệm biểu diễn một khái niệm trong mô hình đích và được áp dụng cho một phần tử của mô hình nguồn để chỉ ra phần tử đó được chuyển đổi như thế nào. 1.3. Vấn đề trong chuyển đổi mô hình Tại sao việc chuyển đổi mô hình là cần thiết? Để làm cầu nối giữa các mô hình PIM và PSM ở các mức trừu tượng khác nhau, việc sinh ra các mô hình trung gian là việc dễ thực hiện hơn việc sinh trực tiếp mô hình PSM. Thêm vào đó, việc chuyển đổi từ PIM sang PSM là hữu ích cho việc tính toán các mô hình ở các góc nhìn khác nhau của hệ thống và đồng bộ hóa chúng. Để chuẩn hóa việc chuyển đổi mô hình, tổ chức OMG đã đưa ra đề xuất RFP MOF 2.0 Query/Views/Transformation, nó bao gồm các yêu cầu cho ngôn ngữ chuyển đổi. Các ngôn ngữ chuyển đổi này và các biểu diễn hình thức bên dưới cần cung cấp các đặc tính sau:  Hỗ trợ để đặc tả chuyển đổi mô hình theo cả chiều dọc và chiều ngang.  Cho phép áp dụng tự động các luật chuyển đổi mô hình.  Các luật chuyển đổi cần dễ hiểu.  Các luật chuyển đổi tương thích tốt và có thể dùng lại. Mỗi mô hình được tạo ra dựa trên một biểu diễn hình thức, định nghĩa chính xác cú pháp (ký hiệu) của mô hình và ngữ nghĩa của chúng. Cú pháp của một biểu diễn hình thức được tạo bởi cú pháp cụ thể và cú pháp trừu tượng. Hình 1: Hệ thống, mô hình và biểu diễn hình thức Page 13 Với những định nghĩa của hệ thống, mô hình và định dạng hình thức, chúng ta có thể mô tả một cách hình thức sự chuyển đổi xảy ra trong phát triển phần mềm. Chúng ta giả sử rằng M là mô hình của hệ thống S và F là biểu diễn hình thức mà mô hình được đặc tả. Một chuyển đổi t có thể được thực hiện theo công thức sau: t: M1(S1)|F1 -> M2(S2)|F2 ở đây, M1 là mô hình nguồn và M2 là mô hình đích của chuyển đổi. 1.3.1. Phân loại chuyển đổi mô hình  Tiêu chí loại biểu diễn hình thức Chuyển đổi mô hình có thể là nội suy (endogen) nếu định dạng hình thức của mô hình nguồn và mô hình đích là giống nhau (F 1 = F2) hoặc là ngoại suy nếu (F1 != F2)  Tiêu chí về cấp độ trừu tượng  Có những chuyển đổi mô hình được thực hiện để làm tiến hóa mô hình do đó gọi là chuyển đổi theo chiểu ngang. Biểu diễn hình thức của mô hình nguồn và đích là giống nhau (chuyển đổi nội suy).  Nếu một chuyển đổi được thực hiện để cài đặt một mô hình, tức là chuyển đổi mô hình nguồn thành một mô hình gần hơn với nền thời gian chạy, chúng ta gọi chuyển đổi này là chuyển đổi theo chiều dọc. Một điều chú ý là mặc dù chuyển đổi theo chiều dọc là chuyển đổi ngoại suy, nhưng không phải tất cả các chuyển đổi ngoại suy đều là chuyển đổi theo chiều dọc.  Tiêu chí về mức độ tự động Một cách khác để phân loại chuyển đổi mô hình là dựa trên mức độ tự động mà các chuyển đổi được thực hiện. Mỗi một chuyển đổi mô hình biểu trưng cho một truy vấn và sự sửa đổi của các mô hình, do đó, các máy phải hiểu được các mô hình và sửa đổi chúng một cách tự động. Các mô hình phải được định dạng một cách phù hợp để có thể dùng các công cụ áp dụng cho việc chỉnh sửa. Thông thường, nếu cú pháp của mô hình nguồn và mô hình đích được hình thức hóa đầy đủ, chúng ta có thể thực hiện được việc chuyển đổi một cách tự động. Ngược lại, cần thực hiện các bước thủ công để tự động hóa từng phần hoặc chuyển đổi thủ công.  Tiêu chí về kỹ thuật chuyển đổi Có hai cách tiếp cận cơ bản là: Page 14 Cách tiếp cận theo phương pháp khai báo, các chuyển đổi được mô tả bằng các luật, chúng được đặc tả bởi các điều kiện trước sau (pre- and postConditions). Điều kiện trước mô tả trạng thái của mô hình trước khi chuyển đổi được thực hiện. Điều kiện sau đặc tả trạng thái sau khi chuyển đổi thành công. Hầu hết các mô hình và các đặc tả được biểu diễn theo đồ thị, rất nhiều cách tiếp cận theo phương pháp khai báo được dùng ngày nay là chuyển đổi đồ thị. Cách tiếp cận thao tác (hay mệnh lệnh) các hành động phải được thực hiện để chuyển đổi mô hình nguồn thành mô hình đích được mô tả rõ ràng qua một chuỗi các hoạt động liên tiếp. 1.3.2. Các quy tắc trong chuyển đổi mô hình Hình 2: Các đặc trưng của các quy tắc chuyển đổi Một quy tắc chuyển đổi bao gồm hai phần: một phần bên tay trái (LHS) và một bên tay phải(RHS)[ CITATION Krz \l 1041 ]. Các LHS truy cập các mô hình nguồn, trong khi các RHS mở rộng trong mô hình đích. Cả LHS và RHS có thể được biểu diễn bằng bất cứ các hỗn hợp sau đây:  Variables: Các biến giữ các yếu tố từ các nguồn and/or các mô hình đích (hoặc một số các yếu tố trung gian).  Patterns: Patterns là các phân đoạn mô hình với số không hay nhiều biến. Chúng ta có thể có string term và graph patterns. Page 15  Logic: logic thể hiện tính toán và hạn chế các yếu tố mô hình logic có thể là không thực thi hoặc thực thi. Bốn khía cạnh khác của quy tắc chuyển đổi là:  Tách cú pháp: RHS và LHS có thể hoặc không thể được tách cú pháp.  Bidirectionality: Một nguyên tắc có thể được thực thi trong cả hai hướng.  Luật tham số: Quy tắc chuyển đổi có thể có các thông số kiểm soát bổ sung cho phép cấu hình và điểu chỉnh.  Kiến trúc trung gian: Một số phương pháp (ví dụ: VIATRA and GreAT) đòi hỏi việc xây dựng các cấu trúc mô hình trung gian này, đặc biệt có liên quan khi chuyển đổi mô hình xảy ra ở một ví trí trong một mô hình. 1.4. Kiến trúc hướng mô hình MDA Có bao loại chuyển đổi mô hình thường gặp trong MDA: chuyển đổi tái kỹ nghệ, chuyển đổi mô hình tới mô hình và chuyển đổi mô hình tới mã nguồn. Ở đây, ta đi sâu vào chuyển đổi mô hình tới mô hình: chuyển đổi thông tin từ một mô hình hay nhiều mô hình tới một mô hình khác hay một tập các mô hình, thông thường luồng thông tin được dựa theo mức độ trừu tượng. Một ví dụ về chuyển đổi mô hình tới mô hình là chuyển đổi một tập các lớp thực thể thành một lược đồ cơ sở dựa dữ liệu tương ứng. Chuyển đổi này được minh họa bằng hình dưới đây. Page 16 Hình 3 : Một ví dụ chuyển đổi mô hình tới mô hình Trong cách tiếp cận MDA, có bốn loại kỹ thuật áp dụng chuyển đổi mô hình:  Thủ công: Người phát triển kiểm tra mô hình đầu vào và tạo hay chỉnh sửa các phần tử mô hình để thực hiển chuyển đổi một cách thủ công. Người phát triển hiểu các thông tin trong mô hình và dựa vào đó để sửa lỗi.  Sử dụng các hồ sơ Profile: Các profile được áp dụng để định nghĩa các luật cho sự chuyển đổi.  Các mẫu: Một mẫu là một sự sắp đặt đặc biệt của các phần tử mô hình. Các mẫu có thể được áp dụng cho một mô hình và dùng để tạo ra các phần tử của mô hình mới thông qua sự chuyển đổi mô hình.  Tự động: Chuyển đổi tự động được áp dụng để chuyển đổi một mô hình hay các mô hình thuộc một kiểu nào đó dựa trên các luật chuyển đổi đã được định nghĩa trước. Các luật chuyển đổi này có thể được cài đặt trong các công cụ hoặc có thể được định nghĩa rõ ràng dựa trên sự am hiểu về một lĩnh vực đặc trưng  Meta - Modeling  Khái niệm: meta-modeling được đề xuất như một giải pháp để giải quyết những vấn đề sau:  Các hệ thống trong những miền khác nhau hoặc các thành phần khác nhau trong một hệ thống phức tạp thường được mô hình bằng những kỹ thuật hình thức khau nhau phù hợp nhất để miêu tả các hành vi của chúng. Page 17  Như yêu cầu kiểm tra các hành vi tổng quan của hệ thống với những phần khác nhau được miêu tả bằng những kỹ thuật hình thức (formalism) khác nhau.  Khung làm việc meta-modeling MOF Hình 4: Một ví dụ trong khung làm việc meta-model MOF Meta Object Facility (MOF), chuẩn kiến trúc metadât được đề xuất bởi OMG, dựa trên kiến trúc metadata 4 lớp truyền thống.  Lớp M0: là nơi những thể hiện thực của hệ thống tồn tại.  Lớp M1: chứa các mô hình của hệ thống  Lớp M2: mô hình của mô hình. Một thành phần ở lớp M2 chỉ rõ các thành phần ở lớp M1. Các thành phần ở lớp M1 là những thể hiện của các thành phần ở lớp M2.  Lớp M3: Mô hình của M2. Tương tự, mỗi thành phần ở lớp M2 được định nghĩa ở lớp M3. Trong khung làm việc của meta-modeling, MOF là ngôn ngữ M3 chuẩn, tất cả các ngôn ngữ mô hình là những thể hiện của MOF.  Các chuẩn MOF, UML, XMI, XML, OCL với mô hình hóa và chuyển đổi mô hình. Page 18 Hình 5: Mối quan hệ giữa các chuẩn của OMG MOF(Meta Object Facility) cung cấp chuẩn mô hình hóa và các cấu trúc chuyển đổi được dùng trong MDA. Các mô hình chuẩn khác của OMG, bao gồm UML, CWM, được định nghĩa dựa trên những khái niệm cấu trúc của MOF. Những thành phần cơ bản này cung xcấp cho việc chuyển đổi và khả năng liên tác giữa các mô hình/ siêu dữ liệu, và cung cấp một cơ chế để các mô hình được phân tích thành XMI. MOF cũng định nghĩa các giao diện cho phép chỉnh sửa các mô hình. CWM(Common Warehouse Metamodel) là một chuẩn data warehouse của OMG. CWM được dùng để thiết kế, xây dựng và quản lý các ứng dụng data warehouse. Đây là một ví dụ của việc áp dụng mô hình MDA cho một miền ứng dụng. UML(Unifiied Modeling Language) cung cấp các chuẩn trừu tượng để đơn giản hóa việc làm tài liệu, hiểu và bảo trì các hệ thống phần mềm phức tạp. Cơ chế mở rộng của UML cho phép chúng ta dễ dàng xây dựng các mô hình cho hệ thống và đặc tả một cách chính xác và chi tiết. Ngoài ra, UML còn cung cấp UML Profile, cho phép chúng ta đặc tả các chi tiết gần hơn tới mô hình cài đặt, cũng như cho phép xây dựng các ánh xạ, các luật cho việc chuyển đổi. UML là một ngôn ngữ mô hình hóa và không phải là một ngôn ngữ lập trình. UML cho phép người phát triển làm việc ở mức trừu tượng cao mà ít quan tâm tới các công nghệ, nền cụ thể, do đó làm giảm độ phức tạp của hệ thống, trực quan, dễ nắm bắt hệ thống hơn. UML chuẩn có thể được mở rộng cho từng dự án cụ thể nếu cần bằng cách dùng các UML profile. Những ngữ nghĩa mới có thể được Page 19 thêm vào cùng với các phần tử UML đã có thể để định nghĩa các khuôn mẫu(stereotypes), các giá trị đích và các ràng buộc. Để đạt được hiệu quả đó giống như một công cụ mô hình hóa, các biểu đồ UML biểu diễn hệ thống ở mức trừu tượng cao, ẩn đi nhiều chi tiết mức thấp. Cùng với thời gian, người dùng UML nhận ra rằng các tốt nhất để đạt được mục đích là áp dụng MDA, mà trong đó, các mô hình UML được chuyển đổi tự động từ mức trừu tượng cao hơn tới mức trừu tượng thấp hơn và cuối cùng là chuyển đổi thành mã nguồn của một ngôn ngữ lập trình được lựa chọn. XMI (XML Metada Interchange) là một kỹ thuật chuyển đổi chuẩn giữa các công cụ, các kho dữ liệu và phần mềm trung gian khác. XMI có thể được dùng để tự động cung cấp XML DTDs từ các mô hình UML và MOF. XMI được dùng để diễn tả các mô hình UML(dùng UML XMI DTD), datahouse và các cơ sở dữ liệu(dùng CWm XMI DTD), các định nghĩa giao diện CORBA (dùng IDL DTD), các lớp và giao diện dùng Java(dùng Java DTD). XMI cùng kết hợp với các chuẩn mô hình hóa(UML), siêu mô hình/siêu dữ liệu(MOF và XML) và các phần mềm trung gian(UML profiles cho Java, EJB, IDL, EDOC…) đóng vai trò nòng cốt trong việc dùng XML cho MDA. OCL – Object Constaint Language là một ngôn ngữ biểu diễn các thông tin thêm và các thông tin cần thiết cho các mô hình được dùng trong mô hình hóa đối tượng và thường được dùng kết hợp với UML. Bằng cách dùng kết hợp với OCL, các mô hình UML bao gồm nhiều thông tin hơn. Nhiều thông tin của hệ thống không thể mô tả hết nếu chỉ dùng UML. Những thông tin này chỉ có thể được biểu diễn thông qua các biểu thức OCL. Một bước tiến mới trong phát triển phần mềm chính là việc kết hợp UML với OCL để xây dựng các mô hình cho hệ thống. Các công cụ sinh ra mã nguồn từ UML/OCL làm cho quá trình phát triển hiệu quả hơn. UML/OCL thường được dùng để xây dựng các mô hình đọc lập nền. Page 20
- Xem thêm -

Tài liệu liên quan