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
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
Ứng dụng Web lõi
Tùy biến
Bối cảnh
Sự thích ứng
Ánhxạ
Các ứng dụng Web phổ biến
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 nguyên 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.
Để đạ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
Các chức năng
Cấu trúc
hành vi
Đan xen
chức năng
Tùy bi
ến h
ư
ớng khía
cạnh Chức năng n
Chức năng 4
….
….
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.
* 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.
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 soát truy cập (AccessControl)
Gói Kiểm soá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
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ó
,
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
aspectWeb
ML
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
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.
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
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ụ toá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)
để 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 t
hô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 toà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
tâm trong mô hình của họ. Tuy nhiên, quá 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 quá trình phát triển của WebML.
Các ký hiệu được đề xuất trong aspectWebML chưa được