1. Trang chủ
  2. » Luận Văn - Báo Cáo

Cơ sở hình thức và công cụ hỗ trợ cho thao tác mô hình trong phát triển phần mềm hướng mô hình

137 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 137
Dung lượng 5,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TỔNG QUAN KẾT QUẢ NGHIÊN c ứ u 144.1.4 Tích hợp OCL và các tam luật Trong ngữ cảnh siêu mô hình được biểu diễn ở dạng đồ thị kiểu, chúng ta có thể sử dụng các điều kiện OCL như các ràng

Trang 2

DẠI H ỌC Q U Ố C GIA HÀ NỘI

BÁO CÁO T Ỏ N G K Ế T

K Ế T q u ả t h ự c h i ệ n đ ề t à i n g h i ê n c ứ u

C Ấ P ĐẠI HỌ C Q U Ố C GIA HÀ NỘI

Tên để tài: Cơ sở hình thức và công cụ hỗ trợ cho thao tác

mô hình trong phát triển phần mềm hướng mô hình

Mã số để tài: QG.14.06

Chủ nhiệm đề tài: TS Dặng Dức Hạnh

Hà Nội, t h á n g 04 n ă m 20 1 6

Trang 3

MỤC LỤC• o

1.1 Tên đề t à i 3

1.2 M ã số đ ề t à i 3

1.3 D an h sách chủ n hiệm , th à n h viên th a m g i a 3

1.4 Đơn vị chủ trì: 4

1.5 T hời gian th ự c hiện: 4

1.6 N hững th a y đổi so với th u y ế t m inh b an đ ầ u 4

1.7 T ổng kinh p h í được p h ê d u y ệt củ a đề t à i 4

II T Ổ N G Q U A N K Ế T Q U Ả N G H IÊ N c ứ u 4 1 D ặ t vấn đ ề 5

2 M ục t i ê u 7

3 P hư ơng p h á p ng h iên c ứ u 7

4 T ổng kết k ết q u ả nghiên c ứ u 8

4.1 Cơ sở h ìn h th ứ c cho chuyển đổi m ô h ì n h 8

4.2 Đ ảm bảo c h ấ t lượng chuyển đổi m ô h ì n h 18

4.3 N gôn ngữ và công cụ hỗ trợ chuyển đổi m ô h ì n h 20

5 Đ án h giá k ết q u ả đ ạ t được và kết l u ậ n 21

6 Tóm t ắ t k ết q u ả b ằ n g tiến g V iệt và tiến g A n h 22

I I I S Ả N P H Ẩ M , C Ô N G B Ố V À K E T q u ả đ à o t ạ o 23 3.1 K ết q u ả n g h iên c ứ u 23

Trang 4

ii MỤC L ự c

3.2 H ìn h th ứ c, c ấ p độ công b ố kết q u ả 233.3 K ế t q u ả đ ào t ạ o 253.4 S ản p h ẩ m k h á c 25

Trang 6

DANH SÁCH HÌNH VẼ

1 V í d ụ đồ th ị có hướng, được gán n h ã n và cấu x ạ đ ồ t h ị 9

2 T am đ ề th ị biểu diễn m ô h ìn h tích hợp S C 2 E H A 9

3 M ột ta m lu ậ t cho chuyển đổi m ô h ìn h S C 2 E H A 11

4 M ô h ìn h đối tư ợ n g được biểu diễn ở d ạ n g biểu đồ lớ p 12

5 S n a p sh o t được b iểu diễu trự c q u a n ở d ạ n g biểu đồ đối tư ợ n g 12

6 T h e sim plified m e ta m o d e l for s ta te c h a rt m o d els 13

7 Bước chuyển đổi được th ự c hiện bởi lu ậ t chuyển đ ổ i t i ế n 16

