Tải bản đầy đủ (.pdf) (21 trang)

Ứng dụng kỹ thuật lập trình hướng ASPECT vào mô hình định hướng phát triển các ứng dụng WEB phổ biến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.87 MB, 21 trang )

1

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------

NGUYỄN HỮU DƯƠNG

ỨNG DỤNG KỸ THUẬT LẬP TRÌNH HƯỚNG ASPECT
VÀO MƠ HÌNH ĐỊNH HƯỚNG PHÁT TRIỂN CÁC
ỨNG DỤNG WEB PHỔ BIẾN

Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15 - 0009

TĨM TẮT LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học: GS.TSKH Nguyễn Ngọc San

HÀ NỘI 2012


2

TĨM TẮT LUẬN VĂN
Như đã trình bày ở cuốn tồn văn, luận án này được trình bày tuân theo
phương pháp luận. Sau đây là phần tóm tắt của luận văn.

CHƯƠNG 1. TỔNG QUAN
1.1 Động lực nghiên cứu
1.1.1 Ứng dụng Web Phổ biến
Trong thời kỳ đầu của của World Wide Web vào năm 1989, khi các trang
Web hướng tài liệu được sử dụng, người truy cập chỉ có thể đọc thơng tin tĩnh. Dần


dần, theo thời gian, các ứng dụng Web, bao gồm các ứng dụng Web tương tác và
dựa trên luồng công việc và cả cổng thông tin đã tăng độ phức tạp và hỗ trợ người
dùng làm được nhiều công việc khác nhau. Với sự xuất hiện của các thiết bị di động
với tư cách là một kênh truy cập Internet mới đã làm độ phức tạp của ứng dụng
Web ngày càng tăng, tạo ra các khó khăn và trở ngại mới và sản sinh ra một nhóm
ứng dụng Web mới, có tên gọi là ứng dụng Web phổ biến UWA. UWA được đặc
trưng bởi một mô thức bất kỳ lúc nào/bất kỳ nơi đâu/bất kỳ loại media nào, có tính
đến cả các dịch vụ khơng chỉ được hồn tồn truy cập qua máy tính để bàn truyền
thống mà cịn thơng qua các thiết bị di dộng với các khả năng khác nhau, bởi người
dùng với nhiều sở thích khác nhau vào bất cứ lúc nào và nơi đâu trên thế giới.
Trong mọi trường hợp, người dùng phải có thể tương tác với ứng dụng Web
một cách hiệu quả. Do đó, các dịch vụ ứng dụng Web được yêu cầu như thông tin
về người dùng, địa điểm, thiết bị, mạng và thời gian là điều kiện tiên quyết để một
ứng dụng có thể đưa ra sự thích ứng thích hợp của các dịch vụ để tương tác lại như
lọc thơng tin theo nhu cầu người dùng, chọn hình ảnh theo độ phân giải màn hình.


3

Trong đó thuật ngữ tùy biến để chỉ ánh xạ giữa sự thích ứng cần thiết của các dịch
vụ ứng dụng Web với bối cảnh sử dụng ứng dụng Web đó.

1.1.2 Phát triển ứng dụng Web Phổ biến theo hướng mơ hình
Khi tìm hiểu sự phát triển của UWA, cần phải tránh phương thức tiếp cận
truyền thống ”vừa cho tất cả” trong việc phát triển ứng dụng Web vì mục tiêu của
UWA là cung cấp đúng thông tin và dịch vụ đúng lúc. Theo hướng này, vai trị của
mơ hình khi phát triển UWA và nhu cầu giải quyết tùy biến theo mơ hình.
Tùy biến tập trung vào một ứng dụng Web được gọi là ứng dụng Web lõi
theo hướng tình huống sử dụng, như được mơ tả trong Hình 1.1. Mơ hình bối cảnh
này nắm bắt thơng tin về bối cảnh mà ứng dụng Web được truy cập theo thời gian.

Ánh xạ đó thường được mơ hình nhờ sử dụng các ngun lý hình thức luận mơ hình
hóa, phát sinh từ lĩnh vực hệ thống cơ sở dữ liệu chủ động. Theo đó, mơ hình hóa
tùy biến cho phép tạo ra các biến đổi với một ứng dụng Web.
Ứng dụng Web lõi

Bối cảnh

Tùy biến

Ánhxạ
Sự thích ứng

Các ứng dụng Web phổ biến

Hình 1.1: Các vấn đề liên quan đến tùy biến

