C ƢƠNG 1 KỸ T UẬ TP ÁT TRIỂN ỨNG DỤNG WEB ƢỚNG MÔ ÌN
2.2. TỔNG QUÁT VỀ CHUYỂN ĐỔI MÔ HÌNH TRONG MDA
Nền tảng của cấu trúc MDA là tạo ra các mô hình. Tuy nhiên, có một vấn đề quan trọng ở đây, đó là việc chuyển đổi giữa các mô hình này. Khái niệm OMG cho biết, trong quy trình MDA, ý tưởng chủ đạo là chuyển từ các mức cao hơn (CIM, PIM) xuống các mức thấp hơn (PSM) được dùng để tạo mã thực thi. Chuyển đổi một mô hình là quá trình mà trong đó một mô hình là một nguồn được chuyển thành một mô hình khác - điểm đến, bằng cách sử dụng các quy tắc chuyển đổi nhất định. Có các phương pháp khác nhau được sử dụng làm quy tắc chuyển đổi. Quá trình này được minh họa trong Hình 2.2.
Hình 2.2: Quy trình chuyển đổi MDA tổng quát
Các quy tắc chuyển đổi mô tả làm thế nào mà các phần tử mô hình nguồn cần phải được chuyển đổi sang phần tử mô hình đích. Quy tắc chuyển đổi gồm có bên trái và bên phải. Bên trái đánh giá mô hình nguồn và bổ sung thông tin để tạo ra nó và bên phải mở rộng nó đến mô hình đích. Cả hai bên đều có thể được mô tả bằng các biến số, khuôn mẫu, quy tắc logic...
Kể từ lúc đó đến nay, hầu hết các thiết kế IS đều dựa trên mức PIM của MDA, điểm nhấn lớn nhất là chuyển đổi từ PIM sang PSM bằng cả 2 cách. Có các công cụ CASE khác nhau được coi là công cụ MDA tự động hóa quá trình chuyển đổi một cách tuyệt vời. Chuyển đổi từ CIM sang PIM thường không được OMG nhắc đến và điều
Các quy tắc chuyển đổi Mô hình đích Mô hình nguồn
ỹ thuật GVHD: PGS.TS Huỳnh Quyết Thắng
này có thể là sự giúp đỡ lớn dành cho giới chuyên viên phân tích hệ thống kinh doanh và chuyên gia nghiệp vụ. Vì thế, tôi quyết định tập trung vào mức MDA cao hơn.
2.3. TRUY VẤN, CÁC KHUNG NHÌN VÀ CÁC PHÉP CHUYỂN ĐỔI (QUERY, VIEWS, TRANSFORMATIONS)
MDA của OMG là một cách tiếp cận phát triển phần mềm sử dụng các mô hình làm các cấu phần (artifact) chính. Các mô hình trừu tượng thường được chuyển đổi thành các mô hình cụ thể hơn và sau cùng thành các mô hình đặc trưng nền hệ thống mà từ đó các cấu phần thi hành được được tạo ra (mã và các tập tin cấu hình).
Nói chung, các phép chuyển đổi mô hình là các tác vụ được viết bằng một ngôn ngữ chuyển đổi, cho phép biến đổi một mô hình nguồn thành một mô hình đích. Phép chuyển đổi có thể sử dụng các siêu mô hình để định nghĩa việc tạo thực thể cho các phần tử trong mô hình đích bằng các phần tử trong mô hình nguồn. Khuôn thức chuyển đổi MDA có thể được mở rộng bằng việc sử dụng các siêu mô hình như ta thấy trong Hình 2.3 dưới đây.
Có rất nhiều ích lợi rõ rệt từ các phép chuyển đổi mô hình. Một trong số đó là khả năng dùng lại được. Trong quá trình phát triển một sản phẩm phần mềm sử dụng cách tiếp cận MDA, phần mềm được mô hình hóa như là các mô hình ở các cấp độ trừu tượng hóa khác nhau. Nếu có các thay đổi đối với một mô hình, các thay đổi này sẽ được lan truyền đến các mô hình khác. Quá trình này thường được lặp lại bằng một thuật toán cụ thể, và thuật toán có thể được cài đặt bằng một ngôn ngữ chuyển đổi như là các quy tắc chuyển đổi để được sử dụng lại trong việc phát triển sản phẩm phần mềm đó cũng như các sản phẩm phần mềm khác.
Các phép chuyển đổi mô hình cũng cho phép tự động hóa nhiều hoạt động thủ công. Điều này giúp tăng năng suất và giảm khả năng xảy ra các lỗi trong phát triển phần mềm. Chẳng hạn, mô hình PIM lúc đầu có thể đơn giản và được trừu tượng hóa
ỹ thuật GVHD: PGS.TS Huỳnh Quyết Thắng
bằng cách lược bỏ bớt các chi tiết không cần thiết. Những người thiết kế sau đó có thể áp dụng các khuôn thức thiết kế để tạo ra mô hình PSM phức tạp hơn cho một nền hệ thống cụ thể. Các quy tắc chuyển đổi do đó có thể được cài đặt lại và được gắn liền với các khuôn thức thiết kế riêng biệt để các mô hình đặc trưng nền hệ thống này được tạo ra một cách tự động.
Hình 2.3: Sử dụng các siêu mô hình trong một định nghĩa chuyển đổi
Do các ích lợi vừa nêu, các phép chuyển đổi tự động trong MDA đóng một vai trò then chốt. Điều quan trọng là các phép chuyển đổi có thể được phát triển đến mức hiệu quả nhất có thể được. Vào năm 2002, OMG đã đưa ra một Yêu cầu Đề xuất (RFP) dành cho MOF 2.0 Truy vấn, các Khung nhìn và các Phép chuyển đổi (QVT) để xử lý khía cạnh công nghệ của MOF 2.0 OMG trong việc tác động các mô hình MOF.
Trong RFP này, ba thành phần công nghệ cơ bản được đề cập đến, đó là các truy vấn, các khung nhìn và các phép chuyển đổi. Các thuật ngữ này được định nghĩa như sau:
- Truy vấn: truy vấn là một biểu thức được lượng giá thông qua một mô hình. Kết quả của một truy vấn là một hoặc nhiều thực thể thuộc các kiểu được định nghĩa trong mô hình nguồn, hay được định nghĩa bởi ngôn ngữ truy vấn.
ỹ thuật GVHD: PGS.TS Huỳnh Quyết Thắng
- Khung nhìn: một khung nhìn là một mô hình hoàn toàn được dẫn xuất từ một mô hình khác. Một khung nhìn không thể được sửa đổi tách biệt với mô hình mà từ đó nó được dẫn xuất. Siêu mô hình của khung nhìn không nhất thiết cũng là siêu mô hình của mô hình nguồn. Một truy vấn là một dạng khung nhìn giới hạn. Các khung nhìn được sinh ra nhờ các phép chuyển đổi.
- Phép chuyển đổi: một phép chuyển đổi sinh ra một mô hình đích từ mô hình nguồn. Các phép chuyển đổi có thể dẫn tới các mô hình phụ thuộc hay độc lập. Một phép chuyển đổi có thể thuộc kiểu từ trên xuống, trong trường hợp đó mô hình đích không được sửa đổi sau khi được sinh ra. Các phép chuyển đổi có thể một chiều (đơn hướng) hay hai chiều (song hướng).
Để hưởng ứng RFP, đã có 8 đề xuất được gửi đến OMG trong tháng Mười 2002. Garder và các cộng sự [15] đã đánh giá các đề xuất này và nhận thấy rằng nhiều ý kiến trong số đó chưa hoàn chỉnh và được lập công thức không rõ ràng. Trong những năm 2003 và 2004, các ý kiến này đã được điều chỉnh và thống nhất. Tính đến tháng Giêng 2005, hai ý kiến đề xuất vẫn còn được xem xét. Sau cùng, vào tháng Ba 2005, hai ý kiến này đã được Nhóm Hợp nhất QVT hợp nhất một lần nữa để tạo nên ý kiến kết hợp sửa đổi lần 3.
Đề xuất của Nhóm Hợp nhất QVT là ý kiến duy nhất còn lại, trong đó có sự tinh chế sâu hơn, sẽ được xem xét để trở thành đặc tả dành cho ngôn ngữ QVT. Với nhiệm vụ như vậy, đề xuất này sẽ được sử dụng làm ngôn ngữ QVT dành cho vấn đề đang xét. Các phần còn lại của tài liệu này đề cập đến việc ngôn ngữ QVT đáp ứng ra sao các yêu cầu được quy định trong RFP và nhiều khái niệm khác nhau được ngôn ngữ này sử dụng.
ỹ thuật GVHD: PGS.TS Huỳnh Quyết Thắng
2.4. PHÂN LOẠI NGÔN NGỮ QVT
Czarnecki và các cộng sự đề nghị một mô hình đặc tính cho phép so sánh các cách tiếp cận chuyển đổi mô hình khác nhau, đồng thời đưa ra một bản khảo sát và phép phân loại một số cách tiếp cận hiện có đã được công bố trong các bài viết nghiên cứu và được nộp để hưởng ứng QVT RFP của OMG. Các biểu đồ đặc tính được trình bày trong các đoạn tiếp theo sau đây[50].
2.4.1. Các Đặc tính của các Phép chuyển đổi Mô hình
Biểu đồ đặc tính chính của các phép chuyển đổi mô hình được minh họa trong Hình 2.4. Các phép chuyển đổi mô hình có các tính chất tùy định (được đánh dấu bằng các nút tròn trắng) và bắt buộc (được đánh dấu bằng các nút tròn đen), mỗi tính chất trong số này sẽ được mô tả chi tiết trong các đoạn tiếp theo sau đây.
ỹ thuật GVHD: PGS.TS Huỳnh Quyết Thắng