1. Trang chủ
  2. » Thể loại khác

Phương pháp kiểm chứng sự tương đương giữa các mô hình phần mềm : Đề tài NCKH. QG.14.07

70 23 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 70
Dung lượng 2,88 MB

Nội dung

The requirem ents w ritten in term s of Fuzzy If-T hen rules can be an ade­quate representation, b u t require fu rth er techniques for checking properties formally, which may elucidate

Trang 3

PHÀN I THÔNG TIN CHUNG

1 1 T ê n đ ề t à i : P h ư ơ n g p h á p k i ể m c h ứ n g s ự t ư ơ n g đ ư ơ n g g i ữ a c á c m ô h ì n h p h ầ n m ề m

1.2 M ã số: Q G 14.07

1 3 D a n h s á c h c h ủ t r ì , t h à n h v i ê n t h a m g i a t h ự c h i ệ n đ ề t à i

T T C h ứ c d a n h , h ọ c v ị , h ọ v à t ê n Đ ơ n v ị c ô n g t á c V a i t r ò t h ự c h i ệ n đ ề t à i

(Vê mục tiêu, nội dung, phương pháp, kết quà nghiên cứu và tố chức thực hiện; Nguyên nhân; Ỷ

kiến của Cơ quan quàn lý)

1.7 T ổ n g k in h p h í đ ư ợ c p h ê d u y ệ t c ủ a đề tà i: 200 triệu đồng

Trang 4

1 Đ ặ t v ấ n đ ề

N g à y n a y , c ô n g n g h iệ p p h â n m ề m đ ã trở th à n h m ộ t th à n h p h ầ n q u a n trọ n g củ a n ề n

k in h tê to à n c ầ u , ứ n g d ụ n g p h ầ n m ề m v à o tiế n trìn h q u ả n lý v à sả n x u ấ t c ủ a các d o a n h

n g h iệ p đ ã tạ o ra tỷ su ấ t lợi n h u ậ n lớ n h ơ n rấ t n h iề u so v ớ i trư ớ c đ ây T ro n g tiế n trìn h to à n

c ầ u h ó a, b ê n c ạ n h sự tiế n bộ về m ặ t c ô n g n g h ệ th ì v iệ c n g h iê n c ứ u v à đề x u ấ t cá c p h ư ơ n g

p h á p m ớ i v ề p h á t triể n p h ầ n m ề m c ũ n g có ý n g h ĩa h ết sứ c q u a n trọ n g Đ ể đ ư a ra đ ư ợ c g iải

p h á p h ữ u h iệ u c h o m ộ t v ấ n đề th ự c tế c ầ n sự h iể u b iết cả v ề c ơ s ở lý th u y ế t lẫn cá c p h ư ơ n g tiệ n k ỹ th u ậ t V ớ i tố c độ p h á t triể n c ủ a cá c d o a n h n g h iệ p p h ầ n m ề m tạ i V iệ t N a m , d ịc h v ụ

g ia tă n g c h ấ t lư ợ n g p h ầ n m ề m đ a n g là m ộ t tro n g n h ữ n g x u h ư ớ n g c h ín h c ủ a c ô n g n g h iệ p

p h ầ n m ềm

T h e o h ư ớ n g tiế p c ậ n tiế n h ó a c ủ a q u y trìn h p h á t triể n p h ầ n m ềm , p h á t triể n p h ầ n

m ề m là tiế n trìn h x â y d ự n g m ộ t p h iê n b ả n k h ở i đ ầu , sa u đ ó liê n tụ c c ậ p n h ậ t th ê m các ch ứ c

n ă n g m ớ i, q u á trìn h n à y đ ư ợ c th ự c h iệ n lặp đi lặp lại ch o đ ế n k h i c ó đ ư ợ c p h ầ n m ề m v ớ i các tín h n ă n g n h ư m o n g m u ố n P h ầ n m ề m c ầ n đ ư ợ c cậ p n h ậ t đ ể đ á p ứ n g các m ụ c tiê u n h ư sử a

c h ữ a sa i só t, tiế t k iệm n h ữ n g n ỗ lự c tro n g v iệ c tíc h h ọ p h a y c ả i th iệ n c h ấ t lư ợ n g p h ầ n

m ê m K ỹ th u ậ t th ư ờ n g đ ư ợ c sử d ụ n g tro n g q u á trìn h là tá i c ấ u trú c (re fa c to rin g ) m ô h ìn h

n h iề u tìn h h u ố n g k h á c n h a u C ác m ẫ u th iế t k ế th ư ờ n g th ể h iệ n m ố i q u a n h ệ g iữ a các lớp

h o ặ c c á c đ ố i tư ợ n g , c h ứ k h ô n g p h ả i đ ặc tả m ộ t th ể h iệ n c ủ a ứ n g d ụ n g c ụ th ể n ào cả

V ớ i cá c ư u đ iể m c ủ a tá i c ấ u trú c v à đ ặc đ iể m c ủ a m ẫ u th iế t k ế, v iệ c áp d ụ n g m ẫ u

th iẻ t k ế tro n g tiế n trìn h tá i c ấ u trú c p h ầ n m ề m h ứ a h ẹ n sẽ m a n g lạ i m ộ t g iả i p h á p tố t tro n g lĩrùi v ự c c ả i ti ế n c h ấ t lư ự iig p h ầ n m ề m T a y n h iê n , liến Lành Ìiày c ầ n đ ư ợ c th ự c th i m ộ t c á c h

c â n th ậ n v ì n ó d ễ d à n g là m p h á t s in h n h ữ n g lỗi k h ô n g m o n g m u ố n N ó i c á c h k h á c , m ộ t tro n g n h ữ n g b à i to á n c ầ n q u a n tâ m , n g h iê n c ứ u tro n g q u á trìn h n à y là, "hệ th ố n g p h ầ n m ề m

trư ớ c v à s a u k h i tái c ấ u trú c có b ả o to à n về m ặ t h à n h vi (n h ấ t q u á n vớ i n h a u ) h a y k h ô n g ? "

PHÀN II TỐNG QUAN KÉT QUẢ NGHIÊN c ử u

2

Trang 5

M ộ t số p h ư ơ n g p h á p đ ã đ ư ợ c đ ề x u ấ t để k iể m tra tín h n h ấ t q u á n g iữ a các m ô h ìn h

n h ư k ỹ th u ậ t c h u y ể n đổi m ô h in h [3, 4], m ô tả h ệ th ố n g b ằ n g k h u n g n h ìn lo g ic [5], h o ặc trao

đ ô i siê u d ữ liệ u X M L T ro n g n g h iê n c ứ u n ày , c h ú n g tô i đề x u ấ t c á c h tiế p c ậ n m ớ i để k iểm

c h ứ n g tín h n h ấ t q u á n củ a h ệ th ố n g p h ầ n m ề m tro n g tiế n trìn h tá i c ấ u trú c có sừ d ụ n g các

m â u th iế t kế N ộ i d u n g c h ín h c ủ a đề tài là 1) đ ề x u ấ t p h ư ơ n g p h á p kiểm c h ứ n g tín h n h ấ t

q u á n về m ặ t h à n h v i c ủ a cá c h ệ th ố n g p h ầ n m ề m th ô n g q u a v iệ c x á c đ ịn h tiề n và h ậ u đ iều

k iệ n (p r e /p o s t-c o n d itio n ) củ a m o i c ặ p k ịc h b ả n tư ơ n g ứ n g tr o n g c á c h ệ th ố n g tr ư ớ c và sa u

k h i tá i c á u trú c ; 2) x â y d ự n g tậ p lu ậ t (ru les) là c ơ s ở ỉỷ th u y ế t c h o q u á tr ìn h kiểm c h ứ n g ; 3)

m in h h ọ a c h i tiế t p h ư ơ n g p h á p đ ã đ ề x u ấ t trê n h ệ th ố n g đ iề u k h iể n lư u lư ợ n g g ia o th ô n g

đ ư ờ n g b ộ (A d a p tiv e R o a d T ra ffic C o n tr o l S y ste m - A R T C ).

T ắ c n g h ẽ n g ia o th ô n g là m ộ t v ấ n đề n g à y c à n g tă n g tại c á c th ị trấ n v à th à n h p h ố trê n

to à n thế g iớ i N g ư ờ i đ iề u k h iể n g ia o th ô n g p h ả i liê n tụ c làm v iệ c để tố i đ a h ó a h iệ u n ă n g sừ

d ụ n g c ủ a m ạ n g lư ớ i g ia o th ô n g đ ư ờ n g bộ v à g iả m th iể u b ất k ỳ s ự g iá n đ o ạ n n à o (g â y ra b ở i

ta i n ạ n h o ặ c c á c sự k iệ n b ấ t th ư ờ n g , ) T ro n g đề tà i n ày , c h ú n g tô i sử d ụ n g lại m ộ t ví d ụ về

p h â n tíc h v à th iế t k ế hệ th ố n g đ iề u k h iể n lư u lư ợ n g g ia o th ô n g đ ư ờ n g b ộ (A d a p tiv e R o a d

T ra ffic C o n tro l S y ste m - A R T C ) [6] đ ể m in h h ọ a c h o p h ư ơ n g p h á p k iể m ch ứ n g

3.1 Mô hình hóa hệ thống ARTC

T ừ c á c h n h ìn p h â n tíc h v à th iế t k ế h ệ th ố n g h ư ớ n g đ ố i tư ợ n g v ớ i m ộ t h ệ th ố n g p h ầ n

m ề m , c h ú n g tô i x â y d ự n g b iể u đồ lớ p b a n đ ầ u ch o h ệ th ố n g A R T C B iể u đ ồ n à y b ao g ồ m

b ô n l ó p T r a f f i c C o n t r o l l e r , D e t e c t o r , R o a d v à O p t i m i z e r S t r a t e g y đ ư ợ c m ô t ả n h ư t r o n g

H ình 1

T r a f f i c C o n t r o I l e r là lớ p đ ó n g vai trò tru n g tâ m , đ iề u k h iể n tấ t c ả cá c lớ p c ò n lại

t r o n g hệ th ố n g N ó th u n h ậ n lu ô n g tín h iệ u g ia o th ô n g từ lớ p D e t e c t o r sa u đ ó tru y ề n d ữ liệu

n à y đ ế n lớ p O p t i m i z e r ; k ế t q u ả từ lớ p O p t i m i z e r đ ư ợ c sử d ụ n g là th a m số đ ầ u v ào c h o lớp

T r a f f i c C o n t r o l l e r để đ iể u c h ỉn h n g ư ợ c trở lại tín h iệ u g ia o th ô n g trê n đ ư ờ n g phố

Trang 6

Detector -deiectorlD: Strins

- traffic F low: IR A FF I c FTL o w +setTrafĩícController() -f-eetT rafficControllerQ -i-2etlnformation0

+amlyzeTrqffìcị)

-i-setlnformationQ

Road -roadID: s trine -roadName: String +setRoad() +getRoad()

Optimizer -state: STATE -signal: SIGNAL -signalTime: iut -direction: DIRECTION +setOptmiizer() +getOptimizer()