1.2 Các vấn đề đan xen với phương pháp hướng khía cạnh


4

Khi xét tới UWA, tùy biến có thể được xem là một vấn đề đan xen trong hướng
khía cạnh. Phần bên trái Hình 1.2 cho thấy tùy biến ảnh hưởng tới một mơ hình ứng
dụng Web như thế nào thay vì các bộ phận kết cấu và hành vi đặc trưng của các cấp độ
nội dung, siêu văn bản và trình diễn. Theo đó, tùy biến có thể được đóng gói trong một
hoặc nhiều khía cạnh như được mơ tả ở phía bên phải Hình 1.2. Phần bên trái Hình 1.2
cũng chỉ ra mơ hình tổ hợp của ứng dụng Web, tại đó các khía cạnh tùy biến một lần nữa
được liên kết và rải rác theo phần còn lại của mơ hình ứng dụng Web.

Nội dung


Ứng dụng Web
Văn bản
Trình diễn
Tùy biến hướng khía
cạnh

Cá thể hóa
Nhận biết vị trí
Đa vận chuyển

…...…

Chức năng n

….

….

Chức năng 4

Chức năng 3

Chức năng 2

Đan xen
chức năng
Chức năng 1

Cấu trúc

hành vi

Các chức năng

Hình 1.2: Tùy biến với tư cách là một vấn đề đan xen

Để đạt được mục tiêu tối đa hình thức hướng khía cạnh, luận văn đã nêu ra
một “Phương pháp luận - Lộ trình tới aspectWebML”, phương pháp luận mơ hình
hóa khía cạnh tùy biến tách biệt khỏi các cấp độ và cung cấp một phương tiện
để tổ hợp khía cạnh với mơ hình ứng dụng Web.
Do các loại ứng dụng Web đã phát triển theo thời gian, nên các giải
pháp mơ hình hóa Web đã xuất hiện với các khái niệm phù hợp với các loại


5

ứng dụng này. Chính vì thế, ngày càng có nhiều giải pháp mơ hình hóa Web
hỗ trợ cho sự phát triển của các UWA bằng cách cung cấp các khái niệm mơ
hình hóa mới bắt kịp chức năng tùy biến. Thêm vào đó, sự xuất hiện của Kỹ
thuật theo mơ hình (MDE) đã có tác động lên các ngơn ngữ mơ hình hóa Web
hiện tại. Do đó, cùng lúc, một số giải pháp được hỗ trợ bằng một công cụ mơ
hình hóa, cũng có thể là thiết bị tạo mã nhằm cung cấp cho sự phát triển theo
mơ hình dựa trên các kỹ thuật và công nghệ MDE bao gồm cả các siêu mơ
hình và các dạng chuyển đổi mơ hình.

CHƯƠNG 2. CÁC MƠ HÌNH ĐỊNH HƯỚNG KHÍA CẠNH
2.1 Mơ hình Tham chiếu Khái niệm (CRM) dùng cho Mơ hình hóa
hướng Khía cạnh (AOM).
Khi xét tới các thuật ngữ đa dạng cũng như các khái niệm hướng khía cạnh
và có thể đánh giá các cách tiếp cận AOM, CRM này cho phép lý giải các thành

phần cơ bản của mô hình hóa hướng khía cạnh và các mối liên hệ giữa chúng được
biểu diễn dưới dạng biểu đồ lớp UML cùng với thuật ngữ được đưa ra trong biểu
đồ lớp. Hơn nữa, CRM sẽ mô tả chi tiết các khái niệm ngôn ngữ AOM tương ứng
cho mỗi cơ chế tổ hợp một cách riêng biệt, giúp cho việc đưa ra một bộ tiêu chí chi
tiết cho mỗi cơ chế tổ hợp. Các cơ chế tổ hợp đó là:

2.1.1 Tổ hợp vấn đề
Gói Tổ hợp Vấn đề hệ trừ tượng hóa có được từ các cơ chế tổ hợp khác nhau.
Gói này đề cập tới sự mơđun hóa và phân chia các vấn đề của một hệ thống thành
các khối, tiếp theo là các mối liên hệ giữa chúng và sau cùng là sự tổ hợp của chúng
dựa trên các quy tắc phù hợp, gồm các tiêu chí chi tiết như sau:
-

Vấn đề.


6

-

Môđun Vấn đề.

-

Kế hoạch Tổ hợp.

-

Quy tắc Tổ hợp Vấn đề.


-

