Chuyển đổi từ mơ hình uc ầu sang mơ hình nội dung

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 49 - 51)

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

2.2. Chuyển đổi mô hình trong UWE

2.2.1. Chuyển đổi từ mơ hình uc ầu sang mơ hình nội dung

Mục tiêu của mơ hình nội dung là xác định các khía cạnh cấu trúc và hành vi của ứng dụng Web. Ngồi các tính năng cấu trúc tĩnh (các thuộc tính và các liên kết) được tham chiếu trong các mơ hình điều hướng, mơ hình nội dungcũng bao gồm các tính năng hành vi động (hoạt động) được tham chiếu trong các mơ hình xử lý.

Theo [1] mơ hình nội dung được tự động lấy từ các mơ hình yêu cầu bằng cách áp dụng các Requirements2Content (Hình 2.6). Kết quả của mơ hình nội dung sau đó được tinh chế bởi nhà phát triển bằng cách thêm vào các lớp, các thuộc tính, liên kết..

Chuyển đổi Requirements2Content tự động sinh ra mơ hình nội dung từ mơ hình u cầu. Dựa trên hai quy tắcsẽ trình bày dưới đây.

Quy tc ContentClass2ContentClassWithOperations

Quy tắc này ánh xạ mỗi lớp nội dung tới một lớp nội dung cùng với việc thêm operation được tạo bởi quy tắc thứ hai SimpleProcess2Operation. Ở đây, chú ý tới biểu thức ATL:

thisModule.resolveTemp( sp, ‘op’ ) [5]

Biểuthức này cần thiết cho tham chiếu tới một thành phần đặc biệt đích op của quy tắc SimpleProcess2Operation để nối các thành phần nguồn sp. Quy tắc này được biểu diễn thơng qua Hình 2.7.

Mơ tả các quy tắc để thêm các hoạt động

rule ContentClass2ContentClassWithOperations {

from c : UWE!Class ( c.oclIsTypeOf( UWE!Class ) ) to tc : UWE!Class

(

ownedOperation <- c.ownedOperation->union(

c.useCase->select( uc | uc.o clIsKindOf( UWE!SimpleProcess ) )-> collect( sp | thisModule.resolveTemp( sp, ‘op’ ) ) ),

… ) }

Quy tc SimpleProcess2Operation

Đối với mỗi xử lý đơn giản trong các mơ hình u cầu một operation được sinh ra. Tên của các operation được tính tốn bằng cách loại bỏ các dấu cách từ tên của các xử lý đơn giản và chuyển đổi ký tự đầu tiên chữ in thường. Các hàm regexReplaceAll (thay thế các chuỗi con bằng việc sử dụng các biểu thức thường) và firstToLower được cung cấp bởi ATL. Một quy tắc type2Return-Parameter được sử dụng để tạo ra giá trị đối số trả về của operation.

rule SimpleProcess2Operation {

from sp : UWE!SimpleProcess

to tsp : UWE!SimpleProcess ( … ), -- target for copying source element op : UWE!Operation

(

name <- sp.name.regexReplaceAll( ' ', '' ).firstToLower(), type <- sp.target,

ownedParameter <- if sp.target.oclIsUndefined() then Sequence {} else Sequence { thisModule.Type2ReturnParameter( sp.target ) endif )

}

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 49 - 51)

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

(145 trang)