CÁC PHÉP BIẾN ĐỔI MÔ HÌNH TRONG UWE

Một phần của tài liệu Nghiên cứu kỹ thuật biến đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo hướng tiếp cận MDA (Trang 51)

C ƢƠNG 1 KỸ T UẬ TP ÁT TRIỂN ỨNG DỤNG WEB ƢỚNG MÔ ÌN

2.6.CÁC PHÉP BIẾN ĐỔI MÔ HÌNH TRONG UWE

Các phép biến đổi mô hình được dựa trên việc định nghĩa các quy tắc biến đổi, và được định nghĩa bất cứ lúc nào có thể cho cấp độ siêu mô hình, và được viết như các phát biểu của các ngôn ngữ biến đổi. Do vậy, cần đặc tả các siêu mô hình của cả nguồn lẫn đích của phép biến đổi. Ngoài ra, đối với siêu mô hình UWE, sử dụng siêu mô hình WebRE [31] và siêu mô hình WebSA [41] vốn là các siêu mô hình phù hợp MOF.

Các phép biến đổi được phân ra thành ba nhóm: các phép được sử dụng để xây dựng các mô hình thiết kế, các phép cần thiết cho việc tạo ra bức tranh tổng thể và mô hình tích hợp, và sau cùng là các phép dùng cho việc tạo ra các mô hình cài đặt và mã. Tổng kết các đặc trưng của mỗi phép biến đổi trong Bảng 2.1 dựa trên các tiêu chí được định nghĩa.

2.6.1. Xây dựng các Mô hình Thiết kế

Bước biến đổi mô hình đầu tiên trong quy trình UWE bao gồm việc ánh xạ các mô hình yêu cầu Web sang các mô hình thiết kế UWE [40]. Các mô hình thiết kế này gồm mô hình nội dung, điều hướng, quy trình, biểu diễn và thích ứng. Có một tập các quan hệ phụ thuộc tồn tại giữa bản thân các mô hình thiết kế, và điều này cho phép việc tạo ra các mô hình khác hay việc tinh biến các mô hình.

Các quy tắc biến đổi được định nghĩa như là các phép ánh xạ từ siêu mô hình WebRE sang siêu mô hình UWE và giữa các siêu mô hình UWE. Hình 2.10 cho thấy một ví dụ về cách thức áp dụng khuôn thức biến đổi mô hình vào quy trình UWE bằng cách sử dụng Ngôn ngữ Biến đổi Khung nhìn Truy vấn tiêu chuẩn (QVT, [44]).

ỹ thuật GVHD: PGS.TS Huỳnh Quyết Thắng

Bảng 2.1 Các đặc tính của các phép biến đổi mô hình trong quy trình phát triển hƣớng mô hình UWE [51]

Phép biến đổi Req2 Conte nt Req2 Archi tectur e Content2 Navigation Navigation Refinement Req2 Navig ation Navig ation2 Presen tation Style Adjust ment Design2 BigPictur e Integrati ng Architect ure Integr ation2 J2EE Kiểu CIM thành PIM CIM thành PIM

PIM thành PIM PIM thành PIM CIM thành PIM PIM thành PIM PIM thành PIM PIM thành PIM PIM thành PIM PIM thành PSM Độ phức tạp đơn giản đơn

giản đơn giản đơn giản

hợp nhất đơn giản hợp nhất hợp nhất hợp nhất hợp nhất Cấp độ trừu tƣợng hóa siêu mô hình

- mô hình siêu mô hình

siêu mô hình siêu mô hình

mô hình siêu mô hình siêu mô hình siêu mô hình các Dấu Lược tả WebR E - có sự liên quan đến điều hướng & lược tả UWE Lược tả và các khuôn thức UWE Lược tả WebR E Lược tả UWE dẫn hướng phong cách các khuôn thức và các dấu lược tả UWE & WebSA các khuôn thức Thi hành tự động thủ công bán tự động tự động tự động tự động tự động tự động tự động tự động Các kỹ

thuật QVT - Java (OCL) ATL Java (OCL) QVT

Java (OCL) ATL Java các phép biến đổi biểu đồ QVT QVT, ATL

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Hình 2.14: Khuôn thức chuyển đổi mô hình dành cho các siêu mô hình WebRE và UWE