Tương tác Môđun.

-

Tương tác Quy tắc.

-

Tác động.

2.1.2 Tổ hợp Vấn đề Bất đối xứng
Trong cách tổ hợp vấn đề bất đối xứng, quy tắc tổ hợp vấn đề được dùng cho
các cơ chế tổ hợp điểm ngắt-thông báo và lớp mở. Gói này được chia làm hai gói
nhỏ hơn là đối tượng khía cạnh và kiểu hướng khía cạnh dựa trên hai vai trò chuyên
biệt của các thành phần vấn đề trong tổ hợp bất đối xứng. Gói đối tượng khía cạnh
mơ tả các khái niệm cần thiết để xác định vị trí bổ sung hoặc giới hạn các mơđun
vấn đề khác. Gói kiểu hướng khía cạnh gồm các khái niệm mô tả cách thêm hay hạn
chế các mô đun vấn đề khác. Gồm các tiêu chí sau:
-

Quy tắc Tổ hợp Bất đối xứng.

-

Đối tượng hướng khía cạnh:

* Điểm liên kết.
* Điểm liên kết cấu trúc.

* Điểm liên kết hành vi.
* Mơ hình Điểm Liên kết.
* Điểm ngắt.
* Điểm ngắt đơn.
* Điểm ngắt phức hợp.
* Phương pháp định lượng.


7

* Vị trí tương đối.
-

Kiểu hướng khía cạnh.

* Thơng báo.
* Thông báo cấu trúc.
* Thông báo hành vi.
* Thông báo phức hợp.

2.1.3 Tổ hợp Vấn đề Đối xứng (SymmetricConcernComposition)
Trong cách tổ hợp vấn đề đối xứng gồm các tiêu chí sau:
-

Quy tắc Tổ hợp Đối xứng.

-

Thành phần có thể tổ hợp.


-

Thành phần cấu trúc có thể tổ hợp.

-

Thành phần Hành vi có thể tổ hợp.

-

Cách thức khớp.

-

Cách tích hợp.

-

Hợp nhất.

-

Ghi đè.

-

Kết nối.

2.1.4 Ngơn ngữ
Cuối cùng là bộ phận của gói Ngôn ngữ mô tả các phương tiện chủ yếu của

đặc tả vấn đề.
-

Ngôn ngữ.

-

Thành phần.


8

-

Thành phần cấu trúc.

-

Thành phần hành vi.

2.2. Các định nghĩa loại văn bản (DTDs) và tiếp cận vắn tắt ngôn
ngữ Ecore:
Để hướng tới kết nối từ WebML sang MDE, phần này được xây dựng trên sự
biểu cảm của các DTD, trong đó là các khái niệm được sử dụng để miêu tả ngôn
ngữ WebML, với sự liên hệ tới MOF.

2.3 Siêu mơ Sơ đồ Resulting WebML
2.3.1. Cấu trúc gói tổng thể
Các nhà thiết kế WebML đã sử dụng các thực thể tham số như là một cơ chế
để cấu trúc đặc tả ngôn ngữ của WebML. Như vậy, định nghĩa ngôn ngữ WebML

bao gồm rất nhiều các DTD với ngôn ngữ WebML.dtd là DTD gốc liên quan đến
những định dạng khác.
Sơ đồ 2.1 thể hiện cách nhìn tổng thể của siêu mơ Sơ đồ WebML. Gói
Navigation chính bao gồm các khái niệm mơ Sơ đồ hóa đối với cấp siêu văn bản và
đã được tự động tạo ra từ các Navigation.dtd. Gói Navigation lớn hơn đã được tự tổ
chức lại thành bốn gói con, được đặt tên là HypertextOrganization, Hypertext,
ContentManagement, và AsscessControl. Ngồi ra, gói Basic đã các khái niệm trừu
tượng ModelElement và NamedElement, và tất cả các khái niệm WebML khác
xuất phát từ đó. Các gói tơ màu xám bổ sung đã được tạo ra từ các DTD công cụ
liên quan.


9

Sơ đồ 2.1. Gói ngơn ngữ WebML

2.3.2. Gói cấu trúc (Structure).
Gói cấu trúc chứa các khái niệm mơ Sơ đồ cho phép mơ Sơ đồ hóa các lớp
nội dung của một ứng dụng Web, mơ tả các tính năng thơng thường như Thuộc tính
của một tập các đối tượng hoặc là một kiểu định trước, ví dụ String, Interger, float,
date, time, boolean,… hoặc một loại userType.