8 T h a m số (tầu vào củ a các lu ậ t chuyển d ẫ n x u ấ t 17

9 S inh tự động các th a o tá c O C L từ đặc t ả chuyển đổi vói R T L 20

iv

Trang 7

nh ó m n g h iên cứ u đ ạ t đ ư ợ c tr o n g q u á trìn h th ự c hiệu đồ tà i P h ầ n IV tổ n g hợp kết

q u ả các sả n p h ẩ m K H & C N v à đào tạ o củ a đề tà i P h ầ n V báo cáo về tìn h hình sử

d ụ n g k in h p h í c ủ a đ ề tà i C u ố i cùng, P h ầ n V I trìn h b ày các kiến nghị B ên c ạ n h tà i liệu báo cáo này là các m in h chứ ng sả n p hẩm do nhóưi nghiên cứ u th ự c hiện được

Trang 9

B ản g s a u liệt kê các th à n h viên chính th a m gia th ự c hiện đề tài.

(*) Chức danh thực hiện dề tài.

N goài ra , n h ó m n g h iên cứu còn n h ậ n được sự hỗ trợ củ a các chuyên gia đ ến từ

A G D B /U n i-B re m e n (C H L B Đức) v à A tla n m o d /IN R IA (CH P h á p ) Dề tà i c,ó th ể

k h ố n g h o à n th à n h n ếu th iế u sự hỗ trợ tíc h cực từ các chuyên gia này

3

Trang 10

4 THÕNG TIN CHUNG VỀ DỀ TÀI

Trường Đ ại học C ông nghệ, Đ ại học Q uốc gia H à Nội - N h à E3, 144 X u ân T huỷ,

C ầu Giấy, H à Nội

• T h eo hợp đồng: từ th á n g 04 năm 2014 đến th á n g 04 n ă m 2016

• T h ự c hiện th ự c tế: từ th á n g 04 n ă m 2014 đến th á n g 04 n ă m 2016

T rong q u á tr ìn h th ự c hiện, đề tà i có th a y đồi về th à n h viên tlia m gia: Bổ sung

T hS N guyễn V iệt T â n và CN Lê K h á n h T rìn h cùng 02 học viên cao học R ú t các

th à n h viên T S Tồ V ăn K h á n h và T hS Vũ Q u an g D ũng

Tống kinh p h í được p h ê d u y ệt c ủ a đề tà i là 200 triệ u đồ n g (h a i tr ă m triệ u đồng)

Trang 11

Cơ sở hình thức và công cụ

hỗ trự cho thao tác mô hình trong phát triển phần mềm hướng mô hình

N gày nay, p h á t triể n p h ầ n m ềm hướng m ô h ìn h đ an g nổi lên n h ư là m ộ t giải p h áp

h ữ u h iệu n h ằ m tă n g tín h tự động hóa q u á trìn h p h á t triể n p h ầ n m ềm và n â n g cao

c h ấ t lượng, g iảm chi p h í sả n p h ẩm T ư tư ỏ n g cốt lõi củ a lược đồ là lấy m ô h ìn h làm tr u n g tâ m [G SC + 04] Q u á trìn h p h á t triể n được th ự c h iện th e o hai h o ạ t dộng

ch ín h [Fra07]: biểu d iễn m ô h ìn h [3] và th a o tá c m ô h ìn h , đ ặc b iệt là chuyển đổi mô

h ìn h (m odel tra n s fo rm a tio n ) và sinh m ã tự động (code g en e ratio n ) C huyển đổi mô

h ìn h đ ư ợ c sử d ụ n g tro n g các tìn h huống khác n h a u với m ục đích ( 1) tíc h hợp các

k h u n g n h ìn k h á c n h a u về hệ th ố n g , (2) p h ản á n h m ô h ìn h từ m ộ t m iền đ ặ c t ả khác

n h ằ m n â n g cao k h ả n ă n g p h â n tíc h m ô hình, h ay (3) tìm m ối liên hệ v à sự tương ứng g iữ a các m ô h ìn h tro n g các ngôn ngữ k h ác n h au T rong n h ữ n g trư ờ n g hợp đó, việc b iểu diễn ch ín h x á c các m ô h ình và đ ảm b ảo tín h đ ú n g đ ắ n cho các chuyển đổi

m ô h ìn h là r ấ t cần th iế t T u y nhiên, đây cũng là m ộ t th á c h th ứ c vì tín h đ a d ạn g

c ủ a m ô h ìn h v à chuyển đổi m ô h ình [Fra07]

Đ ể hiện th ự c h ó a chuyển đổi m ô h ình m ộ t cách chính xác đòi hỏi m ộ t cơ sở hình

th ứ c c h ặ t chẽ về m ặ t to á n học và được xem x é t th eo các k h ía c ạ n h sau: (1) Biểu

d iễn m ô hình v à m ô t ả các chuyển đối m ô hình; (2) T h ự c th i các chuyển đổi mô

h ìn h : t ừ mô h ìn h sa n g m ô h ình, từ đặc t ả v ăn b ản san g m ô h ìn h và từ mô h ình san g văn b ản , tro n g đó sin h m ã nguồn là d ạ n g chuyển đổi đ ặc b iệt M ộ t số tiếp

c ậ n đ ể biểu d iễn v à chuyển đổi mô hình đ ã được đ ề x u ấ t [MG06], chẳng h ạ n n h ư

x ây d ự n g và h iện th ự c h ó a ch u ẩ n Q V T [OMG07] cho chuyển đổi m ô h ình, đề x u ấ t các ngôn ngữ chuyển A TL [JABK08]; (3) Vận d ụ n g văn p h ạ m đồ th ị và chuyển đồ

th ị [LLC08, V P03] V ăn p h ạ m ta m đồ th ị (T riple G ra p h G ra m m a rs - T G G s) [Sch95]

đư ợc đ ề x u ấ t n h ư là m ộ t cách tiế p cận tương tự cho chuyển đổi hai chiều Song song

5

Trang 12

TỔNG QUAN K Ế T QUẢ NGHIỀN c ứ u 6

với việc đề x u ấ t các kỹ th u ậ t đặc t ả và th ự c hiện chuyển đổi, m ộ t s ố 'b à i báo tậ p tru n g th ả o lu ận làm th ế nào để đ ảm b ảo tín h chính xác c ủ a chuyển đổi m ô hình

T rong [CCGL10] các tá c giả giới th iệ u m ộ t phương p h áp để lấy được b ấ t biến biểu diễn bằn g ngôn ngữ rà n g buộc đối tư ợ n g O C L (O b ject C o n stra in t L anguague) từ các m ô t ả kh ai b áo chuyển đổi dạn g T G G s và Q V T với m ục đích p h â n tíc h và kiểm chứng th a o tá c chuyển đổi m ô hình N hóm nghiên cứu tro n g [LZG05] tậ p tru n g x ây dựng khung công việc để kiểm ng h iệm các chuyển đổi m ô hình T uy nhiên, th eo hiểu b iết tố t n h ấ t c ủ a chúng tôi, đ ến nay việc đề x u ấ t m ộ t tiế p cậ n p h ù hợp cho chuyển đổi m ô h ìn h và đ ảm bảo c h ấ t lượng chuyển đổi vẫn đ a n g là “chủ đề nó n g ” tro n g công nghiệp v à cộng đồng ng h iên cứu

ở p h ạm vi tro n g nước, th eo k hảo s á t củ a chúng tôi, đây là hướng nghiên cứu

k h á mới mẻ, chủ yếu được th ự c hiện t ạ i Bộ m ôn C N PM , T rườ ng Đ H C N , Đ H Q G H N Liên q u an trự c tiế p đến hưổng nghiên cứu củ a đề tà i - K ỹ th u ậ t hướng mô hình (M odel-D riven E ngineering - M D E) là m ộ t số hướng nghiên cứu sau: (1) Hướng kiểm

th ử p h ầ n m ềm d ự a trê n m ô h ìn h đ ã và đ an g được th ự c hiện ở các n h ó m nghiên cứu tạ i Trường Đ H C N , Đ H Q G H N , tạ i T rường Đ H B K H N , tạ i T rườ ng Đ H B K H C M

và tạ i V iện C N T T ; (2) H ướng nghiên cứu m ô h ìn h chuyên b iệ t m iền được th ự c hiện th eo dự án phối hợp 1 giữa V N Ư -U E T , V N U -IF I, ĐH K yoto c ủ a N h ậ t và V iện

L A A S /C N R S c ủ a P h á p

Để đ áp ứng yêu cầu cấp th iế t về cơ sở hình thứ c cho ngôn ngữ chuyển, đ ề tà i tậ p tru n g vào hướng tiế p cận tro n g dó các m ô h ìn h được biểu diễn bởi các siêu mô hình

ở d ạn g các đồ th ị C huyển đổi mô h ìn h sẽ được hiện th ự c h ó a th ô n g q u a các chuyển

đồ th ị T rong tiế p cận củ a chúng tôi, các ràn g buộc OCL sẽ được tích hợp vào các

lu ật chuyển đồ th ị để tă n g k h ả năn g d iễn đ ạ t củ a chuyển T rên cơ sở h ìn h th ứ c đó, chúng tôi đề x u ấ t ngôn ngữ R TL (R e stric te d G rap h T ra n sfo rm atio n L anguage) để biểu diễn và chuyển đổi m ồ hình T iế p đó, chúng tôi tậ p tru n g đề x u ấ t các kỹ th u ậ t đảm bảo c h ấ t lượng chuyển đổi m ô h ìn h d ự a trẽ n đặc t ả và th ự c th i chuyển bằn g ngõn ngữ RTL: C h ấ t lượng th a o tá c m ô hình sẽ được xem x é t với các g iả đ ịn h ở

d ạng O C L tư ơ n g ứng với các tín h c h ấ t củ a m ô hình, các b ấ t biến củ a chuyển, tín h chuẩn tắ c củ a m ô hình, tiề n và h ậ u điều kiện củ a các phép to á n chuyển Đồng thời,

m ột số kỹ th u ậ t hỗ trợ kiểm th ử các chuyển đổi mô hình cũng đ ã được đ ề x u ấ t

Trang 13

Đề tà i hư ớng đ ế n các m ục tiêu sau:

X ã y d ự n g c ơ s ở h ì n h t h ứ c c h o c á c c h u y ể n đ ổ i m ô h ì n h C h ú n g tõi t ậ p tru n g vào cá c v ấn đề sau: (1) T ổng hợp các tìn h huống th a o tá c m ô h ìn h tro n g q u á trìn h p h á t triể n p h ầ n m ềm , (2) Mô t ả ngữ n g h ĩa củ a các chuyển đổi m ồ h ình tro n g cá c tìn h hu ố n g cụ th ể đó G iải p h á p m à ch úng tôi đ ư a r a sẽ d ự a vào

p hư ơ ng p h á p chuyển đồ th ị và phư ơng p h á p biểu diễn m ô h ìn h với siêu mô hình D ự a vào cơ sở h ìn h th ứ c đ ã được x ác đ ịn h , chúng tô i tậ p tru n g đ ề x u ấ t ngôn n g ữ m ô t ả chuyển đổi m ô hình

Đ ả m b ả o c h ấ t lư ợ n g c h u y ể n đ ổ i m ô h ì n h C h ú n g tô i tậ p tru n g vào các phương

p h á p đ ả m b ảo tín h đ ú n g đ ắ n của các chuyển đổi m ô hình M ục đích chính là

đ ể t h iế t lậ p m ôi trư ờ n g cho h o ạ t động đ ặ c tả , th ự c th i và đ ảm b ảo c h ấ t lượng chuyển đ ổ i m ô hình

X â y d ự n g c õ n g c ụ h ỗ trỢ c h u y ể n đ ổ i m ô h ì n h C h ú n g tôi tậ p tru n g p h á t triể n

b ộ cô n g cụ hỗ trợ đ ặc t ả và th ự c th i các chuyển đổi m ô h ình, cũ n g n h ư đ ảm bảo t í n h đ ú n g đ ắ n c ủ a chúng

Đề tà i được th ự c hiện th e o m ộ t số luận điểm sau:

• Đ ề tà i sẽ tậ p tru n g x ây dự ng các case s tu d y về chuyển đổi m ô h ình, từ đó đề

x u ấ t p h ư ơ n g p h á p giải q u y ết, công cụ hỗ trợ , v à th ự c hiện các đ á n h giá th ử

ng h iệm tr ê n công cụ

• Đề tà i sử d ụ n g cả phư ơ ng p h á p h ình th ứ c và th ự c nghiệm để r ú t ra k ết luận

v à so s á n h k ết q u ả đ ạ t được

• Đ ề tà i t ậ p tru n g p h á t triể n cơ sỏ h ìn h th ứ c c h ặ t chẽ cho th a o tá c mô h ìn h , do

đó c u n g c ấ p ng ữ n g h ĩa chính xác cho h o ạ t đ ộ n g này Đ ây là cơ sỏ để tự động

h ó a và đ ả m b ảo c h ấ t lượng cho th a o tá c m ô hình N gôn ngữ m ô t ả chuyển đổi

m ô h ìn h đư ợc đề x u ấ t tro n g đề tà i m ộ t m ặ t cho p h ép người p h á t triể n biểu diễn c á c chuyển đổi m ô h ình, m ặ t khác, mở r a k h ả n ă n g tích hợp các công cụ với n h a u đ ể tă n g tín h hiệu q u ả tro n g chuyển đổi m ô hình

Trang 14

TỎNG QUAN K Ế T QUẢ NGHIÊN c ứ u 8

Đề tà i đ ã đ ạ t được các k ết q u ả chính sau: (1) D ư a r a được cơ sở h ìn h th ứ c cho chuyển đổi m ô h ìn h [DG16, TH D V 16] (2) Đề x u ấ t m ộ t số kỹ th u ậ t hỗ tr ợ đ ả m bảo c h ấ t lượng chuyển đổi m ô h ìn h [DG16,DC15] (3) X ác đ ịn h n g ô n ngữ đ ặ c t ả v à xây d ự n g công cụ hỗ trợ th ự c th i v à đ ảm bảo c h ấ t lượng chuyển đổi m ô h ìn h [N D 14,D G 16]

S au đây là p h ầ n diễn giải các kết quả đ ạ t được c ủ a đề tà i

C húng tô i t ậ p tru n g vào tiế p cận hướng m ô h ình tro n g đ ó các m ô h ìn h được x ác

đ ịn h bởi các siêu m ô h ìn h (m etam odel) và chuyển đổi m ô h ìn h đ ư ợ c h iệ n th ự c h ó a

th ô n g q u a các chuyển đồ th ị, ở đây các mô h ìn h và siêu m ô h ìn h đ ư ợ c x e m là các đồ

th ị T rong tiếp c ậ n củ a chúng tôi, các ràng buộc O C L (O b je c t C o n s tr a in t L anguage)

sẽ được tích hợp vào các lu ậ t chuyển đồ th ị để tă n g k h ả n ă n g d iễ n đ ạ t c ủ a chúng

4.1.1 Tổng quan về chuyển đồ thị

Đ ị n h n g h ĩ a 1 (Đ ồ th ị v à cấu x ạ) Cho m ộ t tập các n h ã n L M ộ t đồ th ị có hướng

f v ° t G = t H ° Ỉ E

-H ình 1 biểu d iễn các đồ th ị có hướng và được gán n h ã n G a n d -H , cù n g với cấu

x ạ đồ th ị G —> H Sự tư ơ n g ứng của cấu x ạ được biểu d iễ n bởi các đường n é t đ ứ t giữa các d ỉn h v à các cạ n h củ a G và H

Trang 15

rỗng n ế u S G , C G , và T G là rỗng M ộ t cấu xạ ta m đồ thị m — (s , c, t ) : G —> H giữa hai ta m đồ th ị G = (S G ^ CG H T G ) và H = ( S H & C H % T H ) bao gồm ba cấu xạ đồ thị s : S G —> S H , c : CG —> C H và t : T G —> T H sao cho s o SG = SfỊ o c

và t o t G = t}ỉ o c.