+ o p ỉim 'iz e T ra Jjìc()

H ình 1 Biểu đồ lớp khở i đầu cho hệ thống A R T C

B iê u đ ô tu ầ n tự h iể n th ị c á c h th ứ c các đ ố i tư ợ n g tư ơ n g tá c v ớ i n h a u tro n g m ộ t k ịc h

b ả n à ch ỉ ra th ứ tự th ự c h iệ n c á c p h ư ơ n g th ứ c có tro n g k ịc h b ả n th e o th ờ i gian T ro n g đề tài

n à y , c h ú n g tô i ch ỉ m in h h ọ a v iệ c m ô tả k ịc h b ả n đ iề u k h iể n tố i ư u tín h iệ u đ è n g iao th ô n g

c ủ a h ệ th ò n g A R T C VỚI c á c c h ứ c n ă n g c h ín h , b ao g ồ m g e tT r a ffic F lo w (), a n a ly ze T ra ffic Q ,

a n a ly z e S ig n a l(), a n a ly z e T im e L im it() v à a n a ly z e A d ja c e n tS ig n a l().

K ịc h b ả n n à y c ủ a h ệ th ố n g đ ư ợ c m ô tả b ở i b iể u đ ồ tu ầ n tự n h ư H ình 2

H ình 2 Biêu đô tuân tự cùa kịch bản điêu khiển tối m i tín hiệu đèn

4

Trang 7

lớ p m ớ i kê th ừ a từ lớ p O p t i m iz e r sẽ x u ấ t h iện V à n h ư v ậ y , lớ p c o n đ ó p h ải k ế th ừ a

tâ t c ả n h ữ n e gì lớ p O p t i m iz e r đ a n g có Đ â y là n h ữ n g đ iề u rấ t c ầ n trá n h tro n g x ây

d ự n g p h ẩ n m ềm

- M ã n g u ồ n tro n g p h ư ơ n g th ứ c o p tim iz e T ra jfic O rấ t k h ó để có th ể sử d ụ n g lại đ ư ợ c.

Đ ê k h ắ c p h ụ c c á c k h ó k h ă n trê n , n g ư ờ i th iế t k ế hệ th ố n g có th ể sử d ụ n g m ẫ u th iế t kế

S tra te g y đ ể tiế n h à n h tái c ấ u trú c lại lớ p O p t i m iz e r M ầ u th iế t k ế S tra te g y đ ó n g v à đ ịn h

n g h ĩa m ộ t tậ p cá c th u ậ t to án , đ ồ n g th ờ i c h o p h é p n ó h o á n đ ổ i vị trí m ộ t c á c h lin h hoạt

N h ư m in h h ọ a tro n g H ìn h 3, c h ú n g tô i p h â n rã p h ư ơ n g th ứ c o p tim iz e T ra ffic () th à n h b a

th u ậ t to á n c o n (S ig n a lO p tim iz e S tr a te g y , T im e L im itO p tim ize S tra te g y ,

A d ja c e n tO p tim iz e S tr a te g y ) từ lớ p Optimizer sa u đó h ìn h th à n h m ộ t h ệ th ố n g cá c lớp

g iả i th u ậ t c ó c h ia sẻ g ia o d iệ n O p tim iz e rS tra te g y

H ĩnh 3 B iếu đồ lớp cho hệ thống A R T C sau tái cấu trúc

B â y g iờ , s a u k h i tá i c ấ u trú c , k ịc h b ả n đ iề u k h iể n tố i ư u tín h iệ u đ è n c ủ a h ệ th ố n g c ũ n g đ ư ợ c

v ẽ lại n h ư H ình 4

Trang 8

:Detector :TraữĩcController

getTrafficFlowQ

analyzeTrafficO

optimizeTrafficO

:SÌ2nalODtimize :T lineOotimize :AdiaceatODtimize

optimizeTrafficO optimizeTrafficO

- K h i g ia o th ô n g đ a n g ớ trạ n g th á i bị á c h tăc (h e a v y T ra ffic ), tín h iệ u đ è n x a n h đ ã đ ư ợ c

b ật lên , th ì th ờ i g ia n (tim e ) d à n h c h o tín h iệ u n ày c ầ n đ ư ợ c g ia tăn g

- K h i g ia o th ô n g đ a n e ở trạ n g th á i th ô n g th o á n g , tín h iệ u đ è n đỏ đ ã đ ư ợ c b ậ t lên, thì

th ờ i g ia n (tim e ) d à n h c h o tín h iệ u n à y c ầ n đ ư ợ c g ia tăn g

- T ại m ộ t h ư ớ n g g ia o lộ n à o đ ó , k h i g ia o th ô n g đ a n g ở trạ n g th á i v ớ i lư u lư ợ n g cao

( h ig h T ra ffic ), tín h iệ u đ è n x a n h đ a n g đ ư ợ c b ật, th ì p h ư ơ n g tiệ n g ia o th ô n g n ê n lự a

c h ọ n th e o h ư ớ n g đi n à y , c ò n v ớ i tấ t c ả c á c trạ n g th á i c ò n lại, g iả i p h á p n o C h o o s e n ên

đ ư ợ c th ự c hiện

Đ e p h ụ c v ụ c h o m ụ c tiê u k iể m c h ứ n g tín h n h ấ t q u á n c ủ a h ệ th ố n g , c h ú n g tô i đ ã tiế n h à n

b iê u d iễ n c á c rà n g b u ộ c trê n b ằ n g O C L v à JM L

4 T ô n g q u a n v ề q u y t r ì n h k i ế m c h ứ n g t í n h n h ấ t q u á n t r o n g t á i c ấ u t r ú c m ô h ì n h p h ầ n mềm

H ìn h 5 m ô tả q u y trìn h v ớ i b a tiế n trìn h c h ín h : (1) ta i c ấ u tr ú c , (2) tín h to á n tiền và

h ậ u đ iề u k iệ n c ù a c á c k ịc h b ả n v à (3) th ự c h iệ n kiểm ch ứ n g C h ú ý rằ n g , tro n g đề tài n ày

c h ú n g ta đ ặ c b iệ t q u a n tâ m đ ế n k iể m c h ứ n g tín h n h ấ t q u á n của hệ th ố n g p h ầ n m ề m tạ i h ai

g ia i đ o ạ n k h á c n h a u c ủ a q u á trìn h p h á t triể n p h ầ n m ềm , g ia i đ o ạ n th iế t k ế v à g ia i đ o ạ n cà i

đ ặ t p h ầ n m ề m

Trang 9

Đ e k iê m c h ứ n g tín h n h ấ t q u á n tro n g tái c ấ u trú c h ệ th ố n g p h ầ n m ề m tạ i g ia i đ o ạ n

th iê t k ế, c h ú n g tôi sử d ụ n g cá c b iể u đ ồ lớ p , b iể u đ ồ tu ầ n tự tro n g U M L để m ô h ìn h h ó a hệ

th ố n g , n g ô n n g ữ rà n g b u ộ c đ ố i tư ợ n g O C L m ô tả các rà n g b u ộ c (b a o g ồ m cá c b ấ t b iế n , tiề n

v à h ậ u đ iề u k iệ n ) T ại m ứ c n ày , tiế n trìn h tá i c ấ u trú c b ả n c h ấ t là sự p h â n bố lại cá c ló p v à

c á c p h ư ơ n g th ứ c , vì v ậ y d ự a trê n tậ p lu ậ t đ ã x â y d ự n g , c h ú n g tô i tín h to á n lại các rà n g b u ộ c

n à y trê n m ô h ìn h m ớ i C u ố i c ù n g là b ư ớ c so sá n h để rú t ra đ ư ợ c k ế t lu ận liệu m ô h ìn h hệ

th ô n g có b ả o to à n cá c h à n h v i m o n g m u ố n n à y h ay k h ô n g ?

Đ ê k iê m c h ứ n g tín h n h ấ t q u á n tro n g tá i c ấ u trú c hệ th ố n g p h ầ n m ề m ở g iai đ o ạ n th ự c

th i c h ú n g tô i đ ã tiế n h à n h cà i đ ặ t h ệ th ố n g b à n g n g ô n n g ữ lập trìn h Jav a H iệ n n a y c ó k h á

n h iê u n g ô n n g ữ lập trìn h có để d ù n g x â y d ự n g hệ th ố n g th e o p h ư ơ n g p h á p h ư ớ n g đ ố i tư ợ n g ,

tu y n h iê n c h ú n g tô i c h ọ n J a v a v ì sự h ỗ trợ đ ặ c b iệ t c ủ a n g ô n n g ữ đ ặc tả JM L đ ố i v ớ i nó

H ơ n th ê n ữ a , v ớ i c á c c ô n g c ụ đ ã có [7, 8], tíc h h ợ p v ào n ề n tả n g E c lip s e c h ú n g tô i có thể

th ự c h iệ n k iể m c h ứ n g tín h n h ấ t q u á n c ủ a h ệ th ố n g ở m ứ c m ã n g u ồ n m ộ t c á c h tự đ ộ n g

Hình 5 Tông quan về quy trình kiểm chímg

Trang 10

5.1 Mô hình hóa hệ thong phần mềm bằng UML

bộ-3 CiM =(OPCiM,ACiM,I CiM) ở đ â y OPCiM là tậ p h ợ p cá c p h ư ơ n g th ứ c c ô n g k h a i, AciM là tập

h ợ p các th u ộ c tín h , v à IClM là tậ p trạ n g th á i c á c b ấ t b iế n c ủ a lớp.

Đ ịn h n g h ĩa 3 (T iề n đ iề u k iệ n c ủ a p h ư ơ n g th ứ c trừ u tư ợ n g ) T iề n đ iề u k iệ n PREop

c u a p h ư ơ n g th ứ c opei tro n g lớ p trừ u tư ợ n g CiM đ ư ợ c h iệ n th ự c h ó a b ở i N p h ư ơ n g th ứ c opei

tro n g các ló p c o n C k siM đ ư ợ c tín h b ằ n g h ợ p tiề n đ iề u k iệ n c ủ a tấ t c ả các p h ư ơ n g th ứ c opei

tro n g cac lớ p c o n CksiM

G iả sử Pi{opei) b iể u d iễ n tiề n đ iề u k iệ n c ủ a p h ư ơ n g th ứ c opei tro n g các lớ p c o n , k h i

đ ó c h ú n g ta tín h tiề n đ iề u k iệ n th e o c ô n g th ứ c PRE = \JPị (opei) c h o p h ư ơ n g th ứ c ope i, ở

Trang 11

đây opei eC ksiM là các p h ư ơ n g th ứ c h iệ n th ự c h ó a, v à p là m ệ n h đề b iế u d iễ n tiề n đ iề u k iệ n

củ a cá c phương th ứ c ope i.

Đ ịn h n g h ĩ a 4 (H ậ u đ iề u k iệ n cù a p h ư ơ n g th ứ c trừ u tư ợ n g ) H ậ u đ iề u k iệ n POSTop

