Mối quan hệ giữa các mô hình nguồn và đích

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 43)

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

2.4.4.Mối quan hệ giữa các mô hình nguồn và đích

Hình 2.7: Các đặc tính của mối quan hệ giữa các mô hình nguồn và đích

Trong đặc tả QVT này, mô hình đích có thể rỗng, nhưng nó cần phải tồn tại (Cập nhật Sẵn có). Các phần tử trong mô hình đích có thể được tạo, xóa hay sửa đổi nhằm làm cho mối quan hệ trở nên đúng (Cập nhật). Mô hình đích cũng có thể giống như mô hình nguồn; tức cập nhật tại chỗ, tuy nhiên có thể phải cần thêm các bước lượng giá.

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

2.2.5. Chiến lƣợc áp dụng quy tắc

Hình 2.8: Các đặc tính của chiến lƣợc áp dụng quy tắc

Đặc tính này phân loại các cách tiếp cận chuyển đổi theo trật tự áp dụng một quy tắc cụ thể cho nhiều trùng khớp được tìm thấy trong các mô hình nguồn. Tuy nhiên, trong các tài liệu đề xuất vẫn chưa thấy đề cập đến chiến lược áp dụng nào mà đặc tả này sử dụng.

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

2.4.6. Điều phối Quy tắc

Hình 2.9 Đặc điểm của điều phối quy tắc

Nhiều quy tắc chuyển đổi có thể được đặc tả để chuyển đổi các mô hình nguồn thành các mô hình đích. Đặc tính Điều phối Quy tắc phân loại thứ tự mà theo đó các quy tắc riêng lẻ được áp dụng. Trong đặc tả này, có hai kiểu quy tắc: mức cao nhất và các kiểu còn lại. Ví dụ, ngôn ngữ Các quan hệ sử dụng từ khóa top để đánh dấu các quan hệ mức cao nhất. Các quy tắc mức cao nhất được thực thi trực tiếp bởi cơ cấu chuyển đổi, các quy tắc còn lại được gọi trực tiếp từ các quy tắc mức cao nhất, chẳng hạn như trong các mệnh đề where và when. Tuy nhiên, việc các quy tắc mức cao nhất được thực thi theo thứ tự nào vẫn chưa được làm sáng tỏ.

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

2.4.7. Tổ chức Quy tắc

Hình 2.10: Các đặc tính của việc tổ chức quy tắc

Theo tài liệu được gửi đề xuất, các quy tắc chuyển đổi được tổ chức thành các

module. Ý kiến đề xuất cũng nói rằng nó hỗ trợ cơ chế tái sử dụng thông qua việc sử dụng tính đa hình MOF; tuy nhiên, vẫn chưa tìm thấy ví dụ nào cho điều này. Cấu thành Logic cũng được sử dụng để cấu thành nhiều quy tắc chuyển đổi. Sau cùng, các quy tắc được tổ chức một cách độc lập với các mô hình nguồn và đích.

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

2.4.8. Tính khả truy vết

Hình 2.11: Các đặc tính của tính khả truy vết

Các lớp Trace và các thực thể của chúng được sinh ra không tường minh trong ngôn ngữ Các quan hệ và các phép Ánh xạ Hoạt động để duy trì khả năng truy vết giữa các phần tử mô hình trong một lượt thực thi phép chuyển đổi. Tuy nhiên, chúng phải được tạo ra tường minh trong ngôn ngữ Lõi. Vị trí của các thực thể này không được mô tả rõ ràng trong tài liệu; tuy nhiên có thể suy ra rằng các thực thể này được lưu giữ tách biệt với các mô hình nguồn và đích và được duy trì bởi cơ cấu chuyển đổi.

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

2.4.9. ƣớng tính

Hình 2.12: Các đặc tính của hƣớng tính

Tính đa hướng được hỗ trợ trong các ngôn ngữ khai báo Các quan hệ và Lõi. Nhiều mô hình ứng viên có thể được đặc tả trong một quy tắc chuyển đổi đa hướng và bất kỳ mô hình nào trong số chúng cũng đều có thể được đề cử làm mô hình đích trong một lượt thi hành phép chuyển đổi. Tuy nhiên, ngôn ngữ các phép Ánh xạ Hoạt động đòi hỏi một quy tắc riêng biệt cho mỗi hướng của phép chuyển đổi (các cặp bổ khuyết).

2.5. QUY TRÌNH UWE VÀ CÁC MÔ HÌNH