2.3.3 Gói tổ chức siêu văn bản (HypertextOrganization).
Gói tổ chức siêu văn bản bao gồm các khái niệm cho cơ cấu các siêu văn
bản, nghĩa là nó cung cấp các khái niệm mơ Sơ đồ tổ chức từ gói siêu văn bản. Các
khái niệm Page được sử dụng để tổ chức và cấu trúc thông tin từ cấp nội dung. Các


10


Siteview và Area vào trong nhóm các Page cũng như các hoạt động trên dữ liệu từ
cấp nội dung, ví dụ OperationUnit từ gói quản lý nội dung ContentManagement.

2.3.4. Gói siêu văn bản (Hypertext)
Các lớp siêu văn bản chỉ đại diện cho một lớp nội dung của một ứng dụng
Web, và do đó gói siêu văn bản sử dụng lại khái niệm từ gói cấu trúc. Gói siêu văn
bản tóm tắt các đơn vị nội dung sử dụng, ví dụ để hiển thị thơng tin từ các lớp nội
dung, có thể được kết nối bởi các liên kết trong một cách nhất định. Trong WebML,
các Page chứa các loại khác nhau của các đơn vị nội dung.

2.3.5 Gói quản lý nội dung (ContentManagment).
Gói quản lý nội dung chứa các khái niệm mô Sơ đồ cho phép việc sửa đổi
các dữ liệu từ các lớp nội dung. Tương tự như hệ thống phân cấp khái quát trong gói
siêu văn bản, các lớp trừu tượng bổ sung cũng được giới thiệu với các gói quản lý
nội dung.

2.3.6 Gói kiểm sốt truy cập (AccessControl)
Gói Kiểm sốt truy cập nhóm các khái niệm cho việc kiểm soát các truy cập
vào trang hiển thị là đơn vị đăng nhập LoginUnit, đơn vị đăng xuất LogoutUnit và
một đơn vị nhóm thay đổi ChangeGroupUnit.

2.3.7. Gói Cơ sở (Basic)
Các gói cơ sở bao gồm ba khái niệm trừu tượng, trong đó bao gồm một số
tính năng cần thiết của phần lớn các cấu trúc mô Sơ đồ của WebML.

2.4 Tùy biến vào trong siêu mô Sơ đồ ngôn ngữ WebML.
2.4.1. Thiết kế các ứng dụng Web phổ biến
Tùy biến trong WebML thì ta thường dựa trên các Page, Area, và Siteview
nhận biết ngữ cảnh. Một đơn vị nội dung, chỉ ra một số hành động thích ứng có liên
quan với các Page, Area, và Siteview tương ứng. Những hành động thích ứng này



11

phải được đánh giá trước khi tính tốn vì chúng có thể gây ra các nội dung trang
hoặc dịng điều hướng để áp dụng cho một bối cảnh nhất định.

2.4.2. Siêu mô Sơ đồ WebML cuối cùng.
Các mở rộng của siêu mô Sơ đồ ngôn ngữ WebML bán tự động tạo ra với
các khái niệm cho mô Sơ đồ tùy biến. Nó đã có thể tích hợp tất cả các khái niệm
mới trong các WebML thông qua việc kế thừa siêu mô Sơ đồ WebML.

CHƯƠNG 3. ASPECTWEBML – ÁP DỤNG ASPECTUWA
VÀO WEBML
3.1 Sử dụng mơ hình tham chiếu khái niệm CRM để nối WebML
sang mơ hình hóa hướng khái niệm AOM
Phần này dành riêng cho mô tả ngôn ngữ mô hình hóa WebML được nối với
AOM trên cơ sở của CRM. Các mục tiêu chính trong việc thiết kế CRM trong
chương 2 là thiết lập một sự hiểu biết chung về các khái niệm định hướng khía cạnh
trong mơ hình hóa AOM.
Sơ đồ 3.1 trình bày cách thức ngơn ngữ WebML được nối với AOM. Sơ đồ
này cho thấy gói aspectWebML đại diện cho siêu mơ hình aspectWebML. Từ
CRM, các gói tổ hợp các vấn đề, tổ hợp vấn đề bất đối xứng, và tổ hợp vấn đề đối
xứng được tái sử dụng, trong khi các gói ngơn ngữ được thay thế bằng các gói
WebML đại diện cho siêu mơ hình aspectWebML. Như được trình bày trong Sơ đồ
3.1, phần mở rộng của siêu mơ hình WebML với các khái niệm về AOM của CRM
đạt được là thông qua các điểm mở rộng điểm nối, mã thực thi đơn giản, phần tử
thành phần và Môđun vấn đề.
Do mục tiêu cụ thể của việc tùy chỉnh mơ hình hóa riêng biệt trong UWAs,
nội dung trọng tâm sẽ là cơ chế thành phần bất đối xứng. Tùy chỉnh các chức năng