củ a p h ư ơ n g th ứ c opei-tro n g lớp trừ u tư ợ n a CiM đ ư ợ c h iệ n th ự c h ó a b ở i N p h ư ơ n g th ứ c

opei tro n g cá c ló p c o n CksiM đ ư ợ c tín h b ằ n g h ọ p h ậ u đ iề u k iệ n c ủ a tấ t c ả các p h ư ơ n g th ứ c opei tro n g các lớ p c o n CksiM

T ư ơ n g tự n h ư c á c h tín h tiề n đ iề u k iệ n c ủ a p h ư ơ n g th ứ c tro n g lớ p trừ u tư ợ n g , dễ th ấ y

POSTop = \JPi(opei), ở đ â y opei e Cksiự là c á c p h ư ơ n g th ứ c h iệ n th ự c h ó a , v à p là cá c m ệ n h

đề b iê u d iễ n h ậ u đ iề u k iệ n c ủ a các p h ư ơ n g th ứ c opei tro n g cá c lớ p con.

H à n h v i c ủ a m ộ t m ô h ìn h p h ầ n m ề m đ ư ợ c b iể u d iễ n th ô n g q u a h à n h v i c ủ a c á c k ịc h

b ả n có tro n g m ô h ìn h T ro n g đề tà i n à y , m ỗ i m ộ t k ịc h b ả n c ủ a hệ th ố n g tư ơ n g ứ n g v ớ i m ộ t

b iểu đ ồ tu ầ n tự tro n g Ư M L

Đ ịn h n g h ĩa 5 (K ịc h b ản ) M ộ t k ịc h b ả n SiM đ ư ợ c b iê u d iễ n b ở i b ộ -4

={CiSiM,PRESịM,ESiM,POSTSiM) , ở đ â y CISiM C CiM b iể u d iễ n c h o tậ p h ọ p cá c lớ p th a m g ia vào k ịc h b ả n , PRESiM là tiề n đ iề u k iệ n c ủ a k ịc h b ả n , ESiM là tậ p có th ứ tự các p h ư ơ n g th ứ c

đ ư ợ c th ự c th i tro n g k ịc h b ả n , v à POSTSiM là h ậ u đ iề u k iệ n c ủ a k ịc h b ả n đó.

Định nghĩa 6 (Phương thức của kịch bản) Một phương thức của kịch bản dược biểu

d iễ n b ở i b ộ -4 Ekm = (pR £E km ,OPE k m ,POSTEksiM,k ) , ở đ â y PREEksM là tiề n đ iề u k iệ n c ủ a các

b ản , v í dụ, PR£EkS[M = AjP(-^cijA/)> tr o n g đó A c ^ e A c ị M là cá c th u ộ c tín h , CiM C CỈSlM v à p là

các v ị từ M ộ t k ịc h b ả n b a o g ồ m m ộ t c h u ỗ i c á c h o ạ t đ ộ n g , d o đó tiề n v à h ậ u đ iề u k iệ n c ủ a

m ộ t p h ư ơ n g th ứ c đ ư ợ c h ìn h th à n h b ở i b iể u th ứ c tiề n v à h ậ u đ iề u k iệ n c ủ a p h ư ơ n g th ứ c th ự c

h iệ n n g a y trư ớ c đó L ư u ý rằ n g , m ộ t p h ư ơ n g th ứ c c ô n g k h a i c ủ a m ộ t lớ p tro n g các k ịc h b ản

k h ác n h a u có th ể c ỏ tiê n v à h ậ u đ iề u k iệ n k h á c n h a u T iề n v à h ậ u đ iề u k iệ n c ủ a m ộ t k ịc h

b ả n đ ư ợ c x á c đ ịn h d ự a trê n tiề n v à h ậ u đ iề u k iệ n c ủ a tấ t c ả cá c p h ư ơ n g th ứ c có th a m g ia v à

k ịc h b ản C h ú n g đ ư ợ c đ ịn h n g h ĩa n h ư sau:

Trang 12

Đ ịn h n g h ĩ a 7 (T iề n đ iề u k iệ n c ủ a k ịc h bản) T iề n đ iề u k iệ n c ủ a m ộ t k ịc h b ản k ý h iệ u

là PRE sìm x á c đ ịn h bở i tiề n đ iề u k iệ n c ủ a p h ư ơ n g th ứ c đ ầ u tiê n đ ư ợ c th ự c th i tro n g k ịc h b ản

T iê n đ iề u k iệ n c ủ a p h ư ơ n g th ứ c đ ầ u tiê n tro n g k ịc h b ả n đ ư ợ c đ ặc bở i c á c rà n g b u ộ c trê n tấ t c ả c á c th u ộ c tín h c ô n g k h a i c ủ a k ịc h bản

Đ ịn h n g h ĩa 8 (H ậ u đ iề u k iệ n c ủ a k ịc h b ản ) H ậ u đ iề u k iệ n c ủ a m ộ t k ịc h b ả n ký h iệ u

POSTSlM đ ư ợ c x á c đ ịn h b ở i h ợ p c ủ a các rà n g b u ộ c trê n các th u ộ c tín h c ô n g k h a i củ a

h ậ u đ iêu k iệ n c ủ a p h ư ơ n g th ứ c P O ST Ek d iễ n ra sa u c ù n g tro n g ESiM

C h o m ộ t k ịc h b ả n s = (eh e2, ,e„ ) , tro n g đó ei , i = \ n là p h ư ơ n g th ứ c th ứ i th ự c thi

tro n g k ịc h b ả n đ ó T h e o đ ịn h n g h ĩa 6, c h ú n g ta có e, = (p reei,p o stei,i) v à postụ^ = A Pk {AkC ),

ờ đ â y Pk là cá c lo g ic vị tỪAkC , b iể u d iễ n c h o th u ộ c tín h c ủ a lớ p c có liên q u a n đ ến k ịc h b ản

n ày G iả sử rằ n g k ịc h b ả n s ch ỉ có d u y n h ấ t m ộ t th u ộ c tín h c ô n g k h a i A q c ù n g x u ấ t h iệ n

tro n g b iể u th ứ c h ậ u đ iề u k iệ n c ủ a e, v à ẽj sao c h o 1 < ỉ' < j < n N h ư v ậy , c h ú n g ta sẽ có

postei =P' (AC ) v à postej =Pj {Ac ) N e u e, th ự c th i trư ớ c ẽ j , P j ( A c ) c ần p h ả i đ ư ợ c d u y trì ch o

đ ế n khi p h ư ơ n g th ứ c th ứ j đ ư ợ c th ự c thi.

Đ ịn h n g h ĩ a 9 (T á i c ấ u trú c ) M ộ t tiế n trìn h tá i c ấ u trú c R s ử d ụ n g m ẫ u th iế t kế D

được biển diễn như sau: R: M ° — — >A/', trong đó M và M’ theo thứ tự tương ứng

b iể u thị c h o cá c m ô h ìn h trư ớ c v à sa u k h i th ự c h iệ n tá i c ấ u trú c , D là tê n c ủ a m ẫ u th iế t kế

đ ư ợ c ứ n g d ụ n g , v à SƯB ms C S M là tậ p cá c k ịc h b ả n th a m g ia v à o tiế n trìn h tái c ấ u trú c này.

V ớ i m ụ c tiê u g iả m đ ộ p h ứ c tạ p ch o q u á trìn h k iể m c h ứ n g , cá c th u ộ c tín h c ầ n k iể m

c h ứ n g sẽ đ ư ợ c p h â n th à n h h a i lo ại (i) C á c th u ộ c tín h tĩn h (sta tic ), v à (ii) cá c th u ộ c tín h đ ộ n g (d y n a m ic ) Đ ố i v ớ i lo ạ i th u ộ c tín h th ứ n h ấ t, p h ư ơ n g p h á p k iể m c h ứ n g d ự a trê n các b ấ t b iế n

c ủ a lớp, v ớ i lo ại th u ộ c tín h th ứ h ai, q u á trìn h k iể m c h ứ n g sẽ th a o tác trê n tiề n /h ậ u đ iề u k iệ n

c ủ a các k ịc h bản

Q u á trìn h k iể m c h ứ n g sẽ đ ư ợ c th ự c h iệ n m ộ t c á c h lần lư ợ t, d ự a trê n sự tu â n th ủ các

M ệ n h đ ề c h i tiế t sa u đây

5.2 Kiêm chứng các thuộc tính tĩnh trong mô hình

V iệ c á p d ụ n g các m au th iế t k ế tro n g lá i trú c p h ẩ n m ề m th ư ờ n g d ẫ n đ ế n lliav đổi cá c

c ấ u trú c b ê n tro n g c ủ a m ô h ìn h T u y n h iê n , lu ô n có m ộ t v à i c á c rà n g b u ộ c tĩn h c ầ n đ ư ợ c d u y trì tro n g s u ố t tiê n trìn h n ày C h ú n g tô i đề x u ấ t k iể m c h ứ n g cá c th u ộ c tín h tĩn h d ự a trê n k h ái

n iệ m b â t b iê n c ủ a lớ p (c la s s in v a ria n ts) T ro n g trư ờ n g h ọ p đặc b iệt, n ế u c á c ló p th a m gia v à

10

Trang 13

tiế n tr ìn h tá i c ấ u trú c c ủ a m ô h ìn h k h ô n g bị th a v đ ổ i, đ iề u h iể n n h iê n cá c b ất b iế n c ủ a các lớp đ ó sẽ đ ư ợ c d u y trì.

M ệ n h đ ề 1 (B ả o to à n các tín h c h ấ t tĩn h ) Q u á trìn h tá i c ấ u trú c m ộ t m ô h ìn h p h ầ n

m ềm đ ư ợ c c o i là b ả o to à n các th u ộ c tín h tĩn h n ếu các b ấ t b iế n c ủ a cá c lớ p trê n m ô h ìn h h iệ n

tại tư ơ n g đ ư ơ n g lo g ic vớ i các b ấ t b iế n c ủ a cá c lớ p trê n m ô h ìn h b an đầu

C h ú n g ta c ó th ể h ìn h th ứ c h ó a m ệ n h đề trê n cụ th ể n h ư sa u C h o

R: M —£ẤẼ£ẼMẵÌ >M ' là tiế n trìn h tá i c ấ u trú c , M ' đ ư ợ c g ọ i là b ả o to à n các th u ộ c tín h tĩn h VỚI M n ê u VC iM \CiM € CM A CiM £ C'M => ICiM = I CiM’.

5.3 Kiêm chứng các thuộc tính động trong mô hình

Y ê u c ầ u q u a n trọ n g đ ố i v ớ i tiế n trìn h tái c ấ u trú c s ừ d ụ n g cá c m ẫ u th iế t kế là sự

k h ô n g th a y đ ô i (b ả o to à n ) cá c h à n h vi b ê n n g o à i c ủ a m ô h ìn h p h ầ n m ềm T ro n g đ ề tài này, các h à n h v i c ủ a hệ th ố n g đ ư ợ c m ô tả th ô n g q u a các k ịc h b ả n (sc e n a rio ) B ở i v ậ y , c h ú n s ta

câ n p h ả i k iê m tr a liệ u tậ p h ợ p các k ịc h b ả n th a m g ia v à o tiế n trìn h tái c ấ u trú c c ó b ảo to à n

cá c h à n h vi c ủ a n ó h a y k h ô n g

M ệ n h đ ề 2 (N h ấ t q u á n to à n p h ầ n trê n các th u ộ c tín h đ ộ n g ) M ộ t tiế n trìn h tá i c ấ u trú c tr ê n m ô h ìn h p h ầ n m ê m đ ư ợ c g ọ i là n h ấ t q u á n to à n p h ầ n trê n các th u ộ c tín h đ ộ n g (v ớ i

m ô h ìn h b a n đ ầ u ), n ế u v ớ i m ỗ i k ịc h b ả n trê n m ô h ìn h h iệ n tạ i, tiề n v à h ậ u đ iề u k iệ n củ a nó

đ ề u tư ơ n g đ ư ơ n g lo g ic v ớ i tiề n v à h ậ u đ iề u k iệ n c ủ a k ịc h b ả n tư ơ n g ứ n g trê n m ô h ìn h b an

M ộ t c á c h h ìn h th ứ c h ó a , c h o R : M — ° (SUBms) > M ' là m ộ t tiế n trìn h tái c ấ u trú c , M '

g ọ i là n h ấ t q u á n to à n p h â n trê n cá c th u ộ c tín h đ ộ n g v ớ i M n ếu

VSịM e SUBm A PREs m = PRESlM a POSTSìM = POSTSiM'

M ệ n h đ ề 3 (N h ấ t q u á n b ộ p h ậ n trê n các th u ộ c tín h đ ộ n g ) M ộ t tiế n trìn h tái c ấ u trú c

m ô h ìn h p h â n m ề m đ ư ợ c g ọ i là n h ấ t q u á n b ộ p h ậ n trê n c á c th u ộ c tín h đ ộ n g (so v ớ i m ô h ìn h

b a n đ â u ) n ế u tiề n đ iề u k iệ n c ủ a các k ịc h b ả n trê n m ô h ìn h h iệ n tại (m ô h ìn h sa u k h i đ ã tái

c â u trú c ) k h ô n g h ề th a y đ ổ i, h ậu đ iề u k iệ n c ủ a cá c k ịc h b ả n ch ì th ỏ a m ã n m ộ t p h ầ n so vớ i tiề n /h ậ u đ iề u k iệ n c ủ a cá c k ịc h b ản tư ơ n g ứ n g tro n g m ô h ìn h gốc

M ộ t c á c h h ìn h th ứ c h ó a , c h o R : M — D-^SUB-^ -s '> - >A/' là m ộ t tiế n trìn h tá i c ấ u trú c , M '

đ ư ợ c e ọ i là n h ấ t q u á n b ộ p h ậ n trê n cá c th u ộ c tín h đ ộ n g so v ớ i m ỗ h ìn h M n ếu

v s /w e SUBm a PRESiM = PRESiM' A POSTSiM => POSTSiư

T r o n g trư ờ n g h ọ p n à y , n ế u POSTSiM => POSTSịM’, n h ư v ậ y g iá trị c ủ a các rà n g b u ộ c

trê n c á c k ịc h b ả n trê n các th u ộ c tín h c ô n g k h a i v ẫn n ằ m tro n g m iề n k ỳ v ọ n g

Trang 14

M ệ n h đ ề 4 (K h ô n g n h â t q u á n ) M ộ t tiế n trìn h tái c ấ u trú c m ô h ìn h p h ầ n m ềm đ ư ợ c

g ọ i là k h ô n g n h ât q u á n n ê u n ó đ ồ n g th ờ i k h ô n g th ỏ a m ã n c ả n h ấ t q u á n to à n p h ầ n v à n h ất

q u á n bộ p h ậ n trê n cá c th u ộ c tín h độn g

5.4 Kiêm chứng tính nhất quán của hệ thống ARTC trên các mô hình phần mềm

T ừ c á c tiê u ch í th ể h iệ n q u a các m ệ n h đ ề v ề k iể m c h ứ n g tín h n h ấ t q u á n , c h ú n g tô i đ ã

á p d ụ n g c h o m ô h ìn h Ư M L /O C L c ủ a h ệ th ố n g A R T C v à k iể m c h ứ n g tín h n h ấ t q u á n c ủ a

k ịc h b ả n c a lc u la tin g o p tim a l c o n tr o l đ ư ợ c đ ặc tả tro n g m ô h ìn h k h ở i đ ầ u (H ìn h 1 v à H ìn h

2 ) v à m ô h ìn h tá i c ấ u trú c (H ìn h 3 v à H ìn h 4)

6 Kiếm chứng tính nhất quán trong tái cấu trúc chương trình phần mềm

6.1 Các luật kiếm chứng tính nhất quán trong tái cấu trúc chương trình phần mềm

M ệ n h đ ề 5 [B ảo to à n sự th ự c th i c ủ a c h ư ơ n g trìn h n g u ồ n ] M ộ t c h ư ơ n g trìn h p đ ư ợ c

g ọ i là b ả o to à n th ự c th i n ế u v ớ i m ỗi k ịc h b ả n , trư ớ c v à s a u k h i th ự c thi c h ư ơ n g trìn h tiề n v à

h ậ u đ iề u k iệ n củ a nó đ ều đ ư ợ c b ảo to àn

C h ú n g ta có th ể b iể u d iễ n m ộ t c á c h h in h th ứ c h ó a m ệ n h đ ề n à y n h ư sau:

P R E Sp [S p ]POST sp

M ệ n h đ ề 6 [S ự b ảo to à n th ự c thi c ủ a c h ư ơ n g trìn h tá i c ấ u trú c] M ộ t c h ư ơ n g trìn h tái

c â u trú c p ' đ ư ợ c g ọ i là b ả o to à n th ự c th i v ớ i c h ư ơ n g trìn h n g u ồ n p n ế u v ớ i c ù n g m ộ t k ịc h

bản, tiền và hậu điều kiện của nó đều được bảo toàn sau khi thực hiện tái cấu trúc.

C h ú n g ta b iể u d iễ n m ệ n h đề n à y b ằ n g c ô n g th ứ c h ìn h th ứ c n h ư sau,

p R E Sp [SPI] P 0 S T SP,

6.2 Áp dụng phương pháp kiểm chúng vào hệ thống A RTC tại giai đoạn cài đặt

B à i to á n A R T C đ ã đ ư ợ c m ô tà tro n g p h ầ n 3, tạ i đ ó , c h ú n g ta c ũ n g đ ã x e m x é t đ ế n

m ộ t số h à n h v i c ầ n b ả o to à n c ủ a h ệ th ố n g trư ớ c k h i tiế n h à n h tá i c ấ u trú c b ằ n g c á c h sử d ụ n g

p h â n m ê m O p e n J M L tíc h h ợ p v ào m ôi trư ờ n g E c lip s e S a u đ â y , c h ú n g ta sẽ áp d ụ n g tậ p lu ật

đ ã x â y d ự n g đ ê k iê m c h ứ n g sự b ả o to à n c ủ a c á c h à n h v i tr ê n tro n g c h ư ơ n g trìn h đ ã đ ư ợ c tái

c ấ u tr ú c

T h ô n g q u a q u á trìn h th ự c n g h iệ m , c h ú n g tô i đ ã th ự c h iệ n c à i đ ặ t m ã n g u ồ n ch o hệ

th ô n g A R T C trư ớ c v à s a u k h i th ự c h iệ n tá i c ấ u trú c K e t q u ả c ủ a q u á trìn h k iể m c h ứ n g đ ư ợ c

th ê h iệ n tr o n g H ìn h 6

12

Trang 15

I Static Checks fo r 02

"7tf02

A tF02.O ptim izer

[VALID] O p tim Ì2 e r(tFỌ 2 TrafficC o n troller^lG N AtTtF02.TraffĩcController.STATE,tF02JrafficC ontroller.DIRECT10N) [0.38 cvc4]

re d ) A N D (g re e n T im e < = 60)) else if (s ta te = h ig h T ra ffic ) th e n (d ire c tio n = CHOOSE) else (d ire c tio n = NO_CHOOSE) end'rf e n d if e nd rf