H ìn h 2: T am đồ th ị biểu diễn m ô h ìn h tích hợp SC 2EH A

H ìn h 2 b iểu d iễ n m ộ t ta m đồ th ị bao gồm m ộ t biểu đồ trạ n g th á i (sta te c h a rt)cùng cá c n ố t k ế t nố i trỏ đến m ột m áy tr ạ n g th á i p h â n cấp m ở rộng (E x ten d ed

H ierarc h ic al A u to m a ta - EH A) T am đồ th ị n ày biểu diễn m ột tr ạ n g th á i chuyển đổi S C 2 E H A n h ư đư ợc giới th iệu chi tiế t tro n g [DG16]

gồm các ta m dồ th ị L và R và m ộ t cấu xạ đơn ánh tr

Trang 16

TỔNG QUAN K Ế T QUẢ NGHIỀN c ứ u 10

sin h ra m ộ t ta m đồ thị H bao gồm các bước sau:

(s m , cm , t m ) : L —> G, được gọi là ta m tương ứng (triple m atch).

• G ắn đồ thị G với R dựa vào sự xuất hiện của L trong G sao cho các đỉnh và cạnh xu ấ t hiện trong R nhung không thuộc L sẽ được th ê m vào G , tạo ra tam

đồ th ị z M ột cách chính xác chúng ta có m ( L n R ) = G n z ơ dẫy chúng ta

nghĩa là tấ t các cạnh bị xóa đỉnh Bước n à y tạo ra ta m đồ th ị H M ộ t cách chính xác chúng ta có H = z \ m ( L )

• Bước gắn đồ th ị cho phép xác dịnh cấu xạ com atch n = (sn , cn, trì), trong đó

gồm m ộ t ta m đồ thị kiểu và m ộ t hàm tương ứng các ta m đồ thị được dinh kiểu với

ta m đồ th ị kiêu đó s là đồ th ị khởi đầu, và T R = { t r i , t r 2 , ,, t r n } là m ộ t tập các