vốn là mối quan tâm xuyên suốt, nó đại diện cho một mối quan tâm rằng tự nó


12

khơng thể tồn tại, có nghĩa là nó phải được áp dụng cho các chức năng của một ứng
dụng Web. Kết quả là các cơ chế thành phần bất đối xứng phân biệt giữa các mối
quan tâm cốt lõi và các mối quan tâm xuyên suốt để hỗ trợ cho mơ hình hóa tuỳ
chỉnh trong sự phát triển của UWAs là phù hợp hơn so với các cơ chế thành phần
đối xứng. Tuy nhiên, hỗ trợ cả hai cơ chế thành phần không đối xứng và đối xứng
cho phép tạo nên một ngơn ngữ mạnh. Do đó, sự hỗ trợ kỹ thuật cho cả hai loại cơ
chế thành phần được đưa ra trong việc mở rộng các siêu mơ hình WebML với các
khái niệm định hướng khía cạnh cho cả hai cơ chế.

3.2 Siêu mơ hình aspectWebML
Trong các tiểu mục dưới đây, các siêu mơ hình aspectWebML sẽ được mơ tả
theo một lược đồ tương tự với lược đồ được sử dụng trong đặc tả kỹ thuật của tiêu
chuẩn UML, từ đó cung cấp cho người lập một mơ hình tham chiếu cấu trúc tốt.
Các siêu mơ hình aspectWebML sẽ được trình bày cùng với các gói của nó.


13

3.2.1 Gói Tổ hợp vấn đề (ConcernComposition)
Gói Tổ hợp vấn đề tóm tắt theo các cơ chế thành phần khác nhau được hỗ trợ
bởi CRM thông qua các khái niệm về tương tác môđun và tương tác theo quy luật,
hiện tại chưa được xem xét (một cách đầy đủ) trong aspectWebML. Điều này có
nghĩa là những người lập mơ hình không thể chỉ ra rõ ràng sự tương tác giữa các
mơđun vấn đề trong các mơ hình của họ.


3.2.2 Mơ hình aspectWebML
Siêu lớp aspectWebML đã được giới thiệu cho các mục đích hỗ trợ cơng cụ.
Nó đại diện cho phần tử mơ hình hóa gốc trong một dự án aspectWebML bao gồm:
một Kho chứa môđun, một Kho chứa các quy tắc, một Kho chứa tập hợp các điểm
nối cũng như một bộ các Kế hoạch tổ hợp.

a) Môđun vấn đề
Trong ngôn ngữ aspectWebML, khái niệm vấn đề của CRM đã không được
hợp thành như là một siêu lớp riêng biệt, vì nó chỉ là một khái niệm lý thuyết hơn là
một cái gì đó mà người lập mơ hình xác định rõ ràng trong mơ hình aspectWebML.
Hơn nữa, khái niệm môđun vấn đề đã được định nghĩa để thêm vào khái niệm về
khía cạnh và cơ sở. Để hỗ trợ cơ chế thành phần bất đối xứng và đối xứng trong
ngôn ngữ aspectWebML, khái niệm môđun vấn đề cần phải được chun mơn hóa.

b) Quy tắc tổ hợp vấn đề
Quy tắc tổ hợp vấn định nghĩa cụ thể cách mà các phần tử vấn đề khác nhau
sẽ được soạn thảo. Theo CRM, khái niệm chung về quy tắc thành phần vấn đề được
chuyển hóa thành các lớp con hỗ trợ các cơ chế thành phần khác nhau, như là quy
tắc thành phần bất đối xứng và đối xứng.

c) Kế hoạch tổ hợp


14

Kế hoạch tổ hợp quy định cụ thể cách thức tích hợp một tập hợp các mơđun
vấn đề theo một tập hợp quy tắc tổ hợp vấn. Việc thi hành một kế hoạch thành phần
sẽ dẫn đến kết quả trong một mơ hình tạo lập như là một mơ hình WebML.

d) Trình tự quy tắc tổ hợp vấn đề