Trong quy trình UWE, việc biến đổi các yêu cầu thành nội dung cho phép việc xây dựng mô hình nội dung; các phép biến đổi nội dung thành cơ chế điều hướng, các yêu cầu thành cơ chế điều hướng và việc tinh biến cơ chế điều hướng được sử dụng để xây dựng mô hình điều hướng. Mô hình biểu diễn được xây dựng bằng ít nhất hai phép lặp: nó được tạo ra bằng việc biến đổi trước đó của cơ chế điều hướng thành sự biểu diễn và được tinh biến bằng các tác vụ điều chỉnh phong cách. Điều cuối nhưng không kém phần quan trọng là mô hình thích ứng cũng có thể được rút ra từ các mô hình các yêu cầu chức năng, và các mô hình kiến trúc có thể được rút ra từ các yêu cầu không liên quan đến chức năng.

2.6.1.1. Biến đổi các Yêu cầu thành Nội dung

Các hoạt động Web, chẳng hạn như duyệt, dò tìm hay các giao dịch đều có liên quan đến các đối tượng được cần đến như là đầu vào hay được sinh ra như là các kết quả. Các đối tượng này có thể được gộp vào trong các biểu đồ hoạt động thông qua các luồng đối tượng. Trong trường hợp cụ thể là mô hình hóa các yêu cầu các hệ thống Web, các đối tượng được sử dụng để chỉ ra nhu cầu cần gộp các thông tin nào đó vào trong ứng dụng Web (Hình 2.21).

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Hình 2.15: Từ mô hình các yêu cầu thành mô hình nội dung

Tôi sử dụng ngôn ngữ QVT để đặc tả phép biến đổi từ các phần tử của mô hình yêu cầu thành các phần tử của mô hình nội dung (Req2Content). Quy tắc biến đổi này xác định việc ánh xạ siêu lớp Content của siêu mô hình WebRE thành các lớp của mô hình nội dung UWE; đặc tả QVT của phép biến đổi này tham khảo [40] để biết thêm chi tiết. Các đặc điểm của phép biến đổi Reg2Content được tổng kết trong Bảng 2.1.

2.6.1.2. Biến đổi các Yêu cầu thành Kiến trúc

Một phép ánh xạ các yêu cầu không liên quan đến chức năng thành các phần tử mô hình kiến trúc là đề tài nghiên cứu trong tương lai. Hiện tại, người thiết kế gộp các phần tử kiến trúc vào một cách thủ công. Vẫn còn thiếu một siêu mô hình của các yêu cầu không liên quan đến chức năng dành cho các ứng dụng Web.

2.6.1.3. Biến đổi Nội dung thành Cơ chế Điều hướng

Trong UWE, một mô hình điều hướng (xem Hình 2.22) trước hết được tạo ra dựa trên các lớp của mô hình nội dung vốn được đánh dấu là có liên quan đến điều hướng, nghĩa là phép biến đổi Content2Navigation được định nghĩa cho các phần tử mô hình nào đó. Từ một mô hình nội dung có thể thu được các khung nhìn điều hướng khác nhau, chẳng hạn như cho các bên liên quan khác nhau như người dùng ẩn danh, người dùng có đăng ký và quản trị viên [38].

Việc sinh ra mỗi khung nhìn điều hướng đòi hỏi một tập các dấu trên các phần tử của mô hình nội dung, và chúng hợp thành một thứ gọi là mô hình đánh dấu (marking model), được lưu giữ tách biệt với mô hình nội dung. Do vậy, quy trình phát triển không thể được hoàn tất theo cách thức tự động, vì người thiết kế phải quyết định về các dấu “có liên quan đến điều hướng”. Một khi các dấu đã được xác

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

lập, phép biến đổi được áp dụng. Nó được định nghĩa như là một ràng buộc OCL và được cài đặt trong Java. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.16: Các phép biến đổi để xây dựng mô hình điều hƣớng

2.6.1.4. Bổ sung các Yêu cầu vào Cơ chế Điều hướng

Mô hình yêu cầu chứa đựng các thông tin hữu ích cho việc làm giàu thông tin cho mô hình điều hướng. Ví dụ, trong mô hình yêu cầu UWE phân biệt giữa các kiểu khác nhau của các chức năng điều hướng: duyệt, dò tìm và các hoạt động giao dịch. Một mặt, các hành động Browse có thể được sử dụng để xác nhận sự tồn tại của một tuyến điều hướng giữa các nút nguồn và đích. Mặt khác, chẳng hạn như một hành động thuộc kiểu Search chỉ ra nhu cầu cần một Query trong mô hình điều hướng nhằm cho phép người dùng nhập vào một từ và hệ thống đáp trả bằng một tập kết quả trùng khớp với từ đó. Hình 2.23 cho thấy phép biến đổi Search2Query được đặc tả bằng ký pháp đồ họa QVT [40].