E v o lu tio n

P o s tc o n d itio n s

i f (s ta te = h ea vyT ra ffic.) th e n ((s ig n a l =

g re e n ) A N D (g re e n T im e > 60)) else if (sta te = lo w T ra ffic ) th e n ((s ig n a l

= re d ) A N D (g re e n T im e < = 60)) else if (s ta te = h ig h T ra ffic ) th e n (d ire c tio n = CHOOSE)

else (direction = NO_CHOOSE) endif endif endif

In itia l P o s tc o n d itio n V ariables 1E v o lu tio n P o s tc o n d itio n Variables

H ình 7 Giao diện của chương trình kiếm chứng p h â n mềm

n h iê u c ô n g cụ h ỗ trợ ch o tiế n tr in h tá i c ấ u trú c v à cá c c ô n g c ụ n ày đ a p h ầ n đ ề u hỗ trợ ở g iai

đ o ạ n cài đ ặ t m ã n g u ồ n C ác c ô n g c ụ n à y có th ể h ỗ trợ m ộ t p h ầ n (s e m i-a u to m a tic ) h o ặc to à n

Trang 16

p h â n (fu lly -a u to m a tic ) c h o tiế n trìn h tái c ấ u trú c T ro n g p h ạ m v i n g h iê n c ứ u c ủ a đề tài này,

c h ú n g tô i q u a n tâ m đ ế n v iệ c x â y d ự n g c ô n g c ụ hỗ trợ k iể m c h ứ n g tín h n h ấ t q u á n c ủ a hệ

th ô n g p h ầ n m ề m tại g ia i đ o ạ n th iế t kế v ớ i tiế n trìn h tái c ấ u trú c có sử d ụ n g m ẫ u th iế t kế Ý

tư ở n e c h ín h c ủ a c h ú n g tô i k h i tiế n h à n h x â y d ự n g bộ c ô n g c ụ h ỗ trợ k iể m c h ứ n g là v ớ i m ỗ i

c ặ p k ịc h b ả n tư ơ n g ứ n g tro n g m ô h ìn h n g u ồ n v à m ô h ìn h tái c ấ u trú c , b ấ t b iến , tiề n /h ậ u đ iề u

k iệ n c ủ a n ó sẽ đ ư ợ c b iể u d iễ n b ở i O C L C ác rà n g b u ộ c n à y c ũ n g đ ư ợ c s ử d ụ n g làm bộ d ữ

liệ u đ ầ u v à o c ủ a c ô n g cụ S a u q u á trìn h k iể m c h ứ n g , bộ c ô n g c ụ sẽ trả lại k ế t q u ả n h ấ t q u á n

h o ặ c k h ô n g đ ổ i v ớ i c ặ p k ịc h b ả n đ ã k iể m c h ứ n g n à y C ô n g c ụ đ ư ợ c x â y d ự n g trê n n ề n tả n g