Siêu lớp trình tự quy tắc tổ hợp vấn đề được giới thiệu với ngơn ngữ
aspectWebML để chi tiết trình tự tái sử dụng của các quy tắc vấn đề thành phần
được sử dụng trong các kế hoạch thành phần.

e) Trình tự mơđun vấn đề
Mục đích của siêu lớp trình tự mơđun vấn đề tương tự như mục đích
của các trình tự quy tắc tổ hợp vấn đề . Nó được giới thiệu với ngôn ngữ
aspectWebML để xác định trật tự của các tấn đề liên quan trong một tế hoạch
tổ hợp.
g) Kho chứa môđun
Một số siêu lớp đã được đưa ra để cho phép hỗ trợ cơng cụ mơ hình hóa tốt
hơn. Siêu lớp kho chứa môđun chứa tất cả các mơđun vấn đề cũng như các trình tự
mơđun vấn đề đã được định nghĩa trong một dự án sử dụng aspectWebML.

h) Kho chứa quy tắc
Tương tự như siêu lớp kho chứa môđun, siêu lớp kho chứa quy tắc bao
gồm tất cả các quy tắc tổ hợp vấn đề cũng như các trình tự quy tắc tổ hợp vấn
đề được định nghĩa trong một dự án sử dụng aspectWebML.

3.2.3 Gói Tổ hợp vấn đề bất đối xứng
Trong gói tổ hợp vấn đề bất đối xứng, tuy tắc tổ hợp vấn đề được chun mơn
hóa cho việc bao qt cơ chế thành phần bất đối xứng. Tương tự như trong CRM, gói
này cũng được sắp xếp. Ngồi siêu lớp khía cạnh, siêu lớp kho chứa điểm ngắt cũng
được giới thiệu.


15

a) Quy tắc tổ hợp bất đối xứng
Quy tắc thành phần bất đối xứng là một phần chun mơn hóa của quy tắc tổ

hợp vấn đề dành cho cơ chế thành phần bất đối xứng. Siêu lớp quy tắc tổ hợp bất
đối xứng có một tham chiếu đến một điểm ngắt và một mã thực thi thông báo .
Ngược lại với CRM, một siêu lớp riêng biệt cho khái niệm vị trí liên quan của CRM
khơng được cung cấp. Một lần nữa, mục tiêu là không đặt ra cho người lập mơ hình
q nhiều các khái niệm mơ hình hóa mới.

b) Khía cạnh
Siêu lớp khía cạnh được giới thiệu là một lớp con của môđun vấn đề để hỗ
trợ cơ chế thành phần bất đối xứng. Các khía cạnh được sử dụng để chứa đựng một
tập hợp mã thực thi mà nó cùng đóng góp vào một mối vấn đề, một yêu cầu cụ thể
nhất định.

c) Kho chứa điểm ngắt
Để có thể tái sử dụng các điểm ngắt trong một dự án aspectWebML, chúng
không được định nghĩa là các bộ phận của các khía cạnh, nhưng là các bộ phận của
một kho chứa điểm ngắt chung trong dự án. Điều này thậm chí cho phép một số loại
điểm ngắt được kết xuất từ các kho chứa trong các dự án sử dụng aspectWebML
khác.

3.2.4 Gói đối tượng khía cạnh
Gói đối tượng khía cạnh gồm các khái niệm được yêu cầu để xác định nơi áp
dụng mã thực thi. Trong suốt quá trình ứng dụng của CRM đối với ngơn ngữ
WebML, một số khái niệm về gói khơng được đưa vào trong ngôn ngữ
aspectWebML bao gồm điểm nối cấu trức và điểm nối hành vi. Hơn nữa độ chênh
lệch nhất định trong CRM có thể được thấy trong các mơ tả các lớp.

a) Điểm nối


16


Trong aspectWebML, điểm nối một là một nơi được định nghĩa trong một
môđun vấn đề, hay đúng hơn là một khái niệm mơ hình thuộc ngơn ngữ WebML.
Điều này có nghĩa rằng, bất kỳ một trường hợp nào của một phần tử mơ hình hóa từ
ngơn ngữ WebML, hoặc là nó được định nghĩa trong một mơ hình WebML hoặc
một mã thực thi, có thể phục vụ như là một điểm nối tại một số điểm trong kế hoạch
tổ hợp. Ngược lại, một thông báo hay bất cứ khái niệm hướng khía cạnh khác từ
CRM khơng thể phục vụ như là một điểm nối. Điều này được đảm bảo trong
aspectWebML bằng cách cho phép phần tử mơ hình hóa gốc của WebML .