Phép biến đổi Req2Navigation là một phép hợp nhất và được dựa trên lược tả WebRE (xem Bảng 2.1). Hình 2.22 cho thấy rằng quy tắc biến đổi Req2Navigation có thể được áp dụng sau quy tắc biến đổi Content2Navigation, nhưng không có sự hạn chế liên quan đến trật tự áp dụng quy tắc Req2Navigation và tác vụ

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

2.6.1.5. Tinh biến Mô hình Điều hướng

Bản thân mô hình điều hướng, được sinh ra dựa trên mô hình nội dung, chứa các thông tin hữu ích cho phép suy luận và nâng cao mô hình điều hướng [12]. Các ràng buộc sau (được mô tả không chính thức) định nghĩa chẳng hạn như các quy tắc biến đổi như vậy:

1. Một chỉ số được thêm vào cho tất cả các liên hệ của mô hình điều hướng vốn có bội tính lớn hơn 1 ở đầu được chỉ tới của liên hệ. 2. Tất cả các lớp điều hướng có ít nhất một liên hệ hướng ra đều đòi

hỏi một lớp menu có các mục menu được định nghĩa trên cơ sở các đầu liên hệ của các mối liên hệ.

Các phép biến đổi này được định nghĩa là các ràng buộc OCL trong UWE và được cài đặt trong Java. Trong Bảng 2.1 cho thấy các đặc điểm của các quy tắc biến đổi này.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

2.6.1.6. Việc biến đổi Điều hướng thành Biểu diễn và việc Điều chỉnh cho Phong cách Biểu diễn.

Các phần tử biểu diễn được sinh ra dựa trên các phần tử điều hướng của mô hình điều hướng và sau đó được hợp nhất bằng các thông tin dẫn hướng phong cách (Hình 2.24). Ví dụ, đối với mỗi liên kết trong mô hình điều hướng đều cần một mốc neo thỏa đáng trong mô hình biểu diễn. Vấn đề khó khăn chủ yếu là việc đưa khía cạnh mang tính cảm nhận vào.

Hình 2.18: Các phép biến đổi để xây dựng mô hình biểu diễn 2.6.2. Tạo một Mô hình đƣợc Tích hợp

Mục tiêu của giai đoạn này trong quy trình UWE là tạo ra một mô hình cho phép cả việc tạo ra một cách trơn tru các mô hình đặc trưng nền hệ thống (các PSM) lẫn việc xác nhận tính đúng đắn của các mô hình qua việc kiểm nghiệm mô hình. Quy trình UWE bao gồm hai bước tích hợp chính: tích hợp tất cả các mô hình chức năng và tích hợp các khía cạnh chức năng lẫn phi chức năng. Bước thứ hai liên quan đến các quyết định thiết kế kiến trúc.

2.6.2.1. Xây dựng “Bức tranh Tổng thể”

Tuy từ các khung nhìn khác nhau, nhưng các mô hình thiết kế khác nhau biểu diễn ứng dụng Web như là một tổng thể. Chúng được tích hợp vào một mô hình độc lập nền hệ thống khác gọi là “bức tranh tổng thể” (Hình 2.25). Mô hình này được sử dụng để xác nhận sự tương tác của các mô hình tách rời bằng cách sử dụng cơ chế kiểm nghiệm mô hình và để sinh ra ứng dụng Web một cách tự động.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Mô hình đích là một máy trạng thái UML, biểu diễn cấu trúc điều hướng và các quy trình nghiệp vụ của ứng dụng Web. Mô hình bức tranh tổng thể có thể được kiểm nghiệm bằng công cụ Hugo/RT, một trình thông dịch mô hình UML dành cho việc kiểm nghiệm mô hình và chứng minh định lý [36].

Hình 2.19: Các phép biến đổi để xây dựng mô hình “bức tranh tổng thể”

Phép biến đổi Design2BigPicture tạo thành một hệ biến đổi biểu đồ dựa trên siêu mô hình. Một ví dụ về phép biến đổi biểu đồ cho một nút điều hướng thành một trạng thái điều hướng trong bức tranh tổng thể được minh họa trong Hình 2.26. Các mô hình nguồn là các mô hình nội dung, quy trình nghiệp vụ và điều hướng của UWE. Các quy tắc biến đổi Big Picture được định nghĩa trong phạm vi tầm vực UWE là các quy tắc biến đổi biểu đồ. Đề tài của các công trình nghiên cứu đang tiến hành chính là việc cài đặt các quy tắc biến đổi này bằng AGG [47] (một công cụ đặc trưng không liên quan đến Web dành cho các phép biến đổi biểu đồ). Các đặc điểm khác của phép biến đổi mô hình Design2BigPicture được tóm lược trong Bảng 2.1.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Hình 2.20: Ánh xạ nút điều hƣớng thành trạng thái trong “bức tranh tổng thể” (phép biến đổi biểu đồ)