c ủ a n g ô n n g ữ lập trìn h Ja v a , sử d ụ n g W in d o w s B u ild e r đ ể tạ o g iao d iệ n v à Z3 J a v a A P I

(A p p lic a tio n P ro g ra m In te rfa c e ) đ ể k iể m tra tín h logic c ủ a c á c rà n g b u ộ c g iữ a cá c c ặ p k ịc h

b ả n tư ơ n g ứ n g c ủ a h ai m ô hình

G ia o d iệ n c h ín h c ủ a c ô n g c ụ k iể m c h ứ n g sẽ b ắ t đ ầ u b à n g m ộ t m à n h ìn h để n h ậ p v ào

b ấ t b iế n , tiề n v à h ậ u đ iề u k iệ n c ủ a k ịc h b ả n c ầ n k iế m c h ứ n g tro n g m ô h ìn h p h ầ n m ềm

T ro n g c ử a sô n à y có cá c n ú t đ iê u k h iê n th ự c h iệ n cá c c h ứ c n ă n g k h ác n h a u b a o g ô m In itia l

I n v a r ia n ts , E v o lu tio n In v a r ia n ts , I n itia l P r e c o n d itio n V a r ia b le s , E v o lu tio n P r e c o n d itio n

V a r ia b le s , In itia l P o stc o n d itio n V a ria b le s v à E v o lu tio n P o s t-c o n d itio n V a ria b les, đ ê k iêm

tra k ie u c ủ a từ n g b iế n h a y từ n g b iể u th ứ c có tro n g k ịc h b ả n c ầ n k iể m tra G ia o d iệ n đ ư ợ c

m in h h ọ a n h ư tro n g H ìn h 7 Q u á trìn h k iể m c h ứ n g đ ư ợ c lặ p đ i lặp lại v ớ i m ỗ i c ặ p k ịc h b ả n

tư ơ n g ứ n g c ủ a c á c m ô h ìn h p h ầ n m ề m (m ô h ìn h trư ớ c tái c ấ u trú c v à m ô h ìn h tá i c ấ u trú c

tương ứng của nó) Ncu tất cả các cặp kịch bản đều trả về kết quả nhất quán thì khi đỏ

T ro n g đề tà i n ày , c h ú n g tô i đ ã đề x u ấ t p h ư ơ n g p h á p k iể m c h ứ n g tín h n h ấ t q u á n c ủ a

h ệ th ố n g p h ầ n m ề m trư ớ c v à sau k h i tá i cấ u trú c b ằ n g c á c h áp d ụ n g m ẫ u th iế t kế P h ư ơ n g

p h á p k iể m c h ứ n g c ủ a c h ú n g tô i đ ư ợ c th ự c h iệ n m ộ t c á c h tu ầ n tự tạ i các g iai đ o ạ n th iế t kế v à

cà i đ ặt h ệ th ô n g Đ e k iê m c h ứ n g tạ i g ia i đ o ạ n th iế t kế, c h ú n g tô i m ô h ìn h h ó a hệ th ố n g b ằ n g

U M L v à d ù n g O C L đ ể b iể u d iễ n cá c h à n h v i c ầ n b ả o to àn Đ e k iể m c h ứ n g tạ i g ia i đ o ạ n c à i

d ặ t, c h u n g tô i m ã h o a h ệ th ố n g b ằ n g n s ô n n g ư ỉập ti ìn h J a v a , b iế u d iễ n h à n h vi b a n g JIvIL

v à th ự c h iệ n k iể m c h ứ n g m ộ t c á c h tự đ ộ n g b ằ n g p h ầ n m e m O p e n JM L tíc h h ợ p v à o m ô i trư ờ n g E c lip se

P h ư ơ n g p h á p c ủ a c h ú n g tô i th ế h iệ n tín h th ố n g n h ấ t về m ặ t lý lu ậ n (x u y ê n su ố t h ai

g ia i đ o ạ n c ủ a q u á trìn h p h á t triế n p h ầ n m ề m ), đ ồ n g th ờ i k h ả th i về m ặ t th ự c tiễ n (ở g iai

14

Trang 17

đ o ạ n th iế t kê c h ú n g tô i đ ã tự x â y d ự n g c ô n g c ụ hỗ trợ , ở g iai đ o ạ n cà i đ ặ t c h ú n g tô i sử d ụ n g

p h â n m e m O p e n JM L đ ã có sẵn ) N h ư v ậ y , tiế n trìn h k iể m c h ứ n g tín h n h ấ t q u á n c ủ a h ệ

th ô n g p h â n m ề m tro n g tiế n trìn h tái c ấ u trú c đ ư ợ c c h ia th à n h h a i p h a riê n g biệt K ế t q u ả

k iể m c h ứ n g ở p h a th ứ n h ấ t (p h a th iế t k ế ) sẽ đ ư ợ c co i là c ơ sở k h o a học đ ể tiế p tụ c k iể m

c h ứ n g ở p h a th ứ 2 (p h a cà i đ ặt) N e u n g a y tại p h a đ ầ u tiên , k ế t q u ả k iể m c h ứ n g đ ã trả về là

k h ô n g n h ấ t q u án , th ì các n h à p h á t triể n p h ầ n m ề m có th ể p h á t h iệ n lỗi c ủ a tiế n trìn h tái c ấ u

trú c n g a y tạ i g iai đ o ạ n n à y Đ â y là m ộ t tro n g n h ữ n g ư u đ iể m tro n g p h ư ơ n g p h á p m à c h ú n g

tô i đ ê x u â t vì nó có th ể g iả m c h i p h í n s a y từ n h ữ n g g ia i đ o ạ n đ ầ u c ủ a tiế n trìn h tá i c ấ u trú c

p h ầ n m ề m

Đ ã có n h iê u c ô n g trìn h n g h iê n c ứ u th ự c h iệ n kiểm tra tín h n h ấ t q u á n trong các m ô

h ìn h p h â n m ê m , tu y n h iê n , n h ữ n g c ô n g trìn h n à y c h ù y ế u tậ p tru n g v à o sự n h ấ t q u á n g iữ a

c á c g ia i đ o ạ n k h á c n h a u tro n g s ự c h u k ỳ p h á t triể n c ủ a m ô h ìn h p h ầ n m ề m (k iể m tra tín h

n h â t q u á n g iữ a g ia i đ o ạ n cài đ ặ t v à g iai đ o ạ n th iế t k ế ) h o ặc g iữ a n h iề u loại sơ đ ồ k h á c n h a u

tro n g m ộ t m ô h ìn h (k iể m tra tín h n h ấ t q u á n g iữ a b iể u đ ồ trạ n g th á i v à b iể u đồ trìn h tự ), tro n g k h i đ ó n g h iê n c ứ u c ù a c h ú n g tô i lại c h ú trọ n g tro n g v iệ c k iể m tra tín h n h ấ t q u á n g iữ a

h a i m ô h ìn h hệ th ố n g p h ầ n m ề m (m ô h ìn h trư ớ c v à sa u k h i tá i c ấ u trú c ) tại các g iai đ o ạ n

th iế t k ế v à c à i đ ặ t h ệ th ố n g p h ầ n m ề m [9 ,1 0 ]

Đ ê m in h h ọ a ch o p h ư ơ n g p h á p đ ã đ ề x u ấ t, c h ú n g tô i c ũ n g x â y d ự n g m ộ t m ô h ìn h c ủ a

m ộ t h ệ th ố n g đ iề u k h iể n lư u lư ợ n g g ia o th ô n g đ ư ờ n g b ộ (A d a p tiv e R o a d T ra fic C o n tro l -

A T R C ) tro n g U M L T ro n g v í d ụ n à y , c h ú n g tô i c h ỉ m in h h ọ a c h ỉ v iệ c k iê m c h ứ n g tín h n h â t

q u á n k h i á p d ụ n g m ẫ u S tra te g y tro n g m ô h ìn h trê n m ộ t b ộ k ịc h b ả n (b iể u d iễ n c h o c ù n g m ộ t

c h ứ c n ă n g tư ơ n g ứ n g g iữ a h a i m ô h ìn h ), c á c k ịc h b ả n k h á c có th ể đ ư ợ c th ự c h iệ n m ộ t c á c h

tư ơ n g t ự d ố i v ớ i cá c h ệ th ố n g p h ứ c tạ p h ơ n K e t q u ả c u ố i c ù n g c ủ a v iệ c k iể m tra tín h n h ấ t

q u á n c ủ a c á c h à n h v i b ê n n g o à i g iữ a c á c h ệ th ố n g p h ụ th u ộ c trê n sự k ế t h ợ p c ủ a tấ t c ả cá c

k ế t q u ả k iể m tra tro n g m ỗ i c ặ p k ịc h b ả n tư ơ n g ứ n g g iữ a ch ú n g N ế u c h ỉ c h ỉ tồ n tạ i m ộ t k ế t

q u ả k h ô n g n h ấ t q u á n , th ì k ế t q u ả k iể m tra g iữ a h a i h ệ th ố n g đ ư ợ c c o i là k h ô n g n h ấ t q u á n

h o ặ c c h ỉ n h ấ t q u á n m ộ t p h ầ n

N h ư đ ã đ ề c ậ p trư ớ c đó, q u á trìn h k iể m tra s ự n h ấ t q u á n đ ã đ ư ợ c tiế n h à n h m ộ t c á c h

tự đ ộ n g tại c ả h a i g ia i đ o ạ n , tu y n h iê n q u á trìn h tín h to á n cá c rà n g b u ộ c trê n h ệ th ố n g s a u tá i

c â u trú c v ẫ n c ò n th ự c h iệ n m ộ t c á c h th ủ c ô n g Đ iề u n à y , d ẫ n đ ế n v iệ c tiê u tố n th ờ i g ia n v à

k h ả n ă n g p h á t s in h lỗi T ro n g c á c n g h iê n c ứ u tiế p th e o , c h ú n g tô i sẽ x â y d ự n g các c ô n g c ụ

h ỗ trợ đ ể th ự c h iẹ n c a c c ô n g v iệ c n à y m ọ t c á c h tụ d ộ n g

Trang 18

Tài liệu th a m khảo

[1] E J C hikofsky, J H Cross, et al., Reverse engineering and design recovery: A taxonom y, Softw are, IEEE 7 (1) (1990) 13-17

[2] E Gam m a, R Helm , R Johnson, J V lissides, D esign patterns: elem ents o f reusable object- oriented languages and system s (1994)

[3] P Bottoni, F Parisi-Presicce, G Taentzer, C oordinated distributed diagram transform ation for softw are evolution, Electronic N otes in Theoretical C om puter Science 72 (4) (2003) 59-70

[4] c Zhao, J Kong, K Z hang, D esign pattern evolution and verification using graph transform ation, in: HICSS 2007 40th A nnual H aw aii International C onference on System Sciences,

2007, pp 290a-2 9 0 a

[5] N V Eetvelde, D Janssens, A hierarchical program representation for refactoring, Electronic

N otes in T heoretical C om puter Science 82 (7) (2003) 91 - 104, uN IG R A ’03, Uniform A pproaches