Cách tiếp cận UWE bao gồm một Lược tả UML dùng để mô hình hóa các hệ thống Web, một quy trình và sự hỗ trợ công cụ dùng cho việc phát triển các hệ thống Web. Đối với việc mô hình hóa bằng UWE và công cụ Magic UWE, độc giả có thể tham khảo [30], [31], [32], [33], [34], [36] và [38].

Quy trình UWE là một quy trình phát triển hướng mô hình tuân thủ các nguyên tắc MDA và sử dụng các tiêu chuẩn OMG ([42], [43], [45], [46]). Nó bao gồm một tập các mô hình và các phép biến đổi mô hình, có đặc tả được hỗ trợ bởi các siêu mô hình và các quy tắc biến đổi. Các siêu mô hình này là siêu mô hình UWE [39], siêu mô hình Công nghệ các Yêu cầu Web (WebRE) [20] và siêu mô hình của cách tiếp cận Kiến trúc Phần mềm Web (WebSA) [41].

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

2.5.1. Tổng quan Quy trình

Đặc điểm chính của quy trình UWE là sự hỗ trợ có hệ thống, bán tự động, hướng mô hình và dựa trên phép biến đổi trong việc phát triển các hệ thống Web. Quy trình UWE được minh họa trong Hình 2.13 như là một biểu đồ hoạt động UML được tạo khuôn mẫu ([41]). Các mô hình được biểu diễn bằng các trạng thái luồng đối tượng và các phép biến đổi được biểu diễn như là các hoạt động được tạo khuôn mẫu (biểu tượng hình tròn chuyên dụng) Lúc đó một chuỗi các phép biến đổi định nghĩa luồng điều khiển.

Hình 2.13:Tổng quan Quy trình UWE

Quy trình bắt đầu bằng mức mô hình nghiệp vụ (CIM) định nghĩa một mô hình yêu cầu. Các mô hình thiết kế độc lập nền hệ thống (các PIM) được dẫn xuất từ các (adsbygoogle = window.adsbygoogle || []).push({});

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

yêu cầu này. Tập các mô hình thiết kế này biểu diễn các mối quan tâm khác nhau của các ứng dụng Web. Nó bao gồm nội dung (content), việc điều hướng (navigation), logic nghiệp vụ, việc biểu diễn (presentation) và việc điều chỉnh thích ứng hệ thống Web. Các mô hình thiết kế khác nhau đã không được minh họa trong sơ đồ tổng quan của Hình 2.13.

Sau đó các mô hình thiết kế được tích hợp chủ yếu nhằm mục đích, chẳng hạn như xác minh, trong một mô hình “bức tranh tổng thể”[36]. Một phép hợp nhất với các tính năng mô hình hóa về mặt kiến trúc dẫn đến một mô hình PIM tích hợp, bao hàm các khía cạnh chức năng và kiến trúc. Sau cùng, các mô hình đặc trưng nền hệ thống (các PSM) được dẫn xuất từ mô hình tích hợp, và từ đó mã lập trình có thể được sinh ra. Mục tiêu của một quy trình MDD như vậy là tự động hóa phép biến đổi mô hình trong mỗi bước dựa trên các quy tắc biến đổi.

2.5.2. Các mô hình trong UWE (Phụ lục B.1)

Một tập các mô hình của một hệ thống Web được xây dựng trong quy trình phát triển UWE. Các mô hình UWE được biểu diễn bằng các giản đồ UML. Bất cứ lúc nào thích hợp, UWE đều sử dụng ký pháp UML “thuần khiết”. Đối với các tính năng đặc trưng mô hình hóa của lĩnh vực Web, chẳng hạn như các nút điều hướng và các phần tử trang Web, UWE đều cung cấp một lược tả UML vốn được định nghĩa bằng cách sử dụng các cơ chế mở rộng do UML cung cấp: các khuôn mẫu và các ràng buộc OCL. Để biết thêm chi tiết về lược tả UWE, mời tham khảo [46], [34], [36], [38] và [40].

Ví dụ minh họa các mô hình và các phép biến đổi mô hình thông qua một ví dụ cổng thông tin Web âm nhạc, lấy cảm hứng từ www.mp3.com, một trang cung cấp các album để tải xuống. Các thông tin về ca sĩ, soạn giả và nhà xuất bản được cung cấp miễn phí. Ngược lại, chỉ những người dùng có đăng ký mới có thể dò tìm các album và tải chúng về nếu họ có đủ tiền trong tài khoản trả trước của họ.

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

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 (adsbygoogle = window.adsbygoogle || []).push({});

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.

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

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 43)