2.6.2.2. Tích hợp các Đặc trưng Kiến trúc

Các mô hình chức năng được định nghĩa cho tới nay (chẳng hạn như điều hướng, biểu diễn, quy trình) đều có thể được hợp nhất với các mô hình kiến trúc (được định nghĩa như các PIM) như được minh họa trong Hình 2.27. WebSA cung cấp một khung nhìn theo lớp và một khung nhìn theo thành phần của kiến trúc này, và chúng cũng được định nghĩa như là các PIM. Các quy tắc biến đổi được định nghĩa dựa trên các siêu mô hình UWE và WebSA (xem [41] để biết thêm chi tiết). Các đặc điểm của các quy tắc thuộc kiểu IntegratingArchitectural Features được tóm lược trong Bảng 2.1.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Hình 2.21: Tích hợp các đặc điểm kiến trúc

2.6.2.3. Sinh ra các Mô hình Đặc trưng Nền hệ thống và Mã

Để biến đổi các mô hình độc lập về mặt công nghệ thành các mô hình đặc trưng nền hệ thống, ta phải cần đến các thông tin bổ sung về nền hệ thống. Chúng có thể được cung cấp như là một mô hình bổ sung hay được chứa đựng không tường minh trong các phép biến đổi. Đối với các phép ánh xạ từ các mô hình thiết kế UWE (các PIM) thành các PSM cho các ứng dụng Web (Hình 2.18), thực hiện một tập các thí nghiệm với các ngôn ngữ biến đổi mô hình vừa được phát triển gần đây. Các ngôn ngữ Biến đổi Khung nhìn Truy vấn gồm Ngôn ngữ Biến đổi Trụ cột (ATL: Atlas Transformation Language), QVT-P and QVT [44].

Hình 2.22 Sinh ra các mô hình đặc trƣng nền hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

2.7. UWE TRONG VIỆC THIẾT KẾ WEB ƢỚNG MÔ HÌNH (PHỤ LỤC B.2)

2.7.1. Lõi xử lý UWE (UWE core process)

Áp dụng các nguyên tắc MDA với phương pháp tiếp cận UWE để xây dựng một tập hợp các CIM, tập hợp các PIM và tập hợp các PSM trong giai đoạn phân tích, thiết kế và thực hiện quá trình mô hình định hướng. Mục đích của giai đoạn

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

phân tích là để tích lũy một bộ ổn định các yêu cầu. Các yêu cầu chức năng được thu thập bằng các phương tiện của các mô hình yêu cầu. Các mô hình yêu cầu bao gồm các mô hình Use Case chuyên dụng và một mô hình các class cho ứng dụng Web. Giai đoạn thiết kế bao gồm việc xây dựng một loạt các mô hình cho các nội dung (content), định hướng (navigation), quy trình (process), trình bày (presentation) và tương thích (adaptivity) ở mức độc lập nền tảng. Sự biến đổi thực hiện việc xây dựng hệ thống các mô hình phụ thuộc vào cách tạo ra các mô hình mặc định, sau đó có thể được tùy chỉnh bởi các nhà thiết kế. Cuối cùng, các mô hình thiết kế được chuyển đổi để thực hiện trên nền tảng cụ thể. Lõi xử lý UWE được mở rộng với việc xây dựng một trạng thái hữu hạn UML - gọi là "bức tranh lớn" , nó tích hợp với các mô hình thiết kế. Mục đích của mô hình bức tranh lớn là việc kiểm tra của UWE các mô hình của công cụ MagicDraw, một mô hình UML chuyển đổi thành mô hình kiểm tra và thử nghiệm định lý [37]. Ngoài ra, kiến trúc tính năng có thể được thu thập bởi một mô hình kiến trúc riêng biệt bằng cách sử dụng các kỹ thuật của WebSA (kiến trúc phần mềm Web) cách tiếp cận [38] và tiếp tục tích hợp các mô hình chức năng cho đến nay được xây dựng. Trong luận văn này, ta tập trung vào lõi xử lý UWE được mô tả như trong hình 2.29 như là một biểu đồ hoạt động UML khuôn mẫu. Mô hình được đại diện với các nút đối tượng và biến đổi như các hoạt động khuôn mẫu (biểu tượng hình tròn đặc biệt). Một chuỗi các biến đổi sau đó ta sẽ xác định các luồng điều khiển.

Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA

Một phần của tài liệu Nghiên cứu kỹ thuật biến đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo hướng tiếp cận MDA (Trang 51)