b) Tập hợp điểm nối
Điểm ngắt mô tả một tập hợp các điểm nối được chọn cho các mục đích giới
thiệu sự tăng thêm hoặc hạn chế nhất định. Các siêu lớp điểm ngắt là trừu tượng và
được cụ thể hóa thành siêu lớp điểm ngắt đơn và siêu lớp điểm ngắt phức hợp.
Điều quan trọng, đó là người lập mơ hình xác định các điểm ngắt theo một cách như
là họ có thể được sử dụng cùng với một thông báo trong một quy tắc tổ hợp bất đối
xứng.

c) Điểm ngắt đơn
Trong CRM, khái niệm điểm ngắt đơn đã được định nghĩa để đại diện cho
một tập hợp các điểm nối được lựa chọn theo một phương pháp định lượng nhất
định (xem chương 2). Lưu ý rằng khái niệm phương pháp định lượng đã được đưa
ra như là một siêu thuộc tính trong siêu lớp điểm ngắt đơn thay vì đặt ra cho người
lập mơ hình một siêu lớp riêng biệt như được đề xuất trong CRM. Trong khi mục
tiêu của CRM đã chỉ rõ bằng việc mơ hình hóa tất cả các khái niệm hướng khía
cạnh như những đối tượng lớp, điều này là không cần thiết trong siêu mơ hình
aspectWebML.

d) Điểm ngắt phức hợp
Với mục đích tái sử dụng, người lập mơ hình được phép định nghĩa các điểm

ngắt phức hợp mà chúng bao gồm các điểm ngắt đơn khác và /hoặc các điểm ngắt


17

phức hợp bằng các cơng cụ tốn tử hành lơgic, ví dụ, AND, OR, NOT. Bởi vì, ngơn
ngữ Ecore khơng hỗ trợ các lớp liên kết, nên các toán tử được sử dụng hiện nay
được định nghĩa như là một thuộc tính trong siêu lớp điểm ngắt phức hợp thay vì
lớp liên kết của CRM.

3.2.5 Gói kiểu khía cạnh
Gói kiểu khía cạnh gồm cần có các khái niệm để miêu tả làm sao để tăng
thêm gói mơđun vấn đề khác. So với CRM, trong aspectWebML, thông báo
đơn không khác xa so với thông báo cấu trúc và thông báo hành vi, vì vậy sự phân
biệt đã khơng được hỗ trợ ở ngô ngữ WebML.

a) Mã thực thi
Mã thực thi quy định cụ thể cách thức để tăng thêm hoặc hạn chế các môđun
vấn đề khác tại các điểm nối được kết nối bởi một điểm ngắt. Tương tự như điểm
ngắt của gói đối tượng khía cạnh, thơng báo được cụ thể hóa thành thơng báo đơn
và thơng báo phức hợp.

b) Mã thực thi đơn
Tùy thuộc vào những gì người lập mơ hình mong muốn, có ba cách khác
nhau quy định một thông báo đơn, cụ thể là để "thay đổi" các phần tử mơ hình, các
thuộc tính của chúng, hoặc các tham chiếu của chúng:
-

Các mơ hình ứng dụng Web sẽ được mở rộng với một tập hợp các phẩn
tử mơ hình hóa.


-

Người lập mơ hình muốn thay đổi đặc tính của một phần tử mơ hình hóa,
các thuộc tính biểu hiện của siêu lớp thông báo đơn cần phải được sử
dụng.

-

Cuối cùng, có thể thay đổi các tham chiếu của của một phần tử mơ hình
hóa.

c) Mã thực thi phức hợp


18

Với mục đích tái sử dụng, một thơng báo có thể được thiết lập bao gồm
một tập hợp của thông báo đơn để tạo thành một thông báo phức hợp. Trong
aspectWebML, một thơng báo phức hợp sẽ được giải thích là tổng hợp của các
phần tử mơ hình hóa được quy định cụ thể trong lớp con của nó. Do đó, một
tập hợp các thơng báo đơn, cùng nhau chúng phải được áp dụng cho một điểm
ngắt.

3.2.6 Gói thành phần vấn đề đối xứng
Như đã giải thích trước đây, thành phần vấn đề đối xứng không phải là
trọng tâm của luận án này. Tuy nhiên, hỗ trợ đầy đủ của thành phần vấn đề đối
xứng được lên kế hoạch cho aspectWebML là hướng nghiên cứu thêm trong
tương lai.


