Ngôn ngữ QVT

Một phần của tài liệu Luận án tiến sĩ các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình (Trang 33 - 35)

CHƯƠNG 1 : PHÁT TRIỂN PHẦN MỀM HƯỚNG MÔ HÌNH

1.1. Kiến trúc MDA

1.1.2.2. Ngôn ngữ QVT

QVT (Query/View/Transformation) là ngôn ngữ cho việc chuyển đổi mơ hình được định nghĩa bởi OMG [48-50]. Cú pháp trừu tượng của QVT được định nghĩa như là một siêu mơ hình MOF 2.0. Siêu mơ hình này xác định 3 ngơn ngữ phụ cho việc chuyển đổi mơ hình. Ba ngơn ngữ QVT tập hợp được hình thành nên một ngôn ngữ chuyển đổi hỗn hợp, các ngôn ngữ được đặt tên là Relations, Core, Operational Mappings (hình 1.18).

Hình 1.18. Kiến trúc QVT [45]

Ngơn ngữ Relations cung cấp những khảnăng xác định sự chuyển đổi như là một bộ các quan hệ trong các mơ hình. Các quan hệ bao gồm tập các kiểu của đối tượng, những thành phần này có thểđược liên kết với các phần tử của mơ hình hiện tại, được khởi tạo cho các phần tử của mơ hình trong mơ hình mới và có thể được sử dụng để áp dụng những thay đổi đối với các mơ hình hiện có. Ngơn ngữ giúp xử lý các thao tác của các liên kết, truy xuất nguồn gốc tự động và ẩn đi những chi tiết có liên quan từ các chuyên viên phát triển phần mềm.

Ngôn ngữ Core là loại ngơn ngữkhai báo nó đơn giản hơn ngơn ngữ quan hệ. Các định nghĩa chuyển đổi được định nghĩa ở đây có xu hướng dài hơn các định nghĩa tương đương được viết trong ngôn ngữ quan hệ. Các liên kết truy xuất nguồn gốc được xửlý như các phần tử mơ hình đơn thuần. Các chuyên gia thiết kế chịu trách nhiệm cho việc tạo ra và sử dụng các liên kết. Một mục đích của ngơn ngữ core là cung cấp cơ sở để xác định ngữ nghĩa của ngôn ngữ quan hệ. Các ngữ nghĩa của ngôn ngữ quan hệđược đưa ra như là một sự chuyển đổi từ RelationsToCore. Việc chuyển đổi này được viết trong ngơn ngữ quan hệ.

Đơi khi, rất khó đểmang đến một giải khai báo hoàn chỉnh cho một vấn đề chuyển đổi được đưa ra. Để giải quyết vấn đềnày, QVT đề xuất hai cơ chế cho việc mở rộng khai báo ngôn ngữ quan hệ và lõi: Một ngôn ngữ thứ 3 được gọi là Operational Mappings và một cơ chế để viện chứng cho tính năng chuyển đổi được thực hiện trong ngôn ngữ bất kỳ (Black Box implementation).

Ngôn ngữ Operational Mappings giúp mở rộng ngôn ngữ quan hệ với các cấu trúc bắt buộc và cấu trúc OCL. Ý tưởng cơ bản của ngôn ngữnày là xác định rõ kiểu đối tượng trong các quan hệđược thay thế bởi việc sử dụng cấu trúc bắt buộc. Theo đó, các quan hệ nhất thiết phải được thực hiện khai báo trong ngôn ngữ. Cú pháp của ngôn ngữ Operational Mappings cung cấp cấu trúc chung dựa trên ngôn ngữ mệnh lệnh (ví dụ: lặp, điều kiện, ...).

Cơ chế Hộp đen cho phép trình mở rộng và thực thi code bên ngồi trong q trình thực hiện chuyển đổi. Cơ chế này cho phép những thuật toán phức tạp được thực

hiện trong bất kỳ ngơn ngữ lập trình nào và có thể tái sử dụng các thư viện sẵn có. Điều này làm một số phần của việc chuyển đổi trở nên không rõ ràng, gây ra các mối nguy hiểm tiềm ẩn từ chức năng và không được giám sát bởi kỹ thuật chuyển đổi.

Một phần của tài liệu Luận án tiến sĩ các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình (Trang 33 - 35)

Tải bản đầy đủ (PDF)

(145 trang)