to G raphical P rocess Specification T echniques (Satellite Event for ETA PS 2003)

[6] K R anjini, A K anthim athi, Y Y asm ine, Article: D esign o f adaptive road traffic control system through unified m odeling language, International Journal o f C om puter A pplications 14 (7) (2011)

3 6 -4 1 , full text available

[7] c M arché, c P aulin-M ohring, X Urbain, T he krakatoa tool for certification o f java/javacard program s annotated in jm l, The Journal o f Logic and A lgebraic Program m ing 58 (1) (2004) 89-106.[8] D R C ok, O penjm l: Jm l for ja v a 7 by extending openjdk, in: N A S A Form al M ethods Sym posium , Springer, 2011, pp 472^479

[9] H ong A nh Le, Shin N akajim a, N inh Thuan Truong F orm al analysis o f im precise system

requirem ents w ith Event-B, SpringerPlus (2016) 5:1000 ISI journal

[10] T hi-H uong Dao, Hong-A nh Le, N inh-T huan T ruong, A n approach to analyzing execution preserva tio n in Ja v a program refactoring, International C onference on C ontext-A w are System s and

A pplications (IC C A S A ) 2016

9 T ó m t ắ t k ế t q u ả ( tiế n g V iệ t v à tiế n g A n h )

S au th ờ i g ia n n g h iê n c ứ u v à triể n k h ai, đ ề tà i đ ã đ ạ t đ ư ợ c m ộ t số k ế t q u ả c ụ th ể n h ư

Trang 19

- U tiliz in g O C L a n d JM L to s p e c ify a n d c h e c k in g th e c o n s is te n c y o f s o ftw a re d e sig n

and J a v a p ro g ra m s re s p e c tiv e ly , an d

- Illu stra tin g th e p ro p o s e d a p p ro a c h w ith a c a se s tu d y o f A R T C sy stem

B u ild in g th e s u p p o rt to o l ’’C o n s is te n c y V a lid a to r”

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

TRUNG TÂM THÔNG TIN THƯ VIỆN !

DŨŨẺŨŨQŨ4ỈÙ L

Trang 20

PHẦN III SẢN PHẤM, CÔNG BÓ VÀ KÉT QUA ĐÀO TẠO CỦA ĐÈ TÀI

- Đầu vào là các mô hình biểu diễn dưới dạng biểu đồ

UM L của mô hình ban đầu

và mô hình tái cấu trúc

- Đ ầu ra là kết quà về sự bảo toàn các hành vi cùa mô hình tái cấu trúc

1 Công trình công bô trên tạp chí khoa học quôc tê theo hệ thông ISI/Scopus

1.1 H ong A nh L e , Shin N a k a j i m a ,

analysis o f im precise system

requirem ents w ith E vent-B,

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

N inh-Thuan Truong, A n approach

Trang 21

C onference on C ontext-A w are

System s and A pplications

Cột sản p h à m khoa học cô n g nghệ: L iệt kê các thông tin các sà n p h á m K H C N theo thứ tự

<tèn tác giã, tên công trình, tên tạp chí/nhà xu ấ t bàn, số p h á t hành, năm p h á t hành, trang đăng cóng trình, m ã công trình đủng tạp chí/sách chuvên khảo (DOI), loại tạp ch í ISI/Scopus>

Các ấn p h ẩ m khoa học (bài báo, báo cáo KH, sách chuyên kh á o ) ch ỉ đươc chấp nhân nếu

có g h i nhặn địa ch ỉ và cảm ơn tài trợ cùa Đ H Q G H N theo đúng quy định.

Ban p h ô tỏ toàn văn các ân p h ã m này p h ả i đư a vào p h ụ lục các m inh chím g cùa báo cáo

R iên g sách chuyên khảo cân có bàn p h ô tô bìa, trang đầu và trang cuối có g h i thông tin m ã số xu ấ t

3.3 K et q u ả đ ào tạo

T h ờ i gian v à

k in h p h í th a m gia đ ề tà i

(sổ tháng/số tiền)

C ô n g tr ìn h công bố liên q u a n

(Sàn phãm KHCN, luận án, luận văn) Đ ã bảơ vệ

N ghiên cứu sinh

T huan Truong Form al analysis o f

im precise system requirem ents w ith

E vent-B , SpringerPlus (2016)

5:1000

2 T hi-H uong Dao, H ong-A nh Le,

N inh-T huan Truong, An approach to analyzing execution preservation in Java program refactoring,

T ruong, A n approach to analyzing execution preserva tio n in Ja va p rogram refactoring, International C onference on

Chưa bào vệ

Trang 22

C ontext-A w are System s and A pplications (IC C A SA ) 2006.

Hoc viên cao hoc

T rư òng, K20

T ên luận văn: Kiểm chứng giao diện phần

m ềm bằng phưong pháp mô hình hóa Event- B

T ên khóa luận: Phát triển công cụ kiểm chúng mô hình sử dụng m ẫu thiết kế

Đã bào vệ

Ghi chú:

G ử i kèm bản photo trang bìa luận á n / luận vă n / khóa luận và bang hoặc giấy chứ ng nhận

n ghiên c ứ u sinh/thạc sỹ nếu học viên đ ã bảo vệ thành công luận á n / luận văn;

C ộ t công trình công bố g h i n h ư m ục III 1.

Trang 23

5 Sô lượng bài báo trên các tạp chí khoa học của Đ 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 nghị quốc tế

hàng của đơn vị sử dụng

7 Kêt quả dự kiên được ứng dụng tại các cơ quan hoạch định

chính sách hoặc cơ sở ứng dựng KH& CN

2 Nguyên, nhiên vật liệu, cây con

Trang 24

P H A N V K IẼ N N G H Ị (vê p h á t triên các kết quả nghiên cứu của đẽ tài; về quàn lý, tô chức thực hiện ở các cấp)

Các kết quả của đề tài liên quan đến nghiên cứu cơ bản về C ông nghệ phần m ềm , có giá trị cà trong

lý thuyết và thực tiễn phát triển phần m ềm , có thể được ứng dụng trong giảng dạy và nghiên cứu

C ông nghệ phần mềm, Phân tích thiết kế hướng đối tượng, Các phương pháp hình thức trong phát triển phần m ềm H ướng nghiên cứu và kinh phí của đề tài đã trợ giúp hiệu quả cho các N CS và học viên cao học, sinh viên thực hiện luận án, luận văn và khóa luận tốt nghiệp N hóm nghiên cứu kiến nghị Đ H Q G H N tiếp tục tài trợ để nhóm hoàn thiện các sàn phẩm nghiên cứu cũng như phát triển các kết quà mới liên quan đến hướng mô hình hóa và kiểm chứng hệ thống phần mềm

22

Trang 25

P H A N VI P H Ụ L Ụ C (m inh chícng các sàn p h á m nêu ở Phán III)

1 Bài báo: H ong A nh Le, Shin N akajim a, N inh Thuan Truong F orm al analysis o f imprecise system requirem ents w ith E vent-B , SpringerPlus (2016) 5:1000.

2 B ài báo: T hi-H uong Dao, H ong-A nh Le, N inh-T huan Truong, A n approach to analyzing execution p reserva tio n in Ja v a p ro g ra m refactoring, International C onference on Context-

A w are System s and A pplications (IC C A SA ) 2006 Springer

3 Q uyết định cap bang của N C S Lê H ong A nh

4 Q uyết định vể đổi tên để tài và G VH D của N C S Đào Thị H ư ờng

5 Trang bìa luận văn thạc s ĩ N guyên X uân Trưcmg

6 Trang bìa luận văn thạc s ĩ P hạm N h ư Uyến

7 Trang bìa luận văn thạc s ĩ B ùi Thị Thúy

8 Trang bìa khóa luận tốt nghiệp của sinh viên N guyên H oàng A nh

9 Trang bìa khóa luận tốt nghiệp của sinh viên N guyên A nh Tuấn

10 Thuyết m inh để cư ơ ng đề tài

Trang 26

DOI 10.1186/S40064-016 -26 5 7 -8 0 SpringerPlus

Formal analysis of imprecise system

Hong Anh L e 1*, Shin Nakajima2 and Ninh Thuan Truong3

v a g u e o r fu z z y te rm s, h e n c e fo rm a l fra m e w o rk s fo r m o d e lin g a n d v e rify in g such

re q u ire m e n ts are d e sira b le T he Fuzzy If-T h e n rules have b e e n used fo r im p re c is e

re q u ire m e n ts re p re s e n ta tio n , b u t v e rify in g th e ir fu n c tio n a l p ro p e rtie s still n e e ds

n e w m e th o d s In th is p a per, w e p ro p o s e a re fin e m e n t-b a s e d m o d e lin g a p p ro a c h fo r

s p e c ific a tio n a n d v e rific a tio n o f su ch re q u ire m e n ts First, w e in tro d u c e a re p re s e n ta tio n

o f im p re c is e re q u ire m e n ts in th e set th e o ry T h e n w e m a ke use o f Event-B re fin e m e n t

p ro v id in g a set o f tra n s la tio n rules fro m Fuzzy If-T h e n rules to Event-B n o ta tio n s A fte r

th a t, w e s h o w h o w to v e rify b o th sa fe ty and e v e n tu a lity p ro p e rtie s w ith R O D IN /E vent-

B Finally, w e illu s tra te th e p ro p o s e d m e th o d o n th e e x a m p le o f C ra ne C o n tro lle r.

Keyw o rd s: Im p re cise re q u ire m e n ts , Event-B, A nalysis

Introduction

R equirem ent engineering is a process of specifying, analyzing, and checking provided services and constraints of a system It is one of the m ost significant steps in software developm ent System requirem ents aim to take into account various dem ands of all the stakeholders, w here detecting and resolving conflicts is im portant The requirem ents som etim es include im precise descriptions w here am biguous, vague or fuzzy term s, such

as "very good" “far" or “less im p o rta n t”, are used This is because the stakeholders do not care m uch abo u t describing the system precisely or im precise requirem ents are more suitable in som e contexts In softw are developm ent, im precision in the requirem ent specification also causes m any problem s Formal specification m ethodologies, however, require the requirem ents to be described precisely Hence, there is a gap betw een im pre­ cise requirem ents and form al specification m ethods Therefore, fram ew orks which are formal enough to be used for analyzing as well as representing im precise requirem ents are desirable.

The m ethod w ith Fuzzy sets, proposed by Zadeh (1965), is one such form al fram e­ work, w here the Fuzzy If-T h en rules are som etim es em ployed to represent im precise system icq airem en is Inform al statem en ts expressed in natural languages such ai> "very far” or “too close” can be naturally captured using Fuzzy sets, which enables further

Springer Open © 2016 The Author(s) This article is distribu ted under the terms o f th e Creative Comm ons A ttrib u tio n 4.0 International License (hưpy/creatỉvecom m ons.org/llcenses/by/4.0/), w hich permits unrestricted use, distribution, and reproduction in any medium,

provided you give appropriate credit to th e original author(s) and th e source, provide a link to the Creative Comm ons license, and indicate if changes were made.

Trang 27