CHƯƠNG 4. KẾT LUẬN
4.1. Kết quả đạt được của luận văn


Việc khảo sát mơ hình UWAs đã xuất hiện nhiều điểm yếu trong

phương pháp tiếp cận mơ hình Web hiện tại, cũng như việc xem xét chưa đầy
đủ về bản chất xuyên suốt tùy biến bằng các ngơn ngữ mơ hình Web. Như một
giải pháp cho vấn đề này, luận án có trình bày “AspectWebML – áp dụng
aspectUWA vào WebML” từ mơ hình tham chiếu CRM. Các phương pháp
tiếp cận aspectUWA đề xuất việc sử dụng đầy đủ mơ hình tùy biến tồn diện
cho mơ hình ứng dụng Web, ở tất cả mức độ (nội dụng, siêu văn bản, và trình
bày). AspectUWA đề xuất ý tưởng chung của việc mở rộng bất kỳ ngơn ngữ
mơ hình Web hiện có với mơ hình định hướng khía cạnh (AOM) để tùy chỉnh
chức năng riêng biệt như giảm phức tạp, khả năng bảo trì, cũng như khả năng
tái sử dụng.


Như đã trình bày trong luận văn ứng dụng của CRM là cơ sở của


19

phương pháp tiếp cận aspectUWA bằng AOM, hơn nữa mô hình tùy biến đại
diện cho các điểm mở rộng của phương pháp này. Mặt khác, CRM còn là một
cơ sở để thu được một danh mục các tiêu chuẩn được sử dụng cho việc đánh
giá cấu trúc của phương pháp tiếp cận AOM .


Bên cạnh đó việc cần thiết đưa ra một siêu mô sơ đồ WebML là


điều kiện tiên quyết và do đó, bước đầu đã hướng tới sử dụng các kỹ thuật
MDE trong các phương pháp tiếp cận WebML nói chung. Nó cũng cho phép
khả năng tương tác với các công cụ khác MDE và là một tài liệu tham khảo
cho các ngơn ngữ mơ hình Web phổ biến.

4.2 Hạn chế và hướng nghiên cứu tiếp theo


Các vấn đề hỗ trợ bởi CRM thông qua sự tương tác môđun và các

khái niệm tương tác hiện đang không được xem xét một cách đầy đủ. Điều này
có nghĩa rằng người lập mơ hình khơng thể thấy tương tác giữa các mối quan
tâm trong mơ hình của họ. Tuy nhiên, q trình phát triển một mơ hình định
hướng khía cạnh mà "thành phần" khác nhau để có thể cấu thành một mơ hình
phụ thuộc và tương tác với nhau là rất quan trọng . Đây sẽ là hướng nghiên
cứu trong tương lai, để tìm ra những loại tương tác (ví dụ: phụ thuộc, xung
đột, loại trừ lẫn nhau) liên quan cho ngơn ngữ aspectWebML và do đó cần
phải được hỗ trợ.


Cơ chế thành phần bất đối xứng là mối quan tâm cốt lõi và xuyên

suốt là phù hợp để hỗ trợ mơ hình tùy biến trong việc phát triển UWAs. Tuy
nhiên, các khái niệm cho các thành phần đối xứng phải được tinh chế và ngữ
nghĩa cho các thành phần đối xứng cần được quy định. Và cuối cùng, nghiên
cứu thêm là cần thiết để làm thế nào cả hai loại cơ chế thành phần này có thể
sử dụng song song.



Phát triển một kịch bản tùy biến trong aspectWebML từ đầu là

một nhiệm vụ khó khăn ngay cả đối với lập mơ hình aspectWebML có kinh


20

nghiệm. Vì vậy cơng việc nghiên cứu thêm sẽ bao gồm các phần mở rộng của
các thiết lập hiện có để giúp người lập mơ hình nhanh chóng tiếp thu các
mơ hình mới cũng như hội nhập với q trình phát triển của WebML.


Các ký hiệu được đề xuất trong aspectWebML chưa được

đánh giá.


Chưa có cơng cụ hỗ trợ đi kèm và mơi trường phát triển đồ

họa tích hợp cho ngôn ngữ aspectWebML. Đây cũng là việc cần nghiên
cứu thêm sau này.


Cần mở rộng thêm việc ứng dụng aspectUWA với phương

pháp tiếp cận mơ hình hóa Web khác.


21




×