ta m luật N gôn ngữ tam đồ thị của T G G là tập {G I G được định kiểu bởi T G A 3

H ình 3 biểu diễn m ộ t ta m lu ậ t c ủ a m ộ t văn p h ạm ta m đồ th ị cho q u a n hệ chuyển đổi giữ a các biểu đồ trạ n g th á i (sta te c h a rt) và các m ô h ìn h E H A tư ơ ng ứng

M ột ta m đồ th ị tích hợp như vậy thư ờ ng được xác định bởi các ta m d ầ n x u ấ t

C ác ta m lu ậ t d ẫ n x u ấ t được định ngh ĩa dưới đ ây sẽ cho p hép chúng t a lấy các đồ

th ị tư ơ ng ứng với m ô hình nguồn (đích, hoặc c ả hai) làm đ ầ u vào để th u được các

ta m đồ th ị tích hợp C ách áp dụ n g các ta m lu ậ t diễn x u ấ t sẽ được trìn h bày chi tiế t tro n g M ục 4.1.5

Trang 17

-ỉ í2t:ĩC 2 E H A 1- -1 th v fH A 1

Civ irC o n c u rr - name

1 s J v S U A l.l

Ị-1UI n UIH iner icon!

4.1.2 Lược đồ hướng đối tượng và ngôn ngữ ràng buộc đối tưựng OCL

N gôn n g ữ rà n g b u ộ c đối tư ợ ng O C L (O b je c t C o n stra in t L anguage) [WK98] là m ột ngôn n g ữ d ù n g để diễn đ ạ t các ràn g b uộc cho các m ô h ìn h UM L: ( 1) C ác biểu

th ứ c O C L gồm các điều kiện và các tr u y vấn thư ờng k hông làm th a y đổi trạn g

th á i hệ th ố n g (2) N gôn ngữ O C L là ngôn ngữ định kiểu Hộ th ố n g kiểu củ a OCL bao gồm các k iểu cơ b ả n ( I n t e g e r , R e a l , S t r i n g , an d B o o le a n ), các kiểu đối tượng, kiểu co llection ( C o l l e c t i o n ( t ) , S e t ( t ) , B a g ( t ) , v à S e q u e n c e ( t ) ) , và kiểu th ô n g điệp (3) N gôn ngữ O C L th ư ờ n g được sử d ụ n g cho các m ục đích sau:

Trang 18

TỔNG QUAN KẾT QUẢ NGHIỀN c ứ u 12

• Được dùng n h ư là m ộ t ngôn ngữ tr u y vấn để th ự c hiện các tru y vấn lên tr ạ n g

th á i hiện th ờ i củ a hệ th ố n g hoặc đ ể m ô t ả các điều kiện can h cho các biểu đ ồ trạ n g tháị

C ác biểu th ứ c O C L được p h á t triể n trê n cơ sở m ô h ìn h đối tượng H ìn h 4 b iểu diễn trự c q u a n m ô hình đối tượng ở d ạ n g biểu đồ lớp UM L M ục đích là cho p h é p chúng t a diễn đ ạ t các g iá trị th u ộ c tín h và các điều kiện logic lên cấu trú c được x ác

đ ịn h bởi m ô hình đối tư ợng cho trư ớ c M ột cách chính xác, cấu trú c m ô h ìn h đối

tư ợ n g được mở rộ n g bởi m ột đ ại số O C L [Ric02]

Object diagram : n* Kf m

ada:Customer nam ếA dá

Start«<#>marchl5

fin ish= #> m a rch l7

re tu r n - i> m a y l9

p ic k e d U p -tru e

H ình 5: S n ap sh o t được biểu d iễn trự c q u a n ở d ạng biểu đồ đối tư ợ ng

M ột m inh h ọ a củ a m ộ t m ô hình đối tượng sẽ tư ơ ng ứ ng với m ột trạ n g th á i c ủ a

hệ th ố n g và dược gọi là m ột sn a p sh o t H ình 5 biểu diễn trự c q uan m ộ t s n a p sh o t

ở d ạn g biểu đồ đối tư ợng UML S n ap sh o t này là m ộ t m in h họa của m ô hình đối

tư ợng biểu diễn tro n g Hình 4 T rong [DG16], chúng tôi đ ã đ ư a ra m ộ t đ ịn h n g h ĩa chính xác về các khái niệm mô hình đối tượng và sn ap sh o t

4.1.3 M ô hình và siêu mô hình

M ô hình là sự biểu diễn ở m ột dạn g n ào đó cho m ộ t chủ th ể ở cùng d ạ n g biểu diễn

h o ặc ở m ộ t dạn g biểu diễn khác Mô h ìn h n ắm b ắ t các k h ía cạnh q u a n trọ n g c ủ a

Trang 19

chủ th ể từ m ộ t góc n h ìn nào đó và dơn g iản hóa h oặc bỏ q u a các kh ía cạnh còn lại [R JB 04] C h ú n g tôi tậ p tru n g vào d ạ n g biểu diễn sử d ụ n g ngôn ngữ m ô hình hóa

được đ ịn h n g h ĩa bởi các siêu m ô hình (m etam odels).

Đ ị n h n g h ĩ a 5 (Siêu m ô h ìn h ) S iêu m ô hình (rnetam odel) là cấu trúc M M = (Á 4, W F C ), trong đó M là m ô hình đối tượng và W F C là tập các điều kiện OCL, được gọi là các điều kiện chuan tắc (w ell-form edness), tương ứng vói đại số O CL

m ở rộng từ m ô h ìn h đối tượng M

H ìn h 6 : T h e sim plified m etam o d el for s ta te c h a r t m odels

H ìn h 6 b iểu d iễn siêu m ô h ìn h d ạ n g sơ lược cho các b iểu đồ trạ n g th á i Đồ th ị

tư ơ n g ứng với siêu m ô h ìn h này được gọi là đồ th ị kiểu M ô h ìn h đối tư ợ ng M bao gồm 4 lớp (S ta te c h a rt, S ta te, T ransition, và E v e n t) và 5 q u a n hệ k ết hợp Đ iều kiện

ch u ẩ n tắ c W F C bao gồm b ấ t biến o w n s C h ild S ta te , “M ọ i trạng thái con của trạng thái phứ c hợp đều p h ả i cùng m ộ t biểu đồ trạng thái với trạng thái ch a ”.

Hình 6 biểu diễn một mô hình tu ân th ủ siêu mô hình statechart Đồ thị tương ứng với

mô hình này được gọi là đồ thị được định kiểu Mô hĩnh có th ể được biểu diễn ở các dạng khác nhau tương ứng với cú pháp trừ u tượng hoặc cụ thể

Trang 20

TỔNG QUAN KẾT QUẢ NGHIÊN c ứ u 14

4.1.4 Tích hợp OCL và các tam luật

Trong ngữ cảnh siêu mô hình được biểu diễn ở dạng đồ thị kiểu, chúng ta có thể sử dụng các điều kiện OCL như các ràng buộc cho các tam luật để tăng khả năng diễn đ ạ t của chúng Chẳng hạn, vối tam luật biểu diễn trong Hình 2, chúng ta có thể gắn vào tiền điều

kiện cps.isC oncurr = fa ls e và hậu điều kiện s.nam e <> null A a u tl.n a m e <> null,

Đ ịn h n g h ĩa 7 (Diều kiện áp dụng OCL) Các điều kiện áp dụng OCL (BAC s2) của một tam luật bao gồm các điều kiện OCL trong các phần nguồn, kết nối và đích của tam luật

đó B A C s trong các vế trái (LHS) và vế phải (RH S) tương ứng là các tiền và hậu điều kiện của tam luật:

• BACpre = B A C s l u B A C c l u B A C t l ,

• BACpost = B A C s r u B A C c r u D A C t r , và

• B A C = [BACpre, B A C post] ì

trong đó B A C Xy với x y e {‘S I /, ‘S R r, ‘C Ư , lC R ', ‘T Ư , ‘T R '} là các BAC s tương ứng thuộc

vế trái và vế phải của các phần nguồn, kết nối và đích của tam luật; BACpre và BACpost tương ứng là các tiền và hậu điều kiện.

Đ ịn h n g h ĩa 8 (Thỏa m ãn điều kiện áp dụng) Một tam luật với các ràng buộc B A C s là

bộ tr = ( L ,R ,B A C ) , trong đó D A C là các điều kiện áp dụng OCL Một tam đồ thị H được dẫn xuất từ tam đồ thị G bởi tam luật tr = (L, R , B A C ) và tam tương ứng m khi và chỉ khi:

• H được dẫn xuất bởi (L —> R , m ) và

• B A C được thỏa m ãn với áp dụng luật G => H ,

trong đó r : L —> R là luật chuyển thu được bằng cách xem các tam đồ thị vế trái và vế phải của tam luật tr là các đồ thị đơn.

Đ ịn h n g h ĩa 9 (Ràng buộc lên các tam luật dần xuất) Cho trước m ột tam luật tr Tiền điều kiện cùa các tam luật dẫn xuất được định nghĩa như sau:

Trang 21

• B A C ịy với x y € {‘S Ư , lS R ', ‘C L ', ‘C R ',lT Ư , lT R '} tương ứng là các DACs trong

vế trái và phải của các phần nguồn, kết nối, và đích của tam luật tr, và

• BACỵ~R t, B A C (ỊR t, và BAC j^Rt tương ứng là các B A C s không chứa các điều kiện

sử dụng ‘@pre’ trong S R , C R , và T R

4.1.5 Chuyển đổi mô hình

Mục đích của văn phạm tam đồ thị là để đơn giãn hóa việc mô tả các chuyển đổi phức tạp Các tương ứng cấu trúc trong các tam luật cho phép chúng ta liên kết các phần nguồn, kết nối và đích trong các ta m dần xuất Do đó, khi m ột dẫn x u ất đơn cho mô hình nguồn

(đích hoặc cả hai) cho trước, chúng ta có thể xác định được cấc dẫn x u ất còn lại để thu

được tam dẫn x u ất tương ứng Theo đó, các kịch bản chuyển đổi mô hình của các tam luật được xác định

Cho trước văn phạm tam đồ thị được tích hợp OCL TG G — ( T G , s , TR) Gọi VL là ngôn ngữ của TGG, và VLS, VLC, VLị tương ứng là các ngôn ngữ nguồn, kết nối và đích

th u được bằng việc chiếu tương ứng lên các phần nguồn, kết nối và đích của VL.

Đ ịn h n g h ĩa 10 (Chuyển đổi tiến) Cho trước m ột đồ thị G s Ễ VLS M ột chuyển đổi tiến

từ G s sang G t là m ột tính toán để xác định đồ thị G'r € VLt thông qua tam dẫn xuất

s 4 > (Gs *- Gc -t Gt).

s 4> (G s <- G c -> G t ).

s => (G s <— G c —> G t

)-Đ ịn h n g h ĩa 13 ()-Đồng tiến hóa mô hình) Cho trước đồ thị E s € VLS và E r £ VLị

tam dẫn xuất (E s <r~ E c —> E r ) => (F s F c -» F t

Trang 22

)-TỔNG QUAN K Ế T QUẢ NGHIÊN cứu 16

Đ ịn h lý 1 (Cấc luật tam dẫn x u ất cho chuyển đổi mô hình) Cho trước văn phạm tam

khi các điều kiện sau được thỏa mãn.

(i) (G s <r~ S c S t ) ír==>11 • • • trŨ ^ n (G s <- G c -> G t ), trong đó TTii = (srrii, crrii, tTĩiị)

là các tam tương ứng.

(ũ ) Vĩ > 0 ,0 < j < i, s n j(S R trj \ SLtrj) n sn i(S R tri \ SLtTị) = 0, trong đó (,sriị, crii, tĩii)

là comatch của Tĩiị.

Chứng minh G iả sử tại bước th ứ i của dẫn xuất ở điều kiện (ĩ), chúng ta xác định được

G i c G i + X c G s v à G i = (G ị ^ ^ _ị G i ^ tri+± m i+l G i+ 1 = ( G ^+ 1

Do đó theo nguyên lý quy nạp, chúng ta có s = (S s <— S c —> S r ) É= £ l ír= 5 n Qn =

Với các chuyển đổi lùi và tích hợp chúng ta thu được kết quả tương tự ơ đây, điều kiện (ii) trong Định lý 1 được p h át biểu như sau

(Gs ^ S c - > GT)trà £ l tr^ " (Gs <- Gc Gr)

H ìn h 7: B ước chuyển đổi được th ự c hiện bởi lu ậ t chuyển đổi tiến , d ẫn x u ấ t từ lu ậ t biểu diễn tro n g H ình 3

H ình 7 b iểu diễn m ộ t bước chuyển đổi tiế n từ biểu đồ tr ạ n g th á i sang mô hình

E H A L u ậ t chuyển đổi tiến này được d ầ n x u ấ t từ ta m lu ậ t biểu diễn tro n g H ình 3

Trang 23

4.1.6 M ô hình OCL cho chuyên đổi mô hình

C h ú n g tô i đề x u ấ t [DG16, ND14] sử d ụ n g m ô h ìn h O C L để p h ả n ánh q u á trìn h chuyển đổi m ô h ìn h d ự a vào ta m đồ thị C ụ th ể , các kịch b ản chuyển đổi được d ẫn

x u ấ t t ừ cá c ta m lu ậ t sẽ được hiện th ự c h ó a b ằ n g các phép to á n O CL, h ìn h th à n h

m ộ t k h u n g công việc d ự a vào O C L cho chuyển đổi m ô hình K hung công việc này cho p h é p chúng tô i xác đ ịn h được các p h é p to á n cho đồng bộ hóa m ô hình

xem là m ộ t dạn g h à n h vi m ô hình, tư ơ ng ứng với các th a o tá c (o p eratio n s) N ghĩa

là, m ỗi kịch b ản chuyển đổi sẽ được án h x ạ tớ i m ộ t th a o tác C ác th a o tá c n ày tiếp

đó sẽ đ ư ợ c hiện th ự c h ó a th e o hai cách: (1) Sử d ụ n g các cam kết ở d ạng k h ai báo, gồm m ộ t cặ p tiề n và h ậ u đ iều kiện O C L cho m ỗi th a o tác; (2) Sử dụng chuỗi lệnh

O C L đ ể hiện th ự c h ó a các th a o tác

Operational Scenarios Input/Com puting

M odel C o-E v o lu tion I I I

u I u

H ình 8 : T h a m số đ ầu vào c ủ a các lu ậ t chuyển d ẫn x u ấ t

C ác thao tác chuyển đổi OCL H ình 8 m in h h ọ a th a m số đ ầu vào cho các th a o

P h ầ n cò n lại tư ơ ng ứng với các đối tư ợ ng được tạ o m ói bởi ph ép to á n chuyển

4.1.7 Tình huống chuyên đổi sang hệ thống kiểu

Để ước lược được ngưỡng tà i nguyên sử d ụ n g c ủ a các chương đ a tiế n trìn h lồng

n h a u , ch ú n g tôi đề x u ấ t [THDV16] chuyển các chương trìn h được diễn đ ạ t bởi

T ra n sa c tio n a l F eath erw eig h t Ja v a về d ạ n g biểu d iễn tư ơ ng ứng với hệ th ố n g kiểu mới H ệ th ố n g kiểu n à y được chúng tôi đề x u ấ t cho m ục đích đ á n h giá tà i nguyên

sử d ụ n g H ướng n g h iên cứu này d ã cung cấ p m ộ t tìn h huống chuyển đổi m ô hình

ừ A ỉ H O C Q U Ố C G IA HÀ NỘI [R U N G TAM ÍH Ô N G TIN THƯ VIỆN

Trang 24

TỔNG QUAN K Ế T QUẢ NGHIÊN c ứ u 18

mới, đ ặ t r a các yêu cầu mới cho k h ung chuyển đổi m ô h ìn h đư ợ c đề x u ấ t, chẳng hạn, vấn đề đ ả m b ảo th u ộ c tín h ngữ n g h ĩa tro n g q u á trìn h chuyển đổi m ô hình

T rong p h ầ n này chúng tô i trìn h bày các kỹ th u ậ t đ ảm bảo c h ấ t lượng chuyển đổi

mô h ìn h được cu n g cấp bởi khung chuyển đổi m ô h ìn h d ự a vào O C L được đề x u ấ t

4.2.1 Kiểm chứng chuyển đổi mô hình

B ài to á n kiểm chứng chuyển đổi mô h ìn h được p h á t biểu m ộ t cách chính xác như

mô hình n g u ồ n và đích; T G T S — ( T G , s , T R ) là m ộ t văn p h ạ m ta m đ ồ th ị T G G kết nối các m ô h ìn h nguồn và đích với n h au Với m ỗi mô h ìn h nguồn đ ầ u vào M s,

các th a o tá c chuyển tiến (forw ard o p eratio n s) cho p h ép ch ú n g t a xác đ ịn h m ô hình

việc kiểm chứng cho các kịch b ả n chuyển lùi, chuyển tiến h ó a h ay chuyển tích hợo

có th ể đ ạ t được m ộ t cách tương tự so với kịch b ả n chuyển tiến

K i ể m t r a c á c b ấ t b iế n c h u y ể n đ ổ i C ác ta m lu ậ t đ ó n g vai trò là các khuôn

m ẫu th iế t lập các tư ơng ứng giữ a mô h ìn h nguồn và đích D o đó, m ột chuyển đổi

là đú n g đ ắ n chỉ khi các tương ứng đó tu â n th ủ với các ta m lu ậ t C h ẳn g hạn, với

lu ậ t chuyển n h ư tro n g Hình 3, sự tư ơng ứng giữa m ô hình n g u ồ n và đích tu â n th ủ

lu ậ t chuyển chỉ khi nó chứa đự ng 11 đối tư ợ ng và 14 liên kết Đ ể d u y tr ì các vết cho các tư ơ n g ứng đó, chúng tô i đề x u ấ t th êm vào p h ần k ế t nối củ a m ỗi ta m lu ậ t (connection p a r t) m ột n ố t mới để liên kết với các n ố t đố i tư ợ n g liên q u an T heo cách đó ch ú n g t a có th ể diễn đ ạ t m ẫu củ a lu ậ t chuyển b ằ n g m ộ t điều kiện OCL

C hẳng h ạn , b ấ t b iến O C L sau tương ứ ng với lu ậ t chuyển C o m p S ta t e N e s t được chỉ

ra tro n g H ìn h 3 M ột chuyển đổi là đ ú n g đ ắ n chỉ khi các b ấ t b iến trên là hợp lệ

Trang 25

K iể m t r a c á c c a m k ế t c h u y ể n đ ổ i M ộ t chuyển đổi tiế n được th ự c th i bởi m ộ t

tro n g đó trF'i là các lu ậ t chuyển tiến và rrii là các tư ơng ứng (m a tc h ) Để kiểm tr a

tín h đ ú n g đ ắ n c ủ a chuyển đổi, chúng ta sẽ kiểm t r a tín h đú n g đ ắ n c ủ a từ n g bước

th ự c hiện Đ iều này có th ể được th ự c hiện b ằ n g cách kiểm t r a cam kết c ủ a m ỗi th a o

tá c chuyển đổi, tứ c là kiểm t r a các tiề n và h ậ u điều kiện c ủ a từ n g bước chuyển đổi

K i ể m t r a c á c t h u ộ c t í n h m ô h ì n h N gôn ngữ O C L cho p h ép chúng t a d uyệt

và đ á n h g iá các tr u y vấn lên IĨ1Ô hình Do đó, chúng t a có th ể kiểm các th u ộ c tín h

m ô h ìn h ở d ạ n g O C L C hẳng hạn, điều kiện O C L dưới đ ây tư ơng ứng với th u ộ c

tín h cầ n k iể m t r a sa u “Có m ộ t chuyển trạng thái từ ‘R e d ’ sang ‘Y ellow ’”.

4.2.2 Hợp lệ chuyển đổi mô hình

Trong phần này, chúng tôi đề x u ất các giải pháp bán tự động để hợp lệ các chuyển đổi được thực th i trên khung chuyển đổi mô hình dựa vào OCL

T h ự c t h i c a k iể m t h ử b ằ n g p h é p tíc h h ợ p m ô h ìn h Cho m ột ca kiểm thử bao

gồm mô hình nguồn M s và mô hình đích dự kiến M ì' Để kiểm tra sự chuyển đổi bằng

thay vì kiểm tra m ột cách trực tiếp, chúng ta có thể sử dụng các luật chuyển tích hợp để

luật tích hợp và rrii là các tương ứng Bằng cách này, việc chuyển đổi có thể được minh

họa tố t hơn cho người th iết kế

T r ìn h d iễ n v à p h â n tíc h c h u y ể n đổi m ô h ìn h Sau mỗi bước chuyển đổi, chúng

ta có được sự kết hợp của các phần nguồn, đích, và phần kết nối như m ột mô hình chung Các tru y vấn OCL cho phép chúng ta phân tích và đánh giá trên một mô hình chung đó

Trang 26

TỔ N G QUAN KẾT QUẢ NGHIÊN c ứ u 20

Hơn nữa, các tương ứng (mappings) trong ngữ cảnh của luật được áp dụng có thể được xác định thông qua các tru y vấn OCL tương ứng, giúp cho người thiết kế kiểm tra tính đúng đắn của từng bước chuyển đổi m ột cách dễ dàng hơn

T iế p c ậ n s in h t ự đ ộ n g r à n g b u ộ c b ấ t b iế n ch o c h u y ể n đổ i m ô h ìn h Chúng tôi

đề xu ất [DC15] kỹ th u ật sinh mô hình từ các thông tin ở mức thể hiện, diễn đ ạ t qua các ví

dụ và phản ví dụ K ết quả nghiên cứu này mở ra khả năng sinh các mô hình chuyển OCL

từ các ca kiểm th ử của chuyển đổi mô hình Theo đó, tín h đúng đắn của mô hình chuyển OCL được đảm bảo bởi dữ liệu ca kiểm th ử cũng như các phản hồi từ người dùng Hơn nữa, mô hình được sinh m ột cách bán tự động này phải tương đương với đặc tả chuyển đổi đã có Bằng cách đối sánh hai đặc t ả này cho phép kiểm định thêm tính đúng đắn của chuyển đổi mô hình

Chúng tôi phát triển bộ công cụ theo dự án nguồn mở RTL3 để hỗ trợ cho khung chuyển đổi

mô hình được đề xuất Công cụ RTL được xây dựng ở dạng mở rộng công cụ USE [GBR07], đây vốn là bộ công cụ hỗ trợ OCL để phân tích, đánh giá, kiểm chứng và hợp lệ các đặc

- m a t c h T L :T u p l e (e h a :E H A ,a u t :A u t H ) let eha: E H A = m a t c h T L e h a in let aut: A u t H = m a t c h T L a u t in

— m a t c h C L :T u p l e (s 2 e :S C 2 E H A ) let s2e: S C 2 E H A - m a t c h C L s 2 e in

(a) rule specification in RTL (b) the generated operation for co-evolution

H ình 9: Sinh tự động các th ao tá c O C L từ đ ặc t ả chuyển đổi với R TL

Để xây dựng các chuyển đổi mô hình dựa vào các tam luật với các ràng buộc OCL, chúng ta đề xuất và sử dụng ngôn ngữ chuyển đổi mô hình RTL (R estricted G raph3https://github.com/vnu-dse/rtl.git

Trang 27

T ransform ation Language) Ngôn ngữ này cho phép người thiết kế mô tả chương trình chuyển đổi m ột cách khai báo và ở dạng văn bản như minh hụa trong Hình 9 Các kịch bản chuyển đổi mô hình được sinh tự động từ đặc tả chuyển đổi RTL và được thực thi trên m ôi trường hướng đối tượng hỗ trợ bởi USE: C hất lượng chuyển đổi mô hình được đảm bảo khi chúng ta có th ể kiểm tra các bất biến, tiền và hậu điều kiện của các thao tác, cũng như các thuộc tính mô hình được diễn đ ạt bằng OCL

Sau đây là ph ần đánh giá của chúng tôi về các kết quả đạt được của đề tài, bao gồm:(1) Xây dựng cơ sở hình thức cho chuyển đổi mô hình [DG16,THDV16] (2) Đề xuất một

số kỹ th u ậ t đảm bảo chất lượng chuyển đổi mô hình [DG16,DC15] (3) Ngôn ngữ và công

cụ hỗ trợ chuyển đổi mô hình [ND14,DG16]

Cơ sở hình thức cho chuyên đổi mô hình

Xây dựng cơ sở hình thức cho chuyển đổi mô hình có ý nghĩa thúc đẩy khả năng thực thi chuyển đổi mô hình m ột cách tự động và chính xác Chúng tôi đ ã đề x u ấ t m ột cơ sở hình

thức n h ư vậy dự a trên sự kết hợp của hrợc đồ hướng đối tượng và văn phạm tam đồ thị

Cơ sở hình thức này cho phép chúng tôi hiểu được bản chất quan hệ chuyển đổi giữa hai

mô hình thuộc các ngôn ngữ mô hình hóa khác nhau, chẳng hạn, UM L2CSP [ND14] và SC2EHA [DG16] K hung hình thức của chúng tôi hiện tại mới chĩ hỗ trợ các ngôn ngữ biểu diễn trự c quan dạng đồ thị Một số tình huống chuyển khác, chẳng hạn tình huống chuyển về hệ thống kiểu [THDV16], hiện tại vẫn chưa được hõ trợ s ắ p tới chúng tôi sẽ

tậ p tru n g mở rộng khung hình thức để hỗ trợ tố t hơn các tình huống chuyển, cũng như

tậ p tru n g diễn giải quan hệ ngữ nghĩa giữa các mồ hình

D ảm bảo chất lượng chuyển đổi mô hình

Đảm bảo chất lượng chuyển đổi mô hình được xem xét ở hai khía cạnh: (1) Kiểm chứng chuyển đổi mô hình để đảm bảo tính đúng đắn của mô hình kết quả và (2) hợp lệ chuyển đổi mô hình để đảm bảo chuyển đổi được thực thi đúng với yêu cầu đ ặ t ra Chúng tôi đề

x u ất mô hình OCL [DG16] để hiện thực hóa chuyển đổi mô hình dựa vào văn phạm tam

đồ thị Theo cách đó, chất lượng chuyển đổi được đảm bảo bằng cách kiểm tr a các bất biến chuyển đổi, các cam kết của thao tác chuyển đổi, và kiểm các chuẩn tắc cũng như các thuộc tính củ a mô hình Chúng tôi đề x u ất m ột số kỹ th u ậ t [ND14,DC15] để hỗ trợ hợp lệ chuyển đổi mô hình, bao gồm thực thi ca kiểm th ử bằng phép tích hợp mô hình, sinh đặc t ả chuyển đổi từ dữ liệu ca kiểm thử và thực hiện tru y vấn phân tích trên mô hình chuyển đổi OCL Khung chuyển đổi mô hình đề xuất hiện tại chỉ mới hỗ trợ kiểm

tr a các thuộc tín h mô hình diễn đạt bằng OCL Cũng vậy, việc kiểm chứng m ột số tính chất chuyển đoi mô hình, chẳng hạn tính xác định, hiện tại chưa được hỗ trợ

Trang 28

TỔNG QUAN K Ế T QUẢ NGHIÊN c ứ u 22

Ngôn ngữ và công cụ hỗ trợ chuyển đổi mô hình

Ngôn ngữ đặc tả chuyển đổi RTL cùng với bộ công cụ hỗ trợ đi kèm [ND14] được chúng tôi đề xuất và triển khai nhằm để hiện thực hóa khung chuyển đổi mô hình dựa vào OCL Đến nay, bộ công cụ RTL đã được xây dựng thành công theo các mục tiêu đề ra Tuy nhiên, ngôn ngữ RTL vẫn cần phải được IĨ1Ở rộng để hỗ trợ tố t hơn cho chuyển đổi mô hình Chúng tôi dự kiến bổ sung vào cấu trú c điểu khiển giống biểu đồ tuần tự cho ngôn ngiì RTL nhằm tăng tín h hiệu quả của chuyển đổi mô hình Các kỹ th u ật sinh ca kiểm

th ử từ đặc tả chuyển đổi mô hình RTL cũng cần được cải tiến theo các tiêu chí đ ặ t ra khác nhau cho kiểm th ử chuyển đổi mô hình

6 Tóm tắ t kết quả bằng tiếng V iệ t và tiếng Anh

T ó m t ắ t P h á t triển phần mềm hướng mô hình đang là tiếp cận đầy hứa hẹn để tăn g

tự động hóa trong phát triển phần mềm và nâng cao chất lượng của các ứng dụng ph ần mềm Trong ngữ cảnh các tiếp cận hướng mô hình như vậy, chuyển đổi mô hình là khối xây dựng quan trọng Nó đặt ra yêu cầu và cũng là một thách thức đe biểu diễn và thực thi chính xác các chuyển đổi mô hình, cũng như để đảm bảo chất lượng của các chuyền đổi mô hình đó Nghiên cứu này đề xuất m ột khung chuyển đổi mô hình với sự hỗ trợ của ngôn ngữ chuyển đổi RTL (R estricted G raph Transform ation Language) Khung chuyển đổi mô hình được xây dựng dựa trên sự kết hợp giữa hai lược đồ hình thức: Văn phạm tam đồ thị (Triple G raph Gram m ars - TG G s ) và lược đồ hướng đối tượng sử dụng ngôn ngữ ràng buộc đối tượng OCL (O bject C onstraint Language) Khung chuyển đổi mô hình dựa vào OCL này cho phép: (1) các chuyển đổi hai chiều, (2) khả năng kiểm chứng các chuyển đổi mô hình lúc thực thi và các kỹ th u ậ t đảm bảo chất lượng chuyển đổi và (3) duy trì sự nhất quán giữa các mô hình

A b s tr a c t Model-Driven Development (MDD) has been a promising approach to increas­ing the autom ation in the software development and improving the quality of software applications W ithin such model-driven approaches, model transform ation is an im por­

ta n t building block It puts forward a necessity and a challenge to specify and realize model transform ation as well as to ensure the correctness of transform ations This re­search proposes a transform ation framework together w ith the support of the R estricted

G raph Transform ation Language (RTL) for model transform ations The transform ation framework is defined based on the integration between two lightweight formal m ethods, Triple Graph G ram m ars (TGGs) and the O bject Constraint Language (OCL) T he OCL- based transform ation framework offers (1) bidirectional transform ations, (2) an on-the-fly verification of model transform ations and means for transform ation quality assurance, and (3) m aintaining the consistency between models

Trang 29

SẢN PHAM, c ô n g Bố

VÀ KẾT QUẢ DÀO TẠO

Kết quả nghiên cứu chính của đề tài được tổng hợp theo hảng sau:

Y ê u c ầ u k h o a h ọ c

có phản biện (IE E E hoặc t.ươnq dươnq)

23

Trang 30

24 SẢN PHẦM, CỒNG BỐ VÀ KẾT QUẢ DÀO TẠO

(*)

ngành quốc gia hoặc báo cáo khoa học đăng trong kỷ yếu hội nghị quốc tế

OCL-Based Framework for Model Transfor­

mations VNU Journal of Science: Com­

puter Science and Communication Engineer­

ing, Vol 32, No 1, pp Ậ2-57, 2016 ISD N

0866-8612

RTL: A Tool for Precise Model Transfor­

m ations Journal o f Science and Technol­

ogy, Special Issue on International Confer­

ence on Advanced Computing and Appica-

tions (ACOM P2014), Vol 52, No ị A, pp

230-239, 2011 ISD N 0866 708X

tom ating Inference of OCL C onstraints from

Counterexam ples and Examples Proc 6th

Int Conf Knowledge and System s Engineer­

ing (K SE ), Advances in Intelligent System s

and Computing 326, Springer (20l ị )

Hanh Dang, and X uan-Tung Vu A Type

System for Counting Logs of M ulti-threaded

Nested Transactional Programs Proc 12th

Int Conf Distributed Computing and In­

ternet Technology (IC D C IT ), L N C S 9581,

Springer, 2016.

Trang 31

3.3 Kết quả đào tạo

K ế t q u ả đào tạ o c ủ a đề tà i được tổ n g kết th eo bản g sau

&£ kinh phí (số tháng / số tiền)

triển hướng mô hình

Đãbảo vệ

cho ứng dụng Web

Đãbảo vệ

C ử n h ă n

chuyển mô hình RTL

Đãbảo vệ

3.4 Sản phẩm khác

C ù n g với các k ết q u ả nghiên cứu đ ã được công bố, đề tà i đ ã tiế n h à n h xây d ự n g

th à n h công bộ công cụ hỗ trợ th a o tá c chuyển m ô h ìn h R T L 4

4https://github.com/vnu-dse/rtl.git

Trang 33

ĐH Q G H N , tạ p chí khoa học chuyên ngành quốc

gia hoặc báo cáo khoa học đăng trong kỷ yếu hội

Trang 34

TÌN H HÌNH SỬ DỤNG KINH PHÍ

B ả n g sau đây tổ n g hợp tìn h h ìn h sử dụ n g kinh p h í củ a đề tà i

đ ư ợ c d u y ệ t (triệu đồng)

K in h p h í

th ự c h iệ n(triệ u đồng)

Trang 35

> \

KIEN NGHI

C h ú n g tôi k ín h đ ề nghị D ại học Q uốc gia H à Nội tiếp tụ c đ ầ u t ư cho hướng nghiên cứu về các công ng h ệ m ô h ìn h h ó a cho xây dự ng, vận h à n h và tiế n hóa p h ầ n m ềm nói chung, công n g h ệ chuyển đổi m ô h ìn h nói riêng, n h ằ m xây dự ng nh ó m nghiên cứu m ạ n h về C ô n g n g h ệ p h ầ n m ềm tạ i Bộ m ô n C ông ng h ệ p h ầ n m ềm , K h o a C ông ngliộ T h ô n g till, Trường' Đ ại học C ông ngliệ, D ại hục Q uốc g ia H à Nội

H à Nội, ngày th á n g 04 n ăm 2016

C h ủ n h i ệ m đ ề t à i

T S Đ ặ n g Đ ứ c H ạ n h

31

Trang 36

TÀ! LIỆU THAM KHẢO

variants Journal o f System s and, Software, 83(2):283-302, 2010.

D uc-H anh D ang and Jordi C abot On A utom ating Inference of OCL Con­strain ts from C ounterexam ples and Exam ples In Viet-H a Nguyen, Anh-Cuong

Le, and Van-Nam H uynh, editors, Proc 6th Int Conf on Knowledge and Sys­ tems Engineering (K SE ), volum e 326, pages 219-231 Springer, 2015.

D uc-H anh D ang and M artin Gogolla An OCL-Based Framework for Model

T ransform ations VN U Journal o f Science: Computer Science and C om m uni­ cation Engineering, 32(1):42—57, 2016 ISBN 0866-8612.

France, R obert and R um pe, B ernhard M odel-driven development of com­

plex software: A research roadm ap In Proc Int Conf Software Engineering (F O S E /IS C E ), pages 37-54 IE E E C om p u ter Society, 2007.

M artin Gogolla, Fabian B iittner, and M ark Richters USE: A UML-Based

Specification E nvironm ent for V alidating UML and OCL Science o f Computer Programming, 69(1-3) :27-34, 2007.

Jack Greenfield, K eith S hort, Steven C o lla b o ra te s Cook, S tu art Collabora-

teur K ent, and John C rupi Software Factories : Assembling Applications with Patterns, Models, Frameworks, and Tools Wiley, 2004 ISBN 0-471-20284-3.

Frederic Jo u au lt, Freddy Allilaire, Je a n Bezivin, and Ivan K urtev ATL: A

Model T ransform ation Tool Science o f Com puter Programming, 72(1-2):31-

39, June 2008

Laszlo Lengyel, T iham er Levendovszky, an d Hassan Charaf Validated Model

T ransform ation-D riven Software Development Int J Comput Appl Technol.,

31(1 /2 ): 10€)—119, 2008 ISBN 0952-8091

33

Trang 37

ĐAI HỌC QUỐC GIA HÀ NỘI

VIETNAM NATIONAL UNIVERSITY, HANOI

VNU JOURNAL of SCIENCE

An o C L -B a s e d Framework for Model iransformarions

Tavv^itd* M o d e l-c h e e k in g P ro h iib ilis rii: Tim ed A u ro n u r.i

against Probabilistic D uration Properties

\.r»Vv

Vol 32 No, t t 2016

Trang 38

T Ạ P CHÍ K H O A IIỢ C ĐẠI H Ọ C QƯÓC GIA HÀ NỘI

V N U JO U R N A L O F SC IE N C E

Công nghệ Thông tin-Truyên thông/Computer Science and Communication Engineering

Ân phầm cùa Tạp chí Khoa học Đại học

Quốc gia Hà Nội, 144 Xuân Thúy, cầu Giấy,

Hà Nội, Việt Nam.

© 2 0 1 6 , Đại học Q uốc gia Hà Nội

Bản quyền đã được bào hộ N ghiêm cấm mọi

hình thức sao chép, lưu trữ, phổ biến thông tin

nếu chưa được T ạp c h í K hoa học Đại học

Q uốc gia Hà N ội cho phép bằng văn bản Tuy

nhiên, việc sao chép độc bản các bài báo nhằm

mục đích học tập hoặc nghiên cứu có thề không

cần xin phép V iệc sao chép các hình ánh minh

họa và trích đoạn bài báo phái được sự đồng ý

cùa tác giả và phải dẫn nguồn đầy đủ Việc sao

chép số lượng lớn bất kỳ nội dung nào cùa tạp chí

đều phải được Tạp chí Khoa học Đại học Quốc gia

Hà Nội cho phép theo đúng qui đinh

cùa pháp luật Việt Nam.

Published by the VNU Journal of Science, 144

Xuân Thủy Road, cẩu Giấy District,

Hanoi, Vietnam.

Copyright © 2016 by Vietnam National University,

Hanoi All rights reserved

No part o f this publication may be reproduced,

stored in a retrieval system or transmitted in any form

or by any means, electronic, mechanical,

photocopying, recording or otherwise without the

written permission of the VNU Journal of Science

However, single photocopies o f single articles may

be made for private study or research Illustrations

and short extracts from the text o f individual

contributions may be copied provided that the source

is acknowledged, the permission o f the authors is

obtained and the VNU Journal of Science is

notified Multiple copying is permitted by the VNU

Journal of Science in accordance with

the Vietnamese Laws.

Tổng biên tập/Editor-in-Chief Nguyen Hữu Đức

Phó tông biên tập/Dcputy Editor-in-Chief Ngô Tự Lập

Trị sự/Adm inistrator Hoàng Văn Quang Hội đồng biên tập/Editorial Council

Nguyễn Hữu Đức (Chù tịch/Chairman)

Gunnar Liedberg Bo Lưu Văn Bôi

Lê Văn Cảm Nguyễn Hữu Châu Nguyễn Đình Đức Đinh Văn Đức Trương Quang Hãi Nguyễn Hòa Wolfgang Knoll Ngô Tự Lập Nguyễn Hoàng Lương Phan Tuấn Nghĩa Nguyễn Hồng Sơn Nguyễn Thanh Thủy

Phạm Hùng Việt (Thành viên thường Irực/Permanent Membe r)

Ban biên tập/Editorial Board

Nguyễn Thanh Thúy (Trướng ban/H ead o f Board) Đặng Vãn Hưng (Plió Tncớng ban/Vice Head o f Board) Phạm Bão Sơn (Plĩó Trướng banA'ice H ead o f Board)

Phạm Kỷ Anh Jav Bagga

Hô Tú Bào

Võ Nguyên Quốc Báo Wei-Ngan Chin Đinh Dũng Trương Vũ Bằng Giang Lukasz Greda Trần Đình Khang Phạm Thế Long Lương Chi Mai Trần Xuân Nam Claude Sammut Nguyễn Hữu Thanh

Lê Mạnh Thạnh Cao Hoàng Trụ Trần Xuân Tú

Ho Tướng Vinh Jean-Daniel Zucker Trọ'lý Ban Bicn tập/Editorial Board Assistant

Đ ặng Đ ứ c Hạnh Tel.: (8 4 ) 9 4 6 6 8 6 4 0 8 E-m ail: hanhdd@ gm ail.com Thu ký/Secretary

Ngô Thị Thu Bình Tel.: (84) 983030634 E-mail: binhntt@vnu.edu.vn Giấy phép xuất bàn số 223/GP-BTTTT ngày 22/7/2014 * In tại Công ty c ổ phần in cao cấp Quang Minh, 31 ngõ Tiến Bộ,

Khâm Thiên, Đống Đa, Hà Nội, Việt Nam * Nộp lưu chiều: Quý 1/2016 Publication Permit No 223/GP-BTTTT, issued 22/7/2014* Printed at Công ty c ố phần in cao cấp Quang Minh, 31 Tiến Bộ Alley,

Khâm Thiên Street, Đống Đa District, Hanoi, Vietnam * Legal Deposit: Quarter 1/2016

Tòa soạn: Tầng 6, Nhà C1T, 144 Xuân Thủy, cẩu Giấy, Hà Nội, Việt Nam Điện thoại: (84-4) 37547902; (84-4) 61280348 * Website: http://js.vnu.edu.vn Editorial Office: Floor 6, Building C1T, 144 Xuân Thủy Road, cầu Giấy District, Hanoi, Vietnam

Trang 39

V N U JO U R N A L O F S C IE N C E

C o m p u te r S c ie n c e a n d C o m m u n ic a tio n E n g in e e r in g

V ol 32, N o 1, 2016

CONTENTS

1 Pham Thanh Nam, Vu Duy Khuong, Dinh Trieu Duong, Le Thanh Ila,

Efficient Region-of-Interest Based Adaptive Bit Allocation for 3Đ-TV Video

3 Xuan Tung Hoang, Tien Thanh Nguyen, Reducing Startup Time in MP4

4 Duc-H anh Dang, M artin G ogolla, An OCL-Based F ra m e w o r k for

5 Van Ilu n g D ang, M iaom iao Zhang, Dinh Chinh Pham , Tow ards

M odel-checking P robabilistic Tim ed A utom ata against P robabilistic

Trang 40

An OCL-Based Framework for Model Transformations

D u c - H a n h D a n g 1’*, M a rtin G o g o lla 2

' VNU University o f Engineering and Technology, Hanoi, Vietnam

2 University o f Bremen, Bremen, Germany

Abstract

Model transformation is an important building block for model-driven approaches It puts forward a necessity and a challenge to specify and realize model transformation as well as to ensure the correctness of transformations This paper proposes an OCL-based framework for model transformations The formal foundation of the framework

is the integration of Triple Graph Grammars and the Object Constraint Language (OCL) The OCL-based transformation framework offers an on-the-fly verification of model transformations and means for transformation quality assurance.

Received 06 December 2015, revised 25 December 2015, accepted 31 December 2015

Keywords: Model Transformation, OCL, Validation & Verification, Precondition and Postcondition, Invariant.

1 Introduction

Model transformation can be seen as the heart

of model-driven approaches [1] Transformations

are useful for different goals such as ( 1) to

relate views of the system to each other;

(2) to reflect about a model from other domains

for an enhancement of model analysis; and

(3) to obtain a mapping between models in

necessary to offer methods to specify and realize

model transformation as well as to ensure the

a challenge because of the diversity of models

and transformations

Problem Many approaches to model

transformation have been introduced, as surveyed

in [2], The works in [3, 4] offer mechanisms

for model transformations in line with the

Query/View/Transformation (QVT) standard [5],

The ideas in [6, 7] focus on the graph

transformation-based approach for unidirectional

transformations Triple Graph Grammars (TGGs)

' Corresponding author Email: hanhdd@ vnu.edu.vn

are proposed in [8] as a similar approach for

specification and realization of transformations as proposed by these works, several papers discuss how to ensure the correctness of transformations

In [9] the authors introduce a method to derive Object Constraint Language (OCL) invariants from declarative transformations like TGGs and QVT in order to enable their verification

establish a framework for transformation testing

To the best of our knowledge, so far there has not been any suitable approach yet to support both specification and quality assurance

of transformations

Contribution (1) In this paper we focus on the integration of TGGs and OCL as a foundation

OCL conditions in triple rules of a triple graph grammar allows us to express better

new method to extract invariants for TGG

Ngày đăng: 18/03/2021, 16:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w