analysis on the specifications The analysis involves continuous num erical reasoning

since the Fuzzy set is essentially based on the idea of representing the fuzziness degree

in term s of Real num bers betw een 0 and 1.

In general, system requirem ents include functional specifications, whose various

p roperties are checked at this sam e level of abstraction before starting further develop­

m ent steps The requirem ents w ritten in term s of Fuzzy If-T hen rules can be an ade­

quate representation, b u t require fu rth er techniques for checking properties formally,

which may elucidate perspectives different from those for detecting and resolving con­

flicts of the requirem ents The Fuzzy If-T hen rules have been translated into o ther for­

mal fram ew orks such as P etriN et (Intrigila et al 2005; Yang et al 2003) or z notation

(Chris and Paul 2003) U nfortunately, these existing approaches have disadvantage in

that they do n o t provide adequate verification m ethods for tem poral properties such as

safety or eventuality The existing approaches are discussed in m ore detail in “Related

work" section.

This paper em ploys Event-B and its refinem ent-based m odeling approach for specifi­

cation and verification o f b oth safety and eventuality properties w hen the requirem ents

are represented by the Fuzzy If-T hen rules In particular, we apply th e proof m ethods

proposed in H oang and Abrial (2011) to verify the eventuality properties O ur prior

work (Le et ai 2014) initially proposed to use Event-B to form alize im precise req u ire­

m ent It provided the basic result of checking safety property of im precise requirem ent

using Event-B This p aper reports the concrete results of form al checking of both safety

and eventuality properties for im precise system requứ em ents The contributions of the

paper are as follows: (1) providing a presentation o f fuzzy term s in classical set theory,

(2) providing a set of translation rules from Fuzzy I f-'lh e n rules to Event-B language

co n stru cts, w hich makes use of the refinem ent m odeling approach th a t Event-B sup­

ports, and (3) dem onstrating how b oth safety and eventuality properties of a set of the

Fuzzy If-T h en rules can be verified using RODIN (Abrial et al 2010), a supporting tool

for Event-B.

The rest o f the paper is stru ctu red as follows Section “B ackgrounds” provides some

background of fuzzy sets, fuzzy If-T hen rules, and Event-B In “Im precise requirem ents

analysis w ith Event-B” section, we give a representation of fuzzy sets in classical sets

Using such representation, we first introduce a set of translation rules to m odel fuzzy I f-

Then rules by Event-B Then, we propose a refinem ent-based m odeling m ethod to spec­

ify an d check eventuality properties In fourth section presents the exam ple of a crane

controller to illustrate the proposed m ethod in detail We sum m arize "Related w ork” in

fifth section "C onclusions'’ are given in final section.

Backgrounds

In th is section, we briefly introduce an overview of fuzzy logics (in the broad sense)

that m ainly serve for lies'.I i’ning and analyzing imprecisene.-vs 'X'c also sum m arize basic

know ledge of Event-B.

Trang 28

Fuzzy sets and fuzzy If-T h e n rules

In o rder to deal w ith systems which are too com plex or too ill-defined to adm it of pre­

cise descriptions, Z adeh (1965) introduces a logical fram ew ork w hich is not traditional

tw o-valued, b u t m ulti-valued logics w hose values are interpreted by Fuzzy sets.

Fuzzy sets are actually functions that m ap a value th a t m ight be a m em ber of a set to a num ber betw een zero and one indicating its actual degree of m em bership A fuzzy set F

defined on a universal set X is a set, each elem ent of w hich is a pair of values (X, ụ fix )),

w h ere X e X and f j f (x) : X —»• [0 ,1 ].

Fuzzy sets use so-cailed linguistic variables in addition to num erical variables The val­

ues of a linguistic variable are labels of fuzzy subsets of X w hich have the form of phrases

or sentences in a natural or artificial language For example, height is a linguistic variable

labeled X, and the values of X m ight be “tall” “n ot tall”, “very tall” or “tall b u t not very tall”

Generally, a value of a linguistic variable is a concatenation of atom ic term s that can be

divided into m ain categories show n below:

♦ Prim ary terms: w hich are labels of specified fuzzy subsets of the universal set (for

instance: tall in the above example).

♦ Hedges: such as “very”, "slightly’’, etc.

♦ N egation and connectives symbols (i.e not, and, or).

A fuzzy hedge is an o perator w hich transform s the fuzzy set F(x) into the fuzzy set F{hx)

The hedges are the functions that generate a larger set of values for linguistic variables

For instance, using hedge very along w ith negation not applied to the term tall, we can

have very tall or not very tall.

A m ore general concept, w hich plays an im p o rta n t role in the fuzzy sets approach to analyzing im precise description, is Fuzzy If-T hen rules They are m ainly used for speci­

fying behavior of the system It has a form: IF X is A TH EN y is B where A and B are

fuzzy sets; X and y are linguistic variables Here is an example: IF the weather is bad

TH EN th e speed is slow.

Event-B a n d Rodin

Event-B

Event-B Abrial (2010) is a form al m eth o d for system -level m odeling and analysis Key

features of Event-B are the use of set theory as a m odeling notation, the use of refine­

m ent to represent system s at different abstraction levels and the use of m athem atical

proofs to verify consistency betw een refinem ent levels A basic stru ctu re of an Event-B

m odel consists of M A C H IN E and CONTEXT.

An Event B C O N TEX T describes a static p art w here all the relevant properties and hypotheses are defined A C O N TEX T consists of carrier sets, constants, axioms C arrier

sets, denoted by s, are renrpsented by their nam es, and are non-em pty Different carrier

sets are com pletely independent The constants c are defined by m eans of a num ber of

axiom s P{s, c) also depending on the carrier sets s.

A M A C H IN E is defined by a set of clauses A m achine is com posed of variables, invar­

iants, th e o re m s and events Variables V are representing states of the model Invariants

l (v) y ie ld t h e la w s t h a t s t a t e v a r ia b le s V m u s t a lw a y s s a tisfy T h e s e la w s are f o r m a liz e d

Trang 29

by m eans of predicates expressed w ithin the language of First O rder Predicate Calculus

with Equality extended by Set Theory Events £(v) present transitions betw een states

Each event has the form evt = any X w h ere G{x, v) th e n A(x, V, v') end, where X are local

variables of the event, G(x, v) is a guard condition and A(x, V, v') is an action An event is

enabled w hen its guard condition is satisfied The event action consists of one or m ore

assignm ents We have three kinds of assignm ents for expressing the actions associated

w ith an ev en t: (1) a d e te rm in is tic m u ltip le a ss ig n m e n t (V : = £ ( i , v)), (2) an em p ty assig n ­

m e n t (skip), o r (3) a non-determ inistic m u ltip le assignm ent (v : IP (t, V, x')).

To deal with com plexity in m odeling systems, Event-B provides a refinem ent m echa­

nism th a t allows us to build the system gradually by adding m ore details to get a m ore

precise model A concrete Event-B m achine can refine at m ost one abstract m achine A

refined m achine usually has m ore variables than its abstraction as we have new variables

to represent m ore details of the model In superposition refinem ent, the abstract vari­

ables are retained in th e concrete m achine, w ith possibly som e additional variables In

data refinem ent, the abstract variables V are replaced by concrete ones w Subsequently,

th e c o n n e c ti o n s b e tw e e n th e m a re r e p r e s e n te d b y th e r e la tio n s h ip b e tw e e n V a n d w , i.e

gluing invariants J(v, w).

In order to check if a m achine satisfies a collection of specified properties, Event-B

defines p ro o f obligations (POs) which we m ust discharge Some of the p roof obligations

relevant to discussion here are invariant preservation (INV), convergence (VAR), dead-

lock-freeness (DLF) INV PO m eans th at we m ust prove that invariants hold after event's

execution The proof obligation is as follows: /(v ), G(x, v), A (x, V, v') h- I(v'), w here v' is

value of variable V after executing the event VAR PO m eans th at events ca n n o t take

control forever To prove this, we use a variant V which is m apped to a finite set, then

this variant is proved to be decreased in each convergent event It is described as follows.

I(v ),G (x , v),A {x , V, v') h V {v') c V(v) D eadlock-freeness for a m achine ensures

th a t there are always som e enabled events during its execution A ssum e that a m achine

contains a set o f n even ts e;( 1 < i < n) o f the follow ing form: evt = any X where G(x, V)

then A( x, V, v') end The proof obligation rule for deadlock-freeness is as follows:

Hv ) H V ? = i P * « - G ( * i , v ) )

Event-B provides ways to express safety properties directly by using the invariants

W hile safety p roperties guarantee th a t bad things do n ot happen, an eventuality pro p ­

erty is one of liveness p ro p ertie s assuring th at th e system will reach a defined good state

Event-B does not su p p o rt to specify liveness properties directly b u t we can follow the

approach (Hoang and A brial 2011) to verify properties such as existence (DO/3), progress

(□(.Pi = > ỘP 2 )), or persistence (OOP), w here p is any first order logic formula, 0 and

□ are stan d ard operators of Linear Tem poral Logic (LTL), under weak-fairness assum p­

tion We will discuss here in detail existence property Assume th at a given m achine M

w ith n events e,( 1 < i < n), e, = any X where G{x, v) then A (x, V, 1/ ) end They claim that

if M is convergent in -■p and M is deadlock-free ir —P, then no /1is-satisfied in M This

approach uses the variant clause to prove convergence of a m achine and we introduce an

auxiliary refined m achine at the last refinem ent step to apply this proof m ethod.

Trang 30

Rodin, an extension of the Eclipse platform , allows to create Event-B models w ith an

editor It also autom atically generates the proof obligations of a m odel that can be dis­

charged autom atically or interactively The architecture of die tool is illustrated in Fig 1

Event'B ƯI provides users interfaces to edit Event-B models Event-B Core has th ree

com ponents: static checker (checking the syntax of Event-B models), the proof obliga­

tion generator (producing sim plified p roof obligations that make them easier to dis­

charge autom atically), and the p roof obligation m anager (m anging p roof obligations and

the associated proofs) The Rodin Core consists of two com ponents: the Rodin reposi­

tory (m anaging persistence of data elem ents) and the Rodin builder (scheduling jobs

depending on changes m ade to files in the Rodin repository).

Imprecise requirements analysis with Event-B

First, this section presents an approach to specifying im precise requirem ents in classi­

cal set theory This representation is the basis of its form alization in Event-B After that,

we introduce a new refinem ent-based approach to analyzing eventuality properties of

im precise system requirem ents.

Presentation o f im precise requirem ents in classical sets

As stated above, fuzzy sets can be used as the foundation for representing im precise

requirem ents The behavior of such requirem ents can be described by Fuzzy If-T hen

rules We will show that im precise requirem ents, which are described by Fuzzy If-T hen

rules, can be represented in classical sets.

First, the general form FR, also called well-defined form, of an im precise requirem ent

can be represented as:

IF * is (5 Yi TH EN m is YPi

w here X and y are linguistic variables, Yi Y and p t 6 p are fuzzy values, and s and Y are

fuzzy hedges which are applied on the fuzzy sets Y and p respectively.

D e fin itio n 1 (Imprecise requirem ent) An im precise requirem ent is defined as a 6-tuple

FR = (x, m, s, y, Yi, Pi), where X and m are linguistic variables, 5 and Y are fuzzy hedges,

and Yi and Piare fuzzy values.

Event-B UI Event-B Core

K u d in Core b v e n t -B Library

Eclipse platform

Fig 1 R o d in t o o l a r c h ite c tu r e

Trang 31

Recall that, in classical set theory, sets can be com bined in a num ber of different ways

to produce another set such as Union, Intersection, Difference, or C artesian product

Below we recall some definitions related to C artesian p roduct of m ultiple sets is also

defined using the concept of n-tuple.

D efin itio n 2 (ordered n-tuple) An ordered n-tuple is a set of n objects with an order

associated w ith them If n objects are represented by X\, XT, x„, then we write the

o r d e r e d n - t u p le a s (X\,X2, ,x„).

D efin itio n 3 (Cartesian product) Let A1, ,A„ be n sets Then the set of all ordered

n-tuples ( * ! , ,x„) , w here Xi 6 A i, Vi, 1 < i < n, is called the C artesian p roduct of

A1, , A n, and is d en oted by A \ X ■ ■ X A„.

P ro p o s itio n 1 A set o f well-defined, imprecise requirem ents can be specified by classical

P roof Suppose that, im precise requirem ents of a system are specified by FR = (Fi?,),

FRi = (%;, 1 < i < n Clearly that, Xi.nti are considered as eleưients of

variables sets, Yi and Pi belong to fuzzy sets W e consider if SịYi can be specified by a

classical set in which <5, is a hedge and Yi is a value in fuzzy set Y As m entioned in “Fuzzy

sets and fuzzy If-T hen rules” section, Si transform s fuzzy set Y to another fuzzy set

M oreover, according to the Definition 3, SiYi is a m em bership of the C artesian p roduct

of two sets ẵ X Y Similarly w ith the case of specifying YiPi- Consequently, every elem ent

M o d e lin g im precise requirem ents

We will explain how im precise requirem ents described by Fuzzy If-T h en rules are m o d ­

eled based on their new representation Suppose that, a system is specified by a set of

requirem ents F R ,:

if Xị is <5, Y, th e n m; is YiPi end

A ccording to the P roposition 1, the above requirem ents can be represented by classi­

cal sets Next, we take into account th e sem antic of Fuzzy If-T hen rules In fact, these

rules can be in terpreted in various ways In this paper, we define the sem antic of a rule

as follows:

'ixị.yi o (Xi = <5, Yi) = > (yi = Yi !-»• Pi)

w here Xi and m, are linguistic variables, Yi and 5; are hedges, and Yj and Pi are fuzzy sets

It is inform ally interp reted as if Xi is equal to pair (Si, Yi), th e n y, is equal to pair (Yi, Pi).

Since Event'B is a language based on the classical set theory, wtd propose an appioai_li

to m odeling the system w ith Event-B m ethod A system consisting a collection of

requirem ents FRi, 1 < i < n, is m odeled by an Event-B m odel FR b = (FR_C,FR_M),

w here FR_C and FR_M are Event-B context and m achine respectively We propose below

translation rules to m ap im precise requirem ents to Event-B's elem ents The im p o rtan t

principle of the translation process is that we can preserve the stru ctu re and represent

Trang 32

all im precise requirem ents using the Event-B notation M oreover, safety properties m ust

be preserved by actions of th e system.

Translation rules

• Rule 1: All hedges <5, and Yu fuzzy values Y, and p t in the set of requirem ents are tran s­

lated to three sets H, Y, and p respectively They are stated in the SETS clause of FR_C.

• Rule 2: Linguistic variables Xj and m, in each FRt are mapped to variables Xị and m, of the Event-B m achine FR_M.

• Rule 3: Each variable Xj is described as a m em ber of a C artesian product of two sets

H X Y; mi is described as a m em ber of a Cartesian product of two sets H X p (Prop­

osition 1).

• Rule 4: Each req u irem en t FR, is modeled by an event ev, in Event-B machine FR_M

If-part of the requirem ent becom es guard of the event, th e n -p a rt is translated to event’s action.

• Rule 5: Safety properties of the system are m odeled as invariants I of the machine

FR_M.

Translation correctness

Let FRi = {xi,w ii, 8 i,y i,Y i,P i} be a Fuzzy If-T h en rule According to Rule 1, 2,

3 and 4, it is translated to an event w h en Xi = Si I—>• Yi th e n m, := Xi I—>- Pi, i.e.,

Xi = Si (-> Yi = > m ị := Yi Pi- As a consequence, the translation rules preserve the

sem antic o f a Fuzzy If-T h en rule.

N ote that, these are only partial transform ation rules, we need to give m ore additional parts to ob tain the com pleted Event-B specification (Fig 2).

P ro p o s itio n 2 W ith the m odeling proposed in translation rules, the safety properties

are preserved by all actions o f imprecise system requirements.

'

M A C H IN E FR _M SEES F R - C

Trang 33

Proof Suppose that, a collection of im precise requirem ents FR = {FK,}, 1 < i < n, are

translated to n corresponding events evt, Safety properties of the system are specified

in the invariant X We have to prove that safety constraints are preserved through all

req uirem ents by showing th at it rem ains tru e before and after firing (executing) each

event This is obviously achieved through proof obligations of the Event-B m achines

which is used to preserve their invariants.

W ithout loss of generality, we assum e th a t the im precise requirem ents and constraints

c o n ta in o n e variable V, h e n c e w e n e e d to prove:

l { v ) A e v t i ( v , v ) h X ( v ')

This predicate allows us to ensure the safety properties after executing th e events in

model, w hich is exactly the form o f INV p roof obligation generated from Event-B

m achine Therefore, th e safety p roperties stated in requirem ents are show n preserved if

M o d e lin g e v e n tu a lity p ro perties w ith refinem ent

H oang and Abrial (2011) in troduced reasoning techniques to prove classes of liveness

p roperties such as existence, progress, persistence They claims that with a state formula

R w hich is a first-order logic form ula and an Event-B m achine M that is convergent and

deadlock-free in R then —■/? will always eventually (DO->R) hold.

In order to reason about eventuality properties on a set of fuzzy If-T h en rules, we initially p resented the m ethod (Le et al 2015) following the techniques introduced in

H oang an d Abrial (2011) W e first m ap fuzzy values to N atural num bers Sincc fuzzy sets

can be rep resen ted by classical sets consisting of discrete values ("Presentation of im pre­

cise requ irem en ts in classical sets” section), th e m apping on N atural num bers instead of

a continuous range [0 1] is acceptable Therefore, we give a new definition of fuzzy sets

as follows

D e fin itio n 4 (Fuzzy set) A fuzzy set is a pair (U, fi), where Li is a set and fx is the m em ­

bership degree function, can be represented as a pair {p , Us), where p is a crisp set, ỊXS is a

total fu n ctio n such th at ụ,s : p - » N

Similarly, we also use a total function ụ.H : / / —*• N as m apping values of fuzzy hedges

Recall th a t, a system is specified by a collection of requirem ents FR,:

if Xi is 8jYi then m, is SjPi

W e propose a refinem ent-based approach to m odeling with an in troduction of addi­

tional translation rules to extend the context and to refine the m achine of the abstract

m odel as follows

• Rule 6: Fuzzy values of each elem ent in p, Y and hedges s are translated to total func­

tions degp : p —> ■ N, degY : y —> N, and degH : H —» N respectively.

• Rule 7: Adds a variant m apping to linguistic variable Xi that appears in eventuality

property expression Q(x,).

Trang 34

♦ Rule 8: Refines each event representing one Fuzzy If-Then rule by two events: a con­

vergent and an ordinary one.

♦ Rule 9: Adds a clause —IQ{x,) to the guards of each convergent event, and a clause

Q (xi) to the ordinary one.

A partial Event-B specification for these rules is depicted in Fig 3.

Before showing th at if a collection of requirem ents satisfy a eventuality p roperty Q(x),

we introduce definitions relating to som e properties of fuzzy rules.

D efin itio n 5 (Convergence) A set of fuzzy rules are convergent from a state C(*) if each

rule decreases value of variable X It is form ally defined as: FRi, C (x) b x ' < X, where x ' is

value after executing rule FRt.

D efin itio n 6 (Deadlock-freeness) A set of fuzzy rules are deadlock-free in a state R(x) if IF

clause of at least one rule is satisfied It is formally defined as R(x) ==> ViLi (3x, Jt; = SYi).

P ro p o s itio n 3 I f a collection o f Fuzzy If-T hen rules [FR] are convergent a n d deadlock-

fr e e fr o m a first-o rd e r logic s ta te fo r m u la R(x), where X is a linguistic variable, then the

state property —‘R (x) will always eventually holds Formally, we have {FR} h

CONTEXT F R C 1 EXTENDS FR_CD

CONSTANTS

degp

ic g y (leys

in v 4 : y € N

VARIANT

ire

EVENTS Event e v i - C E —

S t a t u s convergent

e x t e n d s cvti

When

g r d l : rt = ỗ, t—* Y , grd.2 : -» Q (xt )

Trang 35

Proof Suppose that, a set of fuzzy If-T hen rules FR = jFRj), 1 < i < n, is first form al­

ized bv an ab stract m achine M _ 0, then is refined by an o th er m achine A i_l containing a

set of convergent events evtf

Applying Rule 8, each fuzzy rule is represented by a convergent event evti with guard

G(x) Following Rule 9, a new clause -^R(x) is added to the guard condition of each co n ­

vergent event.

According to the translation Rule 6 and 7, approxim ation of a linguistic variable

X is a natural nu m b er and is m apped to an variant V(x) F urtherm ore, each fuzzy rule

decreases d ie fuzzy variable X (Definition 5), i.e V (x ') < V(x) Hence, we have

l , G ( x ) , - R ( x ) \~ V ( x ) < V (x).

This predicate is th e form of VAR proof obligation generated from Event-B m achine to

prove th a t all events of the m achine A i_l are convergent (*).

We already state th a t fuzzy rules are deadlock free in R(x), according to Rule 8, Rule 9

An exam ple: Container Crane Control

In this section, first WP introduce an exam ple of C ontainer C rane Control (Fuzzytech

2012), th e n follow th e proposed m ethod in "Im precise requirem ents analysis with Event-

B” section to m odel and verify the safety and eventualities properties.

Exam ple description

C ontainer cranes are used to load and unload containers on a ship in m ost harbors They

pick up single containers w ith cables th a t are m ounted on the crane head (Fig 4).

The crane head moves on a horizontal track from a startin g position The speed of the

crane head is controlled by a m otor pow er with a speed level We start the m otor w ith

a fast speed If the crane head is still far away from th e container, we adjust the m otor

pow er to a m edium speed If the crane head is in a distance nearer to the target, we

reduce th e speed to slow W hen the container is close to the target position, the speed

Ngày đăng: 26/09/2020, 22:14

TỪ KHÓA LIÊN QUAN

w