Ket qua ve khoa hoc cong nghe Trong qua trinh thuc hien, d^ tai da dat dugc 04 ket qua chinh nhu sau: - Phuong phap sinh gia dinh t6i thilu cho ki^m chung phin mem dua tren thanh phan
Trang 1DAI HOC QUOC GIA HA NOI
Trang 2MUC LUC
1 THONG TIN CHUNG VE DE T A I 4
1.1 Thong tin ve de tai 4
1.2 Danh muc cac bang so lieu va cac hinh ve 6
1.3 Bang tong hop cac san pham da dat diroc 7
2 TOM TAT CAC KET QUA NGHIEN ClTU CHINH CUA DE TAI 8
2.1 Ket qua ve khoa hoc cong nghe 8
2.2 Ket qua phuc vu thyc te 8
2.3 Ket qua dao tao 8
2.4 Ket qua nang cao tiem luc khoa hoc 8
3 BAO CAO TONG KET 9
3.1 Dat van de 9 3.2 Tong quan cac van de nghien cifu 11
3.3 Muc tieu va noi dung nghien ciiu cua de tai 13
3.3T Muc tieu 13
3.3.2 Noi dung nghien cuu cua de tai 13
3.4 Dja diem, then gian va phu^ong phap nghien cuu 14
3.5 Ket qua nghien ciru 14
3.5.1 Ket qua khoa hoc 14
3.5.2 Cac cong trinh khoa hoc da cong bo 28
3.5.3 K^t qua dao tao ciia de tai 30
3.5.4 Ket qua ung dung cua de tai 30
3.6 Ket luan va kien nghj 44
3.6.1 Ket luan 44
3.6.2 Kilnnghi 45
Tai lieu tham khao 46
4 PHULUC 48
Trang 3GIAI THICK CAC CHtT VIET TAT
Component-Based Software Engineering
Model Checking
Modular Verification
Assume-Guarantee Verification
Assumumption Generation Method
Minimized Assumumption Generation Method
Unified Modelling Language
Object Constraint Language
Aspect Oriented Programming
Concrete Syntax Tree
Abstract Syntax Tree
Verification Aspect Generator
Kiem chung mo hinh
Kiem chimg lung phan
Kiem chung dam bao gia dinh
Phuong phap tao gia djnh
Phuong phap tao gia dinh toi thieu
Ngon ngu mo hinh hoa thong nhat
Ngon ngu rang buoc doi tucmg
Lap trinh huong khia canh
Cay cii phap cu the
Cay cu phap trim tugng
Cong cu tao ma Aspect cho kiem chung
Bg xu ly dau phay dong
Trang 41 THONG TIN CHUNG VE DE TAI
1.1 Thong tin ve de tai
Ten de tai: Phat trien cac phuong phap va cong cu tro- giiip cong nghe phan
mem dira tren thanh phan
C/rw nhiem de tai
Ho va ten: Nguyen Viet Ha
Hoe ham, hoe vi: PGS.TS
Chuc \'u hanh chinh: Pho Hieu truong
Dienthoai: (04)3754 6575
E-mail: hanv@vnu.edu.vn
Co quan cong tac: Tmong Dai hoc Cong nghe, Dai hoc Qu6c gia Ha Noi
144 Xuan Thiiy, cAu Gi4y, Ha Noi Dia chi:
144 Xuan Thiiy, Cau Giay, Ha Noi
Ca quan phoi hop va nhirng ngir&i thuc hien chinh cfia de tai
STT
1
C a q u a n phoi hop
Truong Dai hoc Cong
nghe, Dai hoc Quoc gia
Ha Noi
Nguoi thuc hien chinh
Ho va ten
TS Pham Ngoc Hiing
TS Truong Ninh Thuan
TS Dang Van Hung
TS Truong Anh Hoang
TS Le Anh Cuong NCS VuQuangDung
Nganh/Chuyen nganh
Cong nghe phan mem
Cong nghe phan mem
Cong nghe phan mem
Cong nghe phan mem
Khoa hoc may tinh
Cong nghe phan mem
Trang 5STT
2
3
4
Co" quan phoi hop
Truong Dai hgc Bach
Khoa Ha Noi
Vien Cong nghe Thong
tin, Dai hgc Quoc gia Ha
Noi
Vien Cong nghe thong
tin, Vien Khoa hgc va
Cong nahe Viet Nam
Nguoi thirc hien chinh
Ho va ten
NCS Trinh Thanh Binh
N C S D o V a n C h i k ThS Nguyen Thi Thu Trang
TS Le QuangMinh
TS Nguyen Truong Thang
Nganh/Chuyen nganh
Cong nghe phan mem Cong nghe phan mem Cong nghe phan mem
Khoa hoc may tinh
Cong nghe phan mem
ThM gian thuc hien da dupe pite duyet (va dieu chinh): 24 thang ke tir ngay
8/5/2009
Th&igian kit thuc thuc te: 24 thang
Kinh pluthuc hien de tai: 300.000.000 VND (ba tram trieu dong chin)
Trang 61.2 Danh muc cac bang so lieu va cac hinh ve
Hinh 1 Phuong phap kiem chung dam bao gia dinh 16
Hinh 2 Thuat loan tao gia dinh cho kilm chung timg phin 17
Hinh 3 Phan vi du chi ra [14, 15, 16] khong tao ra gia dinh t6i thiSu 18
Hinh 4 Thii tuc de tim gia dinh toi thieu 20
Bang 1 Ket qua thu nghiem cho phuong phap tao gia dinh toi thi^u 21
Hinh 5 Tong quan qua trinh ki^m chung 22
Hinh 6 Kien true long quat cua dac ta tuong tranh voi Event-B 25
Hinh 7 May truy cap vao \aing xung dot 25
Bang 2 Thuc nghiem dac ta rang bugc thu tu giua cac lien trinh tuong tranh 26
Bang 3 Bang long hgp cac san pham khoa hgc da cong b6 28
Hinh 8 Khoi dong PVG tu IDE cua NetBeans 31
Hinh 9 Giao dien chinh cua cong cu kiem chung PVG 32
Hinh 10 Dac ta giao dien cua lop Queue voi StarUML 33
Hinh 11 Dac ta giao thuc ciia hang dgi Urong tranh 34
Hinh 12 Giao dien luu ma Aspect 35 Hinh 13 Dan xen ma aspect vai Eclipse 36
Hinh 14 Hai ban cai dat chuong trinh 37
Bang 4 Ket qua thuc nghiem sir dung cong cu PVG 39
Hinh 15 Giao dien chinh ciia cong cu 41 Hinh 16 Giao dien ho trg tai file XMI va chuong trinh 42
Hinh 17 Giao dien cho phep xem va sua noi dung ciia dac ta chuong trinh 42
Hinh 18 Giao dien phan tich cii phap de sinh ra Abstract Syntax Tree 43
Hinh 19 Giao dien tao ma aspect 44
Trang 71.3 Bang tong hop cac ket qua dat du-oc
Tap chi khoa hoc quoc te
Hoi nghi chuyen nganh quoc
te (c6 phan bien)
Tap chi khoa hoc va tuyen
tap Hoi nghi Quoc gia
San pham cong nghe
So Thac SI dugc dao tao
So NCS dugc ho trg dao tao
Trang 82 TOM TAT CAC KET QUA NGHIEN CUU CHINH CUA DE TAI
2.1 Ket qua ve khoa hoc cong nghe
Trong qua trinh thuc hien, d^ tai da dat dugc 04 ket qua chinh nhu sau:
- Phuong phap sinh gia dinh t6i thilu cho ki^m chung phin mem dua tren thanh phan
- Phuong phap kiem chung sir man thu giua thuc thi va dac ta thiet kl
- Phuong phap kiem chung hinh thuc cho cac he th6ng Urong tranh
- Phuong phap sinh bo kiem thu tu dong cho viec chuySn d6i tir s6 thuc d4u phdy dong sang so thuc dau phay tinh
2.2 Ket qua phuc vu thtrc te
Trong qua uinh thuc hien de tai chiing toi da phat trien dugc 02 cong cu nhu sau:
1 Cong cu sinh ma kiem chung Aspect tu cac dac ta bing bi^u d6 UML hoac bi^u thuc chinh quy Ma kiem chung sau do dugc dan voi cac chuong trinh Java d^ kiem chung sir man thu giua chuong trinh va dac ta ciia no
2 Cong cu ho trg kiem chung bat bien cua doi tugng Java trong thai gian thuc thi
2.3 Ket qua dao tao
De tai da gop phan dao tao dugc 03 NCS nganh CNTT trong do c6 01 NCS da bao ve
cap CO so, ho trg dao tao 04 thac sT (03 thac sT thugc nhiem vu chien luge) nganh Cong
nghe Thong tin
2.4 Ket qua nang cao tiem luc khoa hoc
- De tai da gop phan hinh thanh nhom nghien cuu ve dac ta va kiem chung
pham mem tai Bg mon Cong nghe Phan mem, Khoa CNTT, Truong DH
Cong nghe nham nang cao chat lugng giang day, huong dan khoa hoc va thuc day mot so hoat dong hgp tac voi cac don vj trong va ngoai nuac De tai da dao tao dugc mot doi ngu can bo c6 kha nang nghien cuu va xuat ban cac ket qua nghien cuu ve CNPM trong cac tap chi va k>' yeu hoi nghi quoc te
- Dao tao phat trien ve dac ta va kiem chung phan mem
- Gop phan phat trien 02 mon hoc cho chuong trinh cao hoc:
o Cac phuong phap hinh thuc cho phat trien phan mem
o Kiem thii va dam bao chat lugng phan mem
Trang 93 BAO CAO TONG KET
3.1 Dat van de
Sir phat Uien nhanh chong cua phan mem trong ik ca cac ITnh vuc cua cuoc s6ng va
nhung Igi ich ma no mang lai cho con nguoi da dugc khing dinh Tuy nhien, ben canh
nhung Igi ich to Ion nay, cac he thong phin mhm cung c6 thg gay ra nhung hau qua
kho luong neu xuat hien cac loi Uong luc van hanh Kich thuac cua cac he th6ng phan
mem dugc su dung trong thuc ii cung ngay cang Ion va phuc tap Nhung thach thuc nay doi hoi nhung nguoi nghien cuu ve cong nghe thong tin chn phai c6 nhung giai phap thich hgp de quan ly va phat trien cac he thong phan mhm mot each ch4c chSn,
mem deo, tin cay, c6 kha nang thich nghi va c6 the tai su dung
Su ra doi cua cong nghe phan mem dira tren thanh ph§n (Component-Based Software Engineering - CBSE) dap ling dugc cac yeu cau nay cua phat trien phan mem CBSE dua ra mot cong nghe mcd giiip cho viec phat trien cac phan mem Ion mot each
de dang va hieu qua LTu diem cua CBSE la cho phep xay dung cac ung dung bang each phat trien cac thanh phan phan mem mot each doc lap Dieu nay c6 the lam giam chi phi phat trien va lam tang chat lugng phan mem
Trong CBSE, kien true cua mot he thong dugc mo ta bai mot tap cac thanh phan Moi thanh phan trong mo hinh CBSE dugc xem nhu la mot hop den voi hai phan rieng biet: phan kieu, mo ta cac giao dien chuc nang ciia thanh phan va phan thuc thi, dung
de cai dat cac giao dien Sir tuong tac giua cac thanh phan chi dugc thuc hien thong qua cac giao dien
Cac cong nghe phat trien phan mem dua tren thanh phan da dugc sii dung thanh cong hien nay bao g6m: NET [3], COM/COM+ [5] cua Microsoft, CORBA [2] ciia OMG [4], JavaBean [1] ciia Sun Microsystem
Ben canh nhung uu diem ciia CBSE thi cac van de dat ra trong qua trinh phat trien phan mem cung khong phai la nho Cac van de nay chii yeu tap trung vao viec thieu cac phuong phap va cong cu trg giiip mot each hieu qua trong tat ca cac giai doan ciia qua trinh phat trien phan mem Mot trong nhiing van de Ion nhat ciia CBSE la dam bao tinh dung d4n ciia he thong sau khi ghep noi cac thanh phan Cac cong nghe dua
tren hanh ph4n hien tai chi ho trg viec ghep noi cac thanh phan (co che plug) chii
khong th^ dam dao lieu cac thanh phan sau khi ghep noi c6 hoat dong vai nhau hay
khong (co che play) Kifim chung phan mem (model checking) [13] dang dugc quan
tarn nhu la mot giai phap tiem nang de giai quyet van de nay Tuy nhien, mot trong nhirng han ch^ ciia phuong phap nay la van de bung no khong gian trang thai
Trang 10Tren the giai hien nay da co nhi^u d^ xuk ve kilm chimg phdn mhm dua tren
thanh phan Bai bao [6] giai thieu mot cong cu ggi la Cadena, mot moi truong tich hgp phuc vu cho viec xay dung va mo hinh hoa thanh phin CORBA (CORBA Component Model, CCM) Cadena cung cap cac tien ich dung dS dinh nghia cac kilu ciia thanh
phan bang each sir dung CCM IDL (Interface Definition Language), tich hgp he th6ng
tu cac thanh phan khac nhau, dac ta va kiem chiing sir diing dan cac thuoc tinh ciia mo hinh thanh phin CORBA dugc chuyin d6i tir CCM IDL, etc Bai bao sii dung mo hinh DSpin cho cac kich ban trong mo hinh phat trien dua tren thanh phin Thuoc tinh ma bai bao nay kiem tra la cac trang thai khong phan ling diing liic (timeout) trong khi he thong thuc hien Hai tac gia Zaremski va Wing [10] de xuat mot phuong phap de so sanh hai thanh phan phan mem Ho xac dinh xem mot thanh phan yeu cau c6 the dugc thay the bod mot thanh phan khac hay khong Cac tac gia nay su dung dac ta hinh thuc
de mo hinh hoa hanh vi ciia cac thanh phan va su dung cong cu chiing minh Larch de kiem chiing dac ta ciia cac thanh phan Trong cac bai bao [7, 8], cac giao thuc dugc dac
ta su dung logic thod gian (temporal logic), phuong phap nay da dua den mot dac ta ho trg nhieu each bieu dien cho cac giao dien thanh phan Henzinger va Alfaro [11] de xuat mot phuong phap cho phep kiem chung sir mong thich ciia cac giao dien dua tren automata va ly thuyet tro chai, phuong phap nay phu hgp voi kiem chung tai muc mo
ta eiao thuc ciia cac eiao dien Bai bao [91 de xuat khai niem mav trane thai cho cac c6ng (Port State Machine, PoSM) de mo hinh su lien thong giua cac cong Dua tren cac giao thuc ve hanh vi, cac tac gia da mo hinh hoa cac lai goi phuong thuc nhu la cac
su kien yeu ciu va tra lod, cho phep PoSM mo ta cac giao tac va vong lap cua cac lai goi phuong thiic trong cac giao dien cung cap va yeu cau Cac tac gia da ung dung sir quan he man theo ciia cac giao thuc hanh vi vao PoSM va cho phep kiem tra su luan theo ciia hanh \i cac thanh phan trong kien tnie phan mem
6 trong nuac, cac nghien cuu ve kiem chiing phan mem dua tren thanh phan van con moi me va chii yeu dugc thuc hien a Bo mon CNPM, Khoa CNTT, Truimg Dai
hoc Cons nghe Nhirng kk qua nay da dugc xuat ban trong nhieu ky yeu ciia cac hoi
nghi qu6c te Tuy nhien, cac ket qua nghien cuu ve kiem chiing phan mem dua tren thanh phan hien nay a trong nuac Ian nuac ngoai van chua dap ling dugc tiem nang une dung ciia cong nghe phan mem dira tren thanh phan cung nhu mong muon ciia nguoi phat triln phin mim Thong qua de tai nghien cuu nay, chiing toi mong muon tiep tuc d^ xuit cac phuong phap va cong cu mdi nham trg giiip hieu qua trong viec nghien cuu va phat trien phan mem
10
Trang 113.2 Tong quan cac van de nghien ciiu
Trong qua trinh thirc hien, de tai da tap trung vao cac van dh chinh sau:
- Tao gia dinh toi thieu cho kilm chirng phan mem dya tren thanh phan
Kiem chiing timg phan la mot giai phap tilm nang nhim giai quyet bai loan bung
no khong gian trang thai trong ki^m chirng mo hinh Thay vi kiSm chiing tren loan bo he thong gom cac thanh phan dugc ghep noi vai nhau, giai phap nay tiln hanh kiem chiing tren tung thanh phan rieng biet ciia he thdng Kiem chiing dam bao gia dinh (Assume-Guarantee Verification - AGV) [14, 15, 16] la mot trong nhung phuong phap kiem chung hien thuc hoa y mong kiem chung tung phan Phuong phap nay tao ra gia dinh (assumptions) giua mot thanh phan va phan con lai ciia he thong bang each su dung thuat loan hoc L* [12, 20] Gia dinh nay dugc xem nhu la moi truong de phan con lai ciia he thong thoa man thuoc tinh can kiem tra va la thugc tinh can dugc thoa man bai thanh phan con lai ciia he thong Tuy nhien, mot trong nhung han che ciia phuong phap kiem chung dam bao gia dinh la chua quan tam den viec toi uu kich thuoc ciia gia dinh dugc tao ra Trong thuc te, chi phi ciia viec kiem chiing he thong theo phuong phap nay chi phu thuoc vao kich thuac ciia gia dinh Hon niia, mot gia dinh nho han se dugc sii dung de kiem chung lai he thong vai chi phi thap han trong ngu canh tien hoa phan m^m Muc tieu ciia huong nghien cuu nay la de xuat mot phuong phap tao gia dinh toi thilu (co kich thuac nho nhat) nhu la mot cai tien ciia phuong phap kiem chung dam bao gia dinh dugc de xuat trong [14]
- Kilm chung su tuan thu giira thuc thi va dac ta thiet ke
Trong cac chuong trinh huong doi mgng, giao thiic mong tac dac ta cac rang buoc v^ thu tu thuc hien ciia cac phuong thiic trong cac lap hay cac thanh phan cua he thdng Han nua, tinh bat bien va rang buoc thai gian cung la nhirng thuoc tinh quan trong cua cac chuong trinh nay Mot trong nhiing yeu cau ciia chuong trinh la giao thiic mong tac, tinh bat bien va rang buoc thai gian phai dugc thoa man tai thai di^m thuc thi ciia chuong trinh Moi khi mot trong nhung thuoc tinh
nay bj vi pham thi co Xhk gay ra cac loi ciia he thong Tuy nhien, giao thiic tuong
tac thuang dugc dinh nghia in va khong dugc kiem tra trong qua trinh bien dich chuong trinh Tinh bit bien va rang bugc thai gian cung la cac thuoc tinh kho kilm tra irons qua trinh thuc thi chuong trinh Muc lieu ciia nghien ciiu nay la de
11
Trang 12xuit mot phuong phap dac ta va kilm chiing su min thii giua thuc thi va dac ta
ciia he thong dua tren thanh phin nhim dam bio cac thugc tinh tren
Kiem chirng hinh thiic cho cac he thong tuang tranh
Cac tien trinh Uong mot he thong mong tranh thuang phii dugc dong bo hoa Sir
dong bo hoa giua cac lien trinh thuang dugc phin lam hai loai: cong tie va canh
tranh Mot trong nhung vi du diem hinh ve su cong tie giua cac tien trinh la van
de cung cip-tieu thu (producer-consumer) vai hai tien trinh consumer va
producer Trong do tien trinh producer cung cip cac phin tii du lieu dk hin trinh
consumer tieu thu chiing Viec cip phat tai nguyen cho cac tiln trinh gap phai
vin de xung dot tai nguyen khi cac tien trinh cQng muon sii dung tai nguyen dung
chung Do do, truac khi cai dat he thong chiing ta phii dim bio rang thiet ke ciia
he thong khong cho phep vin de xung dot tii nguyen xiy ra Muc tieu ciia huong
nghien ciiu niy la de xuit mot phuong phip dac t i v i kiem chiing bin thiet ke
giao thiic mong tic ciia he thong mong tranh nham dim bio tinh diing dan ciia
thiet ke nay truac khi tien hinh cai dat
Sinh bo kiem thir thich hcrp cho viec chuyen doi so thuc dau phay dong sang
so thyc dau phay tinh
r r
Viec cii dat mot ung dung da viet cho miy tinh ca nhan sang thiet bi nhiing yeu
ciu chuyen doi viec xii ly so thuc diu phay dong va cac phep loan mong ling \'ai
xii ly so thuc diu phiy tinh do cac thiet hi nhiing va dien thoai di dong thuong
khong CO bo xu ly so thuc diu phiy dong (FPU) Do yeu ciu ciia cac thiet bi
nhiing, viec kiem tra sir chuyen doi doi hoi tinh chinh xic cao Tinh chinh xac
dugc thi hien a sir bao quit ma chuong trinh v i cac chien luge khac nhau de sinh
bo kilm thii lam ro do sai lech giua hai cich xu ly Vin de chinh doi vai cac phep
toin diu phiy tinh la do chinh xac giim va co the Iran bo dem bai cic phep cat
va phep lim Iron Muc tieu chinh ciia viec chuyen tir xii ly dau phiy dong sang
xu ly dau phiy tinh la cue tieu hoa sir sai khac trong viec chuyen doi nay Chiing
toi nghien cuu ve viec sinh bo kiem thii tu dong de tang tinh phii ciia kiem thir va
kilm thii tu dong giiia cac phien bin phin mem
12
Trang 133.3 IMuc tieu va noi dung nghien ciiu cua de tai
3.3.1 Muc tieu
- Nghien ciiu dl xuit cic phuang phap moi dl kilm chiing v i dim bio chit lugng cho cac he thong phin mim dua tren thinh phin Chiing toi tap tmng vao hai cich tiep can chinh nhim kilm chiing he th6ng phin mIm: kilm chiing tinh diing dan ciia thiet ke va kilm chiing sir min thii giua thilt kl va thuc thi ciia he thong
- Tao dyng dugc mot nhom nghien ciiu manh ve cong nghe phin mem, thiic diy trao doi, hgp tic quoc te va hgp tic vod cic dan vi phat triln phin mIm trong nude va nude ngoai
- Tang cudng chit lugng dio tao vl cong nghe phin mIm, tang cudng nang lire nghien ciin cho hoc vien cao hgc vi nghien ciiu sinh trong linh virc cong nghe phin mem, gop phan dio tao hoc vien thuoc chuyen nganh "Khoa hoc may tinh" dat trinh do quoc te
3.3.2 Noi dung nghien ciiu cua de tai
De tii bao gom cic noi dung chinh sau day:
- Nghien cuu mo hinh kien tnie phan mem hien dai dira tren thinh phin va cac cong nghe nen ting nhu CORBA, Java Beans, NET va Web-servdces dl dua ra cac phuang phap dac ti, kiem chiing nham muc dich tang chit lugng ciia cac he thong xiy dung dua tren cac cong nghe nay
- Nghien ciiu cac phuong phap mo hinh hoa cic he thong phin mIm phiic tap va cac mo hinh tich hgp he thong Nghien ciiu cac phuong phap va ngon ngu dac ta giao dien mong tac thanh phin phin mem, dac biet la dac t i dira tren phuong phap hinh thiic
- Nghien cuu cac phuang phap kiem chiing phan mem, bao gom: kilm chiing thinh phin phin mem d cac miic mo hinh, ma nguon va ma thirc thi; kiem chiing sir mong thich ve giao dien ciia cac thinh phin phin mem; kiem chiing sir mong thich ve moi tnrdng va rang buoc ve tai nguyen; kiem chiing cac rang buoc thai gian thirc
- Phat trien cac cong cu trg giiip nhu: bo phan tich cii phap va sinh ma; bo phan tich ma doi tugng va xay dung do thi luong dieu khien, bo chung minh tir dong
- Nghien ciiu ung dung cac cong cu mo hinh hoa va kiem chung nhu; SPIN, SMV, B4free, Java Path Finder,
13
Trang 143.4 Dia diem, thoi gian va phu-ong phap nghien ciiu
- Dja diem: De tii dugc thuc hien tai Ha Noi, nai tap trung nhilu nhom nghien
ciiu va thuan tien trong viec hgp tic giua cac dan vi phdi hgp
- Thoi gian: ur 5/2009 din 4/2011
Phu-ong phap nghien ciiu:
NTidm nghien eiiu da tien hanh nghien ciiu theo phuang phap nhu sau;
- Tong hgp tit ei cic ket qui mi cac nha nghien ciiu khac da thu hoach dugc;
- Nghien ciiu de xuit cac phuang phap mdi, kit hgp chiing minh hinh thiic v i xiy dung cong cu thuc nghiem dl cd cac kit luan khoa hoc, lam CO sd de viet cac bii bao;
- Xiy dung cac cong cu phin mem, thii nghiem vdi cac bai loan tren thuc
tl;
- To chiic xemina de trao doi thong tin khoa hoc;
- Tham dir cac hoi nghj trong nude va quoc te de trao doi thong tm khoa hgc
Cac phuong phap cu the da dugc sii dung trong de tai nhu sau:
- Xic suit thong ke;
- Cac phuang phap logic: temporal logic, separation logic, linear temporal logic, computation tree logic;
- Cic phuong phap dac t i hinh thiic: outomata, finite state machine, labeled transition system, CafeOBJ;
- Cic phuang phap kiem chiing hinh thiic: model cheeking, theorem proving, B-method
3.5 Ket qua nghien cii-u
3.5.1 Kit qua khoa hoc
Trons qua trinh thuc hien de tai da dat dugc 04 ket qui chinh nhu sau:
- Phuang phap sinh gii dinh toi thieu cho kiem chiing phan mem dira tren thanh phin;
- Phuons phap kiem chiing sir min thii giiia thirc thi so vdi dac ta thiet ke;
- Phuons phap kiem chung hinh thiic cho cac he thong tucmg tranh;
- Phuong phap sinh bo kiem thii thich hgp cho viec chuyen doi so thirc dau phiy dong sang s6 thuc dau phay tinh
14
Trang 15a Phiro-ng phap sinh gia djnh t6i thilu cho kilm chiing phan mem dya tren
cu ho trg va ap dung cho mot sd vi du minh hoa Ket qui thuc nghiem (Bing 1) la minh chiing cho tinh diing dan v i hieu qui ciia phuang phap de xuit
Phuomgphap kiem chung dam bao gia dinh
Phuang phap kiem chiing hien thuc hoa y mdng nay li phuang phap kiem chiing dam bio gii dinh dugc de xuit bdi D.Giannakopoulou vi cic cong sir trong [14, 15, 16] Xet mot he thong don giin gdm hai thinh phin M] va M2 Muc tieu cua phuang phap nav la cin kilm chiing he thdng M1IIM2 cd thoi man mot thudc tinh p nao dd hay khong ma khong cin ghep ndi cic thanh phin vdi nhau (kiem chiing tung phan) Vdi muc tieu nay, bai loan bung nd khong gian trang thai se dugc giai quyet Y mdng ciia phuons phap nay tao ra gii dinh giua mot thanh phin vi phan con lai ciia he thdng bins cich su dung thuat loan hoc L* [12, 20] Gii thiet nay dugc xem nhu la mdi
15
Trang 16truong de thanh phan ph4n mem thoa man thugc tinh cin kilm tra va la thugc tinh cm
dugc thoa man bod thanh phin con lai ciia he th6ng Hinh 1 mo ta muc tieu va giai phap cho each tiep can kilm chung dam bao gia dinh
M l
7 P ? ) |
A M2
1. (A> M, (P)
2 {true) Mj (A)
3 {true)U, || M <P)
"discharge" the '*•'""*' assumption
Hinh 1 Phuong phap kiem chiing dim bio gii dinh
Phuong phap nay sii dung thuat toin hoc L* de tao gii dinh A nham dim bio ring
A la dii yeu de dugc thoa man bdi M2 va dii manh de Mi thoi man thuoc tinh p Hinh 2
mo ta thuat loan tao gii dinh A sii dung L* cho kiem chiing tung phan phin mem dira tren thanh phin Tai mdi vdng lap, mot ung cu vien gii dinh Aj dugc tao ra dira tren
nhung thdng tin \e mdi truong v i ket qui ciia budc lap trudc Thuat loan se kiem tra
cong thiic {A^)M^ {p) bang each xiy dung he thdng ghep ndi Aj ||Mi|| pen- Neu trang
thai loi xuit hien trong he thdng ghep ndi, khi dd bieu thiic tren la sai, tiic la gii dinh
Ai la qua yeu de Mi thoi man p Vi viy, gii dinh Aj se phii dugc lam manh hon (loai
bd din xuit ciia Ai) bang viec su dung phin vi du cex (counterexample) tri lai bdi budc nay Phin vi du niy se giiip thuat loan hgc dua ra gii dinh Aj+i tai budc tiep theo tdt hon Neu cong thiic diing thi gii dinh Aj dii manh de Mi thoi man p Trong truong hgp nay, thuat loan se kiem tra cong thiic (rrwe) A/2 ( 4 ) - Neu ket qui la diing thi he thdng M1IIM2 thoa man p, thuat toin dung vi tri lai Aj Neu cong thiic sai thi thuat toin
se tri lai mot phin vi du cex Tuy nhien, trong truong hgp nay, chiing ta chua the khing dinh he thong M1IIM2 khong thoi man thuoc tinh vi cd the gia dinh Aj qui manh
dk M2 thoi man Nhu viy, chiing ta phii phin tich de xac dinh xem cd phii he thdng
M1IIM2 khong thoi man thudc tinh p hay la gii dinh A, qua manh de M2 thoi man Neu Aj
la qua manh, thuat toin se lam yeu Aj bang cich sii dung phin vi du tao ra d budc niy
16
Trang 17Counterexample - strengthen assumption
\ / in Ml IIM2
^x||M, l^p?
Hinh 2 Thuat loan tao gia dinh cho kiem chiing tung phin
Thuat todn tao gia dinh toi thieu
Cho hai md hinh thinh phin Mi, M2 v i mot thudc tinh p, A la mot gii dinh neu v i chi neu A thoi man hai cong thiic ciia dim bio gii dinh (Hinh 1) Mot gii dinh A dugc bieu dien bdi mot LTS la tdi thieu neu va chi neu sd lugng cac trang thii ciia A li nhd nhat Chiing tdi da chiing minh rang phuang phap kiem chiing dam bio gia djnh dugc
de xuit bdi D.Giannakopoulou va cac cong sir trong [14, 15, 16] khong tao ra gii djnh tdi thieu Hinh 3 li mot phin vi du de chung minh khang dinh niy Vdi he thdng nhu
da md ti, phuang phap de xuat trong [14, 15, 16] tao ra gii dinh A(p) vdi 4 trang thai, trong khi dd ton tai mot gii dinh nho hon vdi 2 trang thai
Chiing tdi de xuit phuang phap tao gii dinh tdi thieu nhu li mot cii tien cua phuong phap dugc de xuit trong [14, 15, 16] De hoc ngon ngu ciia gii dinh, giii thuat hgc L* trong [14] da xay dung mot bing quan sat (S, E, T) trong dd T la mot ham thirc
hien anh x a t i p (SuS.I.).E sang tip {true, false} Vdi mdi chudi se(SuSl).E, gii tri T(s) dugc gin la true neu s GL(AW) va bang false neu ngugc lai, trong do Aw li gii dinh ylu nhit [15] Tuy nhien, trong tnrdng hgp s €L(Aw), chiing ta khong chac chin dugc ring chuoi s cd nam trong gii dinh cin dugc huin luyen hay khong (tiic li, s
eL(A)?) Neu s gL(A) khi dd T(s) phii nhan gia tri false Tuy nhien, giii thuat trong
17
Trang 18[14] dat T(s) li true trong tnrdng hgp niy Vi ly do niy, gii dinh dugc tao ra bdi giii thuat trong [14] khong phai la gii dinh tdi thilu Dl giii quylt van de niy, chiing toi sii dung mot gia tri mdi ''?" de gin cho gia tri ciia T(s) trong nhiing tnrdng hgp tren Chiing tdi dinh nghia mot ky thuat cii tiln dl tri Idi cau hdi truy vin thinh vien nhu sau De tao mot gii dinh tdi thieu, giii thuat hoc L* cii tiln se xiy dung mot bing quan sat (S, E, T), trong dd S v i E mong ung la tip tien td vi hau to T li mot ham thirc hien
anh xa tap (5u5.S).£ sang tip {true, false, "?*'}, trong dd "?" cd thi dugc xem nhu la
mot gia tri ''chua xac dinh" Gia tri ''chua xac dinh" cd nghia li vdi mdi chudi
5 6(5u5'.S).£', tham chi s eL(A\v), chiing ta khong biet chudi s cd nam trong gii dinh
dugc huin luyen hay khong Chiing cd the nhan gia tri true hosiC false Neu nhan gii tri
la true, tiic li nd se thudc vao L(A) con nhan gii tri \k false, tiic la nd khong thudc vao
L(A) Cau tri Idi cho cau hdi kiem tra thinh vien dugc cii tien nhu sau:
Vdi mdi chudi s = ai, a2, , an e {SuS.l)E:
- Neu s = X (chudi rdng) thi T(s) = true
- N I U s e L(Aw) thi T(s) = false
- Ngugc lai, T(s) = ^•?"
send
ack ack
Input as M i
ack
O u p u t as M2 send
out
P r o p e r t y p
out Smaller a s s u m p t i o n
send
ack,out,send
A s s u m p t i o n A(p)
Hinh 3 Phin vi du chi ra [14, 15, 16] khong tao ra gia dinh tdi thieu
Dua tren m mdng ciia giii thuat, ta nhan thiy qui trinh tim kiem mot gii dinh cd kich thudc nhd nhat thoi man hai cong thiic cua dim bio gii dinh nhu la mot bii loan tim kiem trong mot khong gian tim kilm gom cac bing quan sat Chiing ta sii dung chiln luge duyet theo chieu rdng bdi vi chiln luge niy dam bao chac chin rang gii dinh dugc tao ra la gii dinh toi thilu Chi tilt ciia giii thuat tao gii dinh tdi thieu dugc minh hoa dudi dang gii ma trong hinh 4 Trong thii tuc niy chiing toi sii dung mot hans dgi dl chiia cic bing quan sit dugc tao ra Nhung bing quan sit niy dugc sii
18
Trang 19dyng de tao ra cac gii dinh ling cii vien Ban diu, thii tuc thuc hien dat hing dgi la tip rdng (dong 1) Chiing ta se dua bing quan sit diu tien OTQ = (So, EQ, TQ) chinh li gdc
ciia cay tim^kiem vio trong hing dgi, trong dd So = EQ = {).} (k dugc thi hien nhu li
mot chudi rdng) (dong 2) Tilp dd, thii tuc se liy mot bing quan sat OTi tir dinh ciia hing dgi q (dong 4) N I U bing quan sit OTi chiia gia tri "?" (dong 5), chiing ta se thu dugc tit c i cac bing quan sat con cua bing quan sit OTi bing each thay tat ci "?"
trong OTi bdi gia tri false hoac true (dong 6) Tit ci cic bing quan sit thu dugc sau dd
se dugc day vio hing dgi q (dong 7) Ngugc lai, tiic li bing quan sit OTi khong chiia gia tri "?" Trong truong hgp niy, nlu OTi khong phii li bing dong (dong 10), giii thuat thuc hien cap nhit bing quan sat OTi bing each goi thii tuc make_closed(OTi) (dong 11) ta thu dugc OT Sau dd, OT se dugc dua vio hing dgi q chd xu ly (dong 12) Trong tnrdng hgp ngugc lai, bing quan sit OTi li bing ddng, mot gii djnh ling cu vien Ai dugc tao ra tur OTj (ddng 14) Neu gii dinh Ai khong thoi man budc thii nhit ciia luat ghep ndi Giii thuat se thuc hien phin tich phin vi du cex de tim ra mot hau td
e ciia cex de minh chiing cho sir khic nhau giua L(Ai) va ngon ngu ciia gii dinh dugc huin luyen Sau dd, e se dugc them vio tip Ei ciia bing quan sat OTi (ddng 16) Tiep theo, giii thuat thirc hien cap nhit bing quan sit OT bang cich sii dung him Update(OTi) (ddng 17), ket qui thu dugc li bing OT OT sau dd dugc dua vao hang dgi q chd xii ly (ddng 18) Neu ngugc lai, Uic li budc thii nhit ciia luat ghep ndi dugc thoi man, giii thuat se thuc hien kiem tra budc thii hai ciia luat ghep noi Neu budc thii hai khdng thoi man (ddng 20) Giii thuat se thuc hien phin tich phin vi du cex de xac dinh xem cd phii he thdng khdng thoi man thudc tinh p hay li gii dinh Ai dua ra la qua manh de M2 thoi man Neu cex vi pham thudc tinh p (ddng 21), giii thuat se tri lai loi va kit thiic (ddng 22) Ngugc lai, tiic la gii dinh Ai la qui manh de M2 thoi man Giii thuat thuc hien phin tich phin vi du cex de tim ra hau td e Sau dd, e se dugc them vao tip Ei ciia bing quan sat OT (dong 24) Tiep dd, giii thuat thu dugc mot bing quan sit OT dugc cap nhit tu bing quan sit OT bang each sii dung him Update(OTi) (ddng 25) OT sau dd dugc dua vao hang dgi q chd xii ly (ddng 26) Thu tuc lap lai loan bo qua trinh bing cich lip tir ddng 3 den ddng 34 cho den khi hing dgi q rdng hoac mdt gii dinh tdi thieu dugc tao ra
19
Trang 20Input: Ml, M2, p: hai mo hinh thanh phan M] va M2, va thuoc tinh p
Output: AmCp) hoac cex: mot gia dinh AmCp) vdi kich thuoc nho nhat neu M1IIM2 thoa
man p hoac mot phan vi du neu ngugc lai
Khoi gan, q = empty {q la mot hang dgi rong }
q.put(OTo) {OTo = (SQ, EQ, TQ), SQ = EQ = {I}, trong do X la mot chuoi rong}
while q o empty do
OTi = q-get() {Lay OTj tu dinh ciia hang dgi q}
If OTi chua"?"'then
For moi bang con OT ciia OTi do
q.put(OT) {dua OT vao hang dgi q}
End for Else
If OTi chua dong then
OT = make_closed(OTi) q.put(OT)
Else
Xay dung DFA Ai tu bang dong OTi
If Stepl(Ai) 16i vod cex then
Them hau to e ciia cex vao tap Ei
OT = Update(OTi) q.put(OT)
Else
If Step2(Ai) loi vdfi cex then
If cex chi ra he thong vi pham p then
return cex else
Them hau to e cua cex vao tap Hi
OT = Updated(OTi) q.put(OT)
Else End if
End if return A:
End if End if
End If
End while
Hinh 4 Thu tuc dk tim gia dinh toi thiSu
20
Trang 21Kit qua thuc nghiem
Chiing tdi da cai dat cong cu ho trg su dung ngon ngu Ocaml [18] va ap dung mot so
he thdng nham dinh gii tinh dung va tinh hieu qui ciia phuang phap de xuit Chiing tdi lien hinh so sinh vdi phuong phap tao gii dinh dugc d^ xuit trong [14, 15, 16] Kich thudc (Ass Size - sd trang thai), sd lugng cic phep chuyen trang thai (Trans, of Ass.) va thai gian tao cac gii dinh dugc tinh toin trong thuc nghiem niy Bing 1 md ta
ket qui thue nghiem thu dugc sau khi ip dung cho 5 he thdng thu nghiem Kk qui nay
cho thiy phuang phip de xuit ludn tao ra gii dinh vdi kich thudc vi sd lugng cic phep chuyen trang thii nhd hon phuang phap dugc de xuit trong [14, 15, 16]
Bang 1 Ket qui thu nghiem cho phuang phip tao gii dinh tdi thieu
33
A s s Size
T i m e (ms)
7.6 6.3 23.5 24.8 23.5
Kit luan
Chiing tdi da de xuit mot phuong phip tao gii dinh tdi thieu cho kiem chung phan mem dua tren thinh phin Gii dinh toi thieu se dugc su dung de kiem chiing he thdng vdi chi phi thip hon Gii dinh tdi thieu cung giiip chiing ta kiem chung lai he thdng mot cich hieu qui trong tuong lai die biet li trong ngu cinh lien hda phin mem [17] Phuong phap de xuit li mot cii lien Idn tu phuong phap sinh gii dinh dugc de xuit
trong [14, 15, 16] bang cich bd sung them gii tri "T (chua xac dinh) trong viec tri Idi
cac ciu hdi truy vin ciia thuat toin hoc L* Chiing tdi cung da cai dat cong cu ho trg va
ap dung cho mdt sd vi du minh hoa Ket qui thuc nghiem (Bing 1) li minh chiing cho tinh diing din v i hieu qui ciia phuong phip de xuit
21
Trang 22b Kiem chirng su tuan thu giira thyc thi so voi cac dac ta thiet ke
Gi&i thieu
Ngdn ngu md hinh thdng nhat (Unified Modelling Language - UML) la ngon ngu md hinh dugc dung rit phd bien trong phat trien phan m^m theo hudng ddi tugng Ngon ngu ring budc ddi tugng (OCL) [21, 22] cd thi xem li mot phin md rdng cua UML vdi muc tieu md t i cac ring budc trong so do Idp ciia UML
AOP la mot phuang phip lap trinh mdi vdi ca che quan tim phin mem tir cac khia canh khac nhau [23] Viec xu ly cho cic khia canh niy se dugc chen them vao phin mem thdng qua cac luat do ngudi phit trien phin mem quy dinh
Chiing tdi dua ra mot phuong phip kiem chung bit bien ciia cic ddi tugng Java trong thai gian thuc thi Gii thiet ciia phuang phap nay li UML/OCL dugc sir dung de
md hinh phin mem Cic md hinh niy sau dd dugc hien thuc bing ngdn ngij lip trinh Java Cic rang budc OCL se dugc chuyen thinh cac khia canh v i cic khia canh niy se dugc chen vio trong phin mem chinh Khi phin mem niy thuc thi, cic doan ma dugc chen vio se kiem tra tinh bat bien ciia cac thudc tinh ciia ddi tugng
Tong quan cua qua trinh kiem cliimg
Hinh 5 trinh bay tdng quan qui trinh kiem chung Ba budc chinh ciia qui trinh kiem chung nhu sau Diu tien, ngudi thiet ke phin mem dua ra md hinh UML v i cic ring buoc theo OCL Budc tiep theo phin mem se duac hien thuc bang Java theo md hinh UML da dugc dua ra Sau cung, cic khia canh kiem chung se dugc sinh ra tu cic ring budc OCL v i se dugc chen vao phin mem da dugc viet khi phin mem dugc thuc thi
Trang 23Trong cac budc tren, budc quan trong nhat la sinh ra cic khia canh kiem chung tir rang budc OCL Budc niy dugc chia lam 2 budc nhd han bao gdm: phin tich cic rang budc va sinh khia canh
Muc tieu ciia budc phin tich cac rang budc la de nim bit dugc ngu nghia ciia cac ring budc dd De lim dugc nhu thi, cic ring budc cin dugc chuyin thanh mot ciy cii phap cu the (Concrete Syntax Tree - CST) CST va die t i UML sau dd se dugc chuyen thinh ciy cii phip triru tugng (AbsUact Syntax Tree - AST), Sau cung, AST se dugc sir dung de sinh cac khia canh kiem chiing
Tu AST, cic ten Idp (tir tir khda context ciia OCL) v i quan he giua cic Idp,
thudc tinh, va cic thong tin khic cd thi liy dugc Cd hai loai bit biln cd thi liy tu OCL, bao gdm: loai bit bien lien quan den thudc tinh ciia mot Idp hoac cac toin tu ciia cac loai du Heu da dugc dinh nghia san; loai bit bien lien quan den cac quan he giua cac Idp (vi du quan he 1 -1, quan he 1 - n, )
Hien thuc
Vdi y tudng nhu tren, chiing tdi da xiy dung mot cong cu goi li Verification Aspect Generator (VAG) Cong eu niy nhan cac md hinh UML dudi dang tep xmi vi OCL dudi dang tep ocl Cac khia canh sinh ra theo djnh dang ciia AspectJ (mot md rdng ciia Java de hd trg lip trinh hudng khia canh) Bd phin tich OCL dugc xay dung dua tren cong cu Dresden OCL Toolkit dugc phit trien bdi Trudng dai hgc ky thuat Dresden Cac bit bien se dugc liy ra tir AST sinh ra bdi bd phin tich OCL Cic tic gia da phat trien cic mau de sinh ra khia canh tir nhung bit bien liy dugc tir OCL Nhiing miu niy bao gdm eac phin cd dinh (nhu nhau cho tit ci cic bit bien) vi phan thay ddi (nam giua hai ky tu S, phin niy phu thudc vio tung bit bien)
r
Kit luan
Chiins tdi dua ra mot phuang phip kiem chiing bat bien tai thdi diem thyc thi cua cac ddi tugng Java Phuang phip dua ra dya tren cic ring budc bit bien dugc the hien bine OCL va sir dung AOP de chen cic doan ma kiem tra Phuang phap de xuit ed thi duge sir dung d giai doan kiem thir trong qui trinh phat trien phan mem, bao gdm kilm thir thinh phin, kilm thir tich hgp v i kiem thir chip nhan
N*^oii ra, sir dung lip trinh hudng khia canh AOP, chimg tdi cung da de xuat mot sd phuang phap dl kilm chimg ve giao thirc va kiem chimg ring buoc thdi gian
23
Trang 24c Phu-ong phap kiem chirng hinh thirc cho cac he thong tu-ong tranh
Gi&i thieu
Cac tien trinh trong mot he thdng tuong tranh thudng phii dugc ddng bd hda Sy ddng
bd hda giira cac tien trinh thudng dugc phin lam hai loai: cong tic v i canh tranh Mot trong nhirng vi du diem hinh ve sy cong tie giua cic tiln trinh li vin dl cung cip-tieu thu (producer-consumer) vdi hai tien trinh consumer vi producer Trong dd, tiln trinh producer cung cip cic phin tu dir lieu de tien trmh consumer tieu thu chiing Viec cap phit tii nguyen cho cic tien trinh gap phii vin de xung dot tii nguyen khi cic tiln trinh ciing mudn sir dung tii nguyen diing chung Do dd, trudc khi cii dat he thong chiing ta phii dim bio rang thiet ke cua he thdng khdng cho phep vin de xung dot tii nauven xav ra
Chiing tdi de xuit mot phuang phip die t i va kiem chimg bin thiet ke giao thiic tuong tic cua he thong tuong tranh su dung phuang phap hinh thiic Event-B [24] nham dim bio tinh diing din cua thiet ke niy trudc khi tien hinh cii dat Trong phuong phip nay, hanh vi ciia mdi tic tu dugc dac ti bang mot may trim tugng tham chieu den ngu cinh cua nd Cic may trim tugng v i ngir cinh sau dd dugc ket hgp vdi nhau theo mot giao thuc tuong tic xic dinh Su dung cic cong cu hd trg ciia Event-B, chiing tdi tien hinh kiem chiing tinh diing dan cua die t i giao thuc tuong tic Phuong phip de xuit dugc minh hoa qua mot thilt ke ciia he thdng da tic tu thyc hien cic phep loan nhi phin Chung tdi cung da cii dat thir nghiem he thdng niy bang cong cy RODJN hd trg phuang phip hinh thuc Event-B Bang thyc nghiem niy, chiing tdi da chiing minh ty ddng tinh diing din cua bin thilt ke die ti giao thirc tuong tic trudc khi tien hanh cai dat nd
Phuomg phap dac ta
Vdi ca chi lim min trong Event-B, chiing tdi dl xuit md hinh tdng quit de die ti rang budc giira v l thii ty giiia cic tiln trinh tuong tranh nhu hinh 6 Trong dd, md hhih khdi tao bilu dien mot miy trim tugng vdi cic sy kien duge thyc hien tuong tranh Md hinh lim min bilu dien giii phip cho sy thyc hien tuong tranh cua cic sy kien Tir mo hinh tdng quit niy, chiing tdi se dl xuat giii phap dl die ti thir ty thyc hien cua cic sy kien
va ap dung cho cic van dl vl viing xung dot, cung cip-tieu thu va doc ghi
Viing xung dot dugc die t i bing Event-B nhu hinh 7 Gii sir ed mot chmmg trinh tuong tranh cd n tiln trinh cimg sir dung chung mot \aing dir lieu chia se Moi tien Uinh
cd mdt doan ma goi la critical section dl truy cap vio vimg dir lieu chia se nay Vin de
dat ra li khi mot tiln trinh dang sir dung viing dir lieu niy thi phii dim bio cac tien
trinh khac khdng dugc phep thyc hien doan ma critical section ciia chung
24
Trang 25Khong mat tinh tong quat, chiing toi gia thiet thu ty thuc hien ciia cac su kien tuan thii
theo gian thiic T = [int, ec,, ec2 ., ec„] Trong mo hinh lam min ciia no, chiing toi sii dung ky thuat dong bo hoa vod cac bi^n semaphore turn de dieu khiSn sir thuc thi ciia cac su kien theo giao thiic Y
e n d
Hinh 7 Miy truy cap vio viing xung dot
Van dl cung cip-tieu thy dugc bieu dien tuong ty nhu vin de xung dot, trong dd cac
dilu kien Gi n G2 ^ (j* ^e dim bio cac sy kien cuei producer v i consumer cd the dugc thyc hien tuong tranh Tai thdi diem ban diu, sy kien khdi tao int se dugc thyc hien de dong thdi kich hoat cac sy kien producer va consumer theo giao thuc V = [int,
producer \\ consumer] Trong md hinh lim min ciia nd, chimg tdi sir dung ea che dong
25
Trang 26bd hda vdi cic bien semaphore Count dugc khdi tao bing khdng dl bilu diln sd phin
tu cua bd dem Gia trj biln nay se dugc tang len mot khi mot phin tir dir lieu mdi dugc
bd sung vao bd dem va giim trong trudng hgp ngugc lai Biln Buffer_Size bilu dien
kich thudc ciia bd dem
Vin de doc ghi ciing tuang ty nhu vin de cung cip- tieu thy va xung dot Cic dieu kien can thda man la Gi n G2 ;^ (j) de cic sy kien cua nd dugc thyc hien tuang tranh vdi
nhau Trong md hmh lim min, chiing tdi bd sung cic biln readers dl bilu dien so tiln
trinh dugc doc song song nhau tir ca sd dii lieu sau khi thyc hien thinh cong sy kien
StartRead\k trudc khi thyc hien sy kien EndRead, Tuang ty, cic biln writers bilu
dien sd tien trinh dugc ghi song song nhau tir ca sd dir lieu sau khi thyc hien thanh
cong sy kien StartRead va trudc khi thyc hien sy kien EndRead Biln dilu kien
OKtoRead dugc sir dung de khda cac tiln trinh doc cho din khi nd dugc phep doc
Tuong ty, bien dieu kien OKtoWrite dugc sir dung dl khda cic tiln trinh ghi cho din
khi nd dugc phep ghi
Thuc nghiem
Chiing tdi da cii dat v i dac t i cic vin de viing xung dot, cung cap-tieu thy va doc ghi bang cong cy RODIN cua Event-B Bing 2 md t i viec sinh va chimg minh ty dong cac menh de cin chimg minh bang bo chimg minh ciia RODIN Trong dd, sd menh dl can chiing minh dugc sinh ra ty ddng nham dim bio tinh diing dan cua die ti Trong cic menh de nay, mot sd da dugc chung minh ty ddng va sd con lai dugc chung minh thii cdng
Bang 2 Thyc nghiem die t i ring budc thii ty giira cic lien trinh tuong tranh
Rang buOc
Vuiig xung dot
Cunj^ Ciip-tieu thu
26
Trang 27d Sinh bo kiem thir thich hop cho viec chuyin doi so thyc dau phSy dong sang
so thyc dau phay tinh
Viec cai dat mot ung dung da viet cho may tinh ci nhan sang thilt bi nhiing yeu cau
chuyen ddi viec xu ly sd diu phiy dong v i cic phep toin tuong ung vdi xu ly diu phiy tinh do cac thiet bi nhiing v i dien thoai di ddng thudng khdng cd don vi xu ly diu phiy ddng (FPU) Do yeu ciu eiia cic thiet bi nay, viec kilm tra sy chuyin ddi ddi hdi tinh chinh xic cao Tinh chinh xic dugc the hien d sy bao quit ma chuong trinh va cic chien luge khac nhau de sinh bd kiem thir lim ro do sai lech giua hai each xir ly Vin
de chinh doi vdi cic phep loan diu phiy tinh li do chinh xac giim v i cd the trin bd dem bdi cic phep cat v i phep lam iron Vi viy, muc tieu chinh cua viec chuyen tu xir
ly diu phiy ddng sang xir ly diu phay tinh la cue tieu hda sy mil chinh xic
Trong hudng nghien eim niy, chung tdi dua ra khii niem mdi ve lieu chuin kiem tra tinh diy dii (test adequacy criterion) v i dua ra mot sd phuang phap dinh gii do chinh
xic giira hai ham va dinh nghia cic khai niem mdi nhu ham mat do chinh xac
(precision loss function), "max metric", 'threshold metric", tieu chuin diy du (adequacy criterion), sy diy du eye dai (max adequacy) v i ngudng diy du (threshold
adequacy) Chiing tdi ciing dua ra cic dinh nghia ve diem co dinh Idn can (^fixed-point neighborhood) va cue dgi dia phuang (local maximizer) tir dd de xuit thuat toin tim
eye dai dia phuong v i tim eye dai dia phuong Idn nhit, thyc chit li tim do lech Idn nhit giira \iec chuyen gii tri tir diu phiy ddng sang diu phiy tinh Muc tieu ciia phuong phip dl xuit li sinh bd kiem thir vdi cic ca kiem thir de tim eye dai loan cue ddn2 thdi cung dua ra giii thuat Tabu dugc cii lien vdi viec bo sung danh sach de trinh han chi ciia giii thuat leo ddi ddc diing Chiing tdi cung da cii dat cdng cu hd trg
v i tiln hanh thyc nghiem tren mdi trudng cu the vdi mot so ham toin hoc da thir nghiem vdi ket qui tdt
Chiing tdi dua ra cich tilp can mdi trong viec sinh bd kiem thir nham tim ra do sai lech trone viec chuyin ddi cic sd va phep toin trong xir ly sd thyc tren miy tinh sang xir ly tren dien thoai di dong v i thilt bi nhung bing viec cai tien v i dua ra giii thuat tim eye dai dia phuang sau dd tim eye dai loan cue de tim ra bd kiem thir tdt nhit
27
Trang 283.5.2, Cac cong trinh khoa hgc da cong bo
Bang 3 Bing tdng hgp cic sin pham khoa hoc da cdng bd
STT
1
2
3
Ket qua cong bo
Tap chi khoa hoc qudc te
Hdi nghi chuyen nginh qudc
te (cd phin bien)
Tap chi khoa hoc v i tuyen
tip Hdi nghi Qudc gia
Danh muc cic cdng trinh khoa hoc da cong bd:
- Cac bai bao tap chi quoc te:
1 Ngoc Hung Pham, Viet Ha Nguyen, Toshiaki Aoki and Takuya Katayama A Minimized Assumption Method for Component-Based Softw^are Verification,
LEICE Trans, on Information and Systems, Vol E93-D, no 8, pp 2172-2181 (ISI
index), 2010
2 N T T Trang, N T Truong, and N V Ha, Verifying Java object invariants at
runtime, International Journal of Software Engineering and Knowledge
Engineering (ISI index), Feb 2011 (to be appeared)
3 Hung Pham, Hoang Truong, Wei-Ngan Chin and Takenobu Aoshima, Test Case
Generation for Adequacy of Floating-point to Fixed-point Conversion, Electronic
Notes in Theoretical Computer Science, Volume 266, pp 49-61, 2010
- Cac bai bao tap chi trong nu-dc:
4 Trinh Thanh Binh, Truong Anh Hoing, Nguyen Viet Ha, Kiem chung sy tuong tic giira cac thinh phin trong chuong trinh da luong sir dung lap trinh hudng khia canh
Tgp chi Biru chinh Vien thong, Chuyen san cac cong trinh nghien ei'ru trien khai Viin thong vd Cong nghe thong tin Tip V-1, sd 4, pp 36-45, 2010
5 Trinh Thanh Binh, Truong Ninh Thuan, Nguyen Viet Hi, Kiem chimg sy tuin thii
rang budc thdi gian trong cac ung dung phin mem, Tgp chi Tin hoc vd Dieu khien
hoc Vol 26, no 2, pp 173-184, 2010
- Cac bao cao hoi nghi quoc te:
6 Do Van Chieu and Dang Van Hung, An Extension of Mazukiewicz Traces and their
Applications in Specification of Real-Time Systems, In Proc of 2nd Intern Conf
8
Trang 29on Knowledge and Systems Engineering (KSE 2010), pp 167-171, IEEE Computer
Society Press, 2010
7 Thanh-Binh Trinh, Quang-Thap Pham, Ninh-Thuan Truong, and Viet-Ha Nguyen,
A Runtime Approach to Verify Scenario in Multi-agent Systems, In Proc of 2nd
Intern Conf on Knowledge and Systems Engineering (KSE 2010), pp 161 - 166,
EEEE Computer Society Press, 2010
8 Viet-Ha Nguyen, The Duy Bui, Quang-Dung Vu, Nguyen Thi Thu Hien, Towards
scalable agent based w^eb service systems In Proc of 4th International Conference
on New Trends in Information Science and Service Science, pp 210 - 213, IEEE
Computer Society, 2010
9 Trinh Thanh Bmh, Truong Anh Hoang, Nguyen Viet Ha, Checking
Protocol-Conformance in Component Models using Aspect Oriented Programming, In Proc
of LASTED Intern Conf on Advances in Computer Science and Engineering, pp
150-155, March 16-18, 2009, Phuket, Thailand, 2009
10 Truong Ninh Thuan, Tran Thi Mai Thuong, To Van Khanh, and Nguyen Viet Ha,
Checking consistency between UCM and PSM using graphical method, In Proc of
1st Asian Conf on Intelligent Information and Database System (ACIIDSV9J, pp
190-195 April 1-3, 2009, Quang Binh, Vietnam, 2009
11 Thanh-Binh Trinh, Tuan-Anh Do, Ninh-Thuan Truong, and Viet-Ha Nguyen,
Checking the Compliance of Timing Constraints in Software Applications, In Proc
of 1st Intern Conf on Knowledge and Systems Engineering (KSE 2009), pp
220-225, Oct 14-15, 2009, Hanoi Vietnam, 2009
12.Anh-Hoang Truong and Thanh-Nhan Vu, A Parameterized Unit Test Framework
Based on Symbolic Java PathFinder, In Proc of 1st Intern Conf on Knowledge
and Systems Engineering (KSE 2009), pp 220-225, Oct 14-15, 2009, Hanoi,
Vietnam, 2009
13.Ninh-Thuan Truong, Thanh-Binh Trinh, Viet-Ha Nguyen, Coordinated Consensus
Analysis of Muhi-agent Systems using Event-B, In Proc of 7th IEEE Intern Conf
on Software Engineering and Formal Method (SEFM'09j pp 201-209 Hanoi,
Vietnam, 23-27 November 2009
29
Trang 303.5.3 Ket qua dao tao ciia de tai
Via Thanh Nhin
Pham Van Viet
Nguyen Van Hieu
Trinh Thanh Binh
Dd Van Chieu
Vii Quang Dung
Ten luan van/luan an
Checking the conformance between the implementation and PSM specifications in component models
Phuang phap tao gii dinh tdi thieu ap dung cho kiem chung phin mem hudng thanh phin Kiem chiing sy tuong tic giua cac thanh phin trong chuong trinh Java da ludng
Die ti hinh thiic cic giao dien thinh phin vi dinh gia chit lugng dich vu trong cdng nghe phin mem dya tren nen thanh phin
Nghien cuu kien true phin mem
da tic tu vi tinh toin hudng djch \ n
De in nhiem vu chien luac
De in nhiem vu chien luge
Da bao ve cip CO sd
3.5.4 Ket qua u-ng dung Ciia de tai
Trong qui trinh thyc hien de tai, chung tdi da phit trien dugc 02 cdng cu:
a Cdng cu sinh ma kiem chimg aspect
b Cdng cu hd trg kiem chiing bit bien ciia ddi tugng Java trong thdi gian thyc thi
30
Trang 31ạ Cong cu sinh ma kiem chirng Aspect
Gi&i thieu
PVG la bd cdng cu sinh ma kiem chung AspectJ tir cic die t i bing bieu đ UML hoac
bieu thuc chinh quỵ Ma kiem chung sau đ dugc dan vdi cac chuong trinh Java dl kiem chung sy tuin thii giua chuong trinh va die t i ciia nd
Hien tai PVG da hd trg kiem chiing sy tuin thu cua chuong trinh so vdi die ti giao
thirc tuong tic giua cac thinh phan {thir tu thuc hien cua cac phuong thuc trong cac
lap hoac cac thanh phan) Hoac rang budc thdi gian giiia cic thinh phin trong chuong
trinh tuong tranh Trong đ, giao thiic tuong tie dugc die t i bang miy trang thii giao thiic bieu đ tuan ty ciia UML hoac bieu thirc chinh quy md rdng Rang buoc thdi gian dugc die t i bing bieu đ thdi gian cua UML hoac bieu thiic chinh quỵ
j pBclcâe pcococolvecif icot l o n g e n e r e t o r ;
1 O import ocffOOeaHtop o p p i i c o c i o n Appilcac ion:
I ' '- Uspocc o r g jdesKtop a p p l i c a t i o n 3 i n g l e r r a n e l p p l l c a c ion:
ji-.-iếolOf (rTr"W*(^) I n^irw>g | (-;i ^
Hinh 8 Khdi dong PVG tu IDE cua NetBeans
Hu&ng đn sir dung
Cdcyiu cau
Mdi trudng thyc thi Java JRE phien bin 1.5 hoac cao hon, cd the Download tai dia chi
http://javạsun.com Cdng cu PVG cd the dugc Download tai dia chi:
http://w^ww.mediafirẹcom/?uz9swlu9gl0hez7 De khdi đng bo cdng cu PVG trong he
31
Trang 32dieu hinh Window chi can nhap dup chudt vao file cd phan md rong jar Trong Unix,
su dung lenh: Java -jar PVG.jar
PVG cung cd the dugc khdi ddng bing cich import ma ngudn ciia nd tir mdi trudng
phit trien tich hgp IDE cua NetBeans hay Eclipse (cd the Download Netbeans, Eclipse
tai dia chi http://netbeans.org/downloads/ http://www.eclipse.org/downloads/) sau dd
chay file ProtocolGeneratorApp.java (hinh 8) Giao dien chinh cua cdng cu PVG sau khi khdi ddng nhu trong hinh 9
Ooon 9 f l Wrte AO^ ^otscd Cenvace A^KCt S«ve k^nxX
PI coed AfsecU
Hinh 9 Giao dien chinh cua cdng cu kiem chimg PVG
Cac chimg nang chinh
Hien tai cdng cu duge xiy dung vdi bdn chirc ning chinh (hinh 9)
- Open XMI: Doc die t i tir cac bilu do UML nhu bieu do miy trang thai giao thuc, bieu dd tuin ty hoac bieu dd thdi gian
- Write protocol: Dac t i tryc tiep giao thirc tuong tic hoac rang budc thdi gian bing cac bieu thirc chinh quy trong cac file dang txt
- Generate Aspect: Sinh ma aspect tir cac die ta tren
32
Trang 33Save Aspect: Luu ma aspect dudi dang cic file cd phin md rdng la *.aj, cac
file niy se dugc dan vdi cic chuong trinh Java de kiem chimg sy tuin thii giira chuong trinh v i die t i cua nd
G StarUML - Concur rentOueue.unl
^ i<St f^irrw MoOe- «cv l o d * t j ^
SI Si W ] <idi-Li * jer«f accj fcJdlr' merxi s 'Cffsrerec iuccMi* J v
SIiSSPM] C \DoajTierti ard 5e(trios\^f^\Deittoo\BrVmJserManuaftCanci^ert(^^
H OutDUtJ 3 " ^ W T : ^ >-».-^< S-g^'cr ^ Dmgryn Ejpiorgf
;LnSt*(«KaftC»a^an) iToi^r-rr/KJonhvyv :StatBnadiinel::StatBchartDia9anil
/sttip e ^ e v B
Hinh 10 Die t i giao dien ciia Idp Queue vdi StarUML
Hu&ng dan thuc hien
Dac td giao thuc
Gii su mot giao thirc tuong tic cua mot hing dgi tuong tranh (Concurrent Queue - CQ) vdi b6n phuong thiic dugc eii dat cho phep goi ciing luc bdi mot ludng cung cip Producer diy cic phin tii* vio hing dgi, v i nhieu ludng Consumer ciing thao tic vdi cic phin tu trong hang dgi Tai trang thii trim tugng OPENED, cac ludng Consumer
cd the goi cic phuang thiic enqueue() hoac dequeue() de bd sung hoac loai bd cic phin tir ciia hing dgi Khi ludng Producer goi phuong thirc close() de chuyen sang trang thai trim tugng CLOSED thi cac phin tir khic se khdng dugc bd sung hoac loai bd tir hang dgi Chung tdi die t i giao thuc nay bing miy trang thai giao thirc cua UML nhu trong Hinh 8 Trong dd
33
Trang 34Thu ty thyc hien cua cic phuong thirc trong chuong trinh phii tuin thu theo cac
cung trong Hinh 10 li mot dudng di tir trang thii dau din trang thai kk thiic
Trong dd, hai phuang thirc dequeue(Q,x) vi enqueue(Q,x) cd thS dugc goi ddng thdi bdi cic ludng khic nhau
Khi phuang thiic enqueue(Q,x) dugc thyc hien thi tien dieu kien li hing dgi chua diy v i hau dieu kien li x phii dugc day vio hing dgi Vdi phuang thuc dequeue(Q,x) thi tien dieu kien li x thuoc hing dgi v i hau dieu kien la x dugc loai bd khdi hang dai
Oo^ri XMI w r t a Afti Pretacd Otrmtta Aipact S«v« Anwct
STUIT -> void openiOueue Q)
void opecfOueue Qi | void ecqueue(Queue
void opeoiQueue Ql I void enqueue(Queue
void open (Queue Qi | void encfueue (Queue
3 73 t e n Out p r i s t In ("JLspect i n s t a n c e i s c r e a t e d : "••tnis]
p o i n t c u t pc_open_Oueue(Queue Q): arga(Ql fifi c a l l (void opeo(Queue]) ; before(Queue Q): pc_open_Queue(Ql (
If ( ' (StOte"STXTE_5TJU5Tl ) ( S73Ce».0ut p r i n t ( "Brong a t : " + t b l s J o l n P o i n t 3 t a t icPoirc gee Signature (1 ) ;
S y s t e m o u t p c i n t t " In f i l e : " + t b i 3 J o i n F o i n t 5 c o c i c P a r ^ g e t S D u r c e L o e a t i o n
3 ys t e a o u t p r i n t In [" I t l i n e : " + t h i 9 J o i i i P o i n t S t a t i c F a r t g e t S o u £ c e L o c a t l < after(Queue Oi: pc_opeD_Oueue(QJ (
S y s t e a o u t p r i n t l n C At l i n e : " - t - t h i s J o i n P o i n t S t a t i c P a r t g e t S o u r c e L o c a t i
) )
ofteriQueue Q, i n t x) : pc_enqueue_intQueue[Q, x) ( acace • STATI_enqueue_Q_K;
va tiSn di^u kien mi nd phii thda man Sau khi phuong thirc dugc thyc hien xong thi cic ciu lenh trong after( ) cua pointcut se kiem tra cic menh de hau dieu kien va bien trang thii dugc gin bing trang thii ciia phuang thirc hien tai Mdi klai cd vi pham ve
34
Trang 35giao thuc thi cac ham getSourceLocation()vi getSignature()cua aspect dugc sinh ra se thdng bio chinh xic vi tri va phuong thiic dugc goi giy ra vi pham
Mot trang thii die biet ST_START ciia aspect dugc sinh ra tuong ling vdi trang thii ciia phuong thirc dugc thyc hien dau tien trong giao thiic Khi phuang thirc cudi ciing trong giao thiic dugc thyc hien thi trang thii cua nd se dugc gin bing trang thii die biet niy de bio dim cic giao thiic tiep theo dugc kiem chung
.3^Z3l
S t r i n g SendTo[Scriag s t r ) I ScriBg Receivi
void 3ocfcet[) -> void Bindi)
void Connect 0 -> s t r i n g 3endTo(Stciog sti
S t c i a g ScodTo i S t n n g s t c i | S t c m g Receivi
void Connect() -> S t r i n g Receive(String s<
START -> void Scclceto
void Biacil I void 3ock:et() -> void Conne<
void Connect!) -> S t r i n g 3eDd(StciDg s t r )
void Connect [) -> S t r i n g ReceivercQiD(Strii
void Close () -> rZNlI
public aspect PtotocolCbeclcer(
puClic f i n a l s t a t i c loc 3TATI_START - 0;
public f i n a l s t a t i c int 3TATZ_3hutdo«D - l ;
p u t i c final s t a t i c int STATT Close - 3T1TT
i^^ 0»o»n O E - ] , Tfazw-^rLSiTtt
Hinh 12 Giao dien luu ma Aspect
Luu md Aspect
Sau khi sinh ma AspectJ tir die t i cua nd, chiic nang save cho phep ngudi sir dung luu lai ma aspect duge sinh ra trong cic file rieng de dan vdi cic chuong trinh Java cin Idem chimg Cac file niy cd phin md rdng li *.aj, theo dinh dang ciia ngdn ngir lip trinh hudng khia canh vdi AOP
Dan md aspect
AspectJ cho phep dan xen ma aspect vdi cic chuong trinh Java d ba mire khac nhau: miic ma ngudn, ma bytecode v i tai thdi diem nap chuong trinh khi chuong trinh goc chuin bi dugc thyc hien Dan d muc ma nguon, AspectJ se nap cac ma aspect v i Java
d miic ma ngudn (.aj v i Java), sau dd thyc hien bien dich de sinh ra ma da dugc dan xen bytecode, dang class Dan xen d miic ma bytecode, AspectI se dich lai va sinh ma
35
Trang 36dang class tir cic cic ma aspect vi Java da dugc bien djch d dang (.class) Dan xen tai thdi diem nap chuong trinh (load time weaving), cic ma ciia aspect v i Java dang class
dugc cung cip cho miy io Java (JVM) Khi JVM nap chuong trinh dk chay, bd nap Idp
cua AspectJ se thyc hien dan ma v i chay chuong trinh
(tW actor
f t I/Tcort
:• J Lxport
.v_ Rofr«h Rctfercricei Dedarabcxv
fijcmaJToal)
EJADE
_ i Z 3«va Apoteotlon Rin CorViQi'Mlonx
A J ( * S ^ t * I , J
1 t:i^
' ' - • - " - f o -
O^X!>-^-Hinh 13 Dan xen ma aspect vdi Eclipse
Vi du dan xen d miic ma ngudn tu eclipse hoac NetBeans (Hinh 13) hoac thyc hien cic ciu lenh
- Yeu cau:
o Ma nguon: file chuong trinh nguon {chirang trinh can kiem chimg) *.java
v i file chira ma aspect dugc sinh ra dang *.aj
o Thiet lap moi trudng:
• PATH: <aspeetj>/l3in
• CLASSPATH: <aspectj>/lib/aspectjrt.jar
- Thyc hien:
o Djch va dan xen:
• ajc ConcurrentQueueJ.java ConcurrentQueueA.aj
o Chay va kiem tra:
• aj ConcurrentQueueJ hoac,
• Java ConcurrentQueueJ
36
Trang 37Thuc nghiem
Thyc nghiem dugc tiln hanh tren Idp StreamBuffer vdi ba phuang thiic openQ, readQ
va close() Giao thiic tuong tic dugc die t i bing bieu thiic chinh quy
open()->(read())*->close() md t i phuang thiic open() dugc thyc hien trudc sau dd l i mot hoac
nhieu Ian goi phuang thirc read(), cuoi cimg li phuang thiic close() dugc goi dh giii
private int num:
public void run() { ti>'{
InputStream f = new FilelnputStreamC'file.txt"); //open()
int c, s=0;
while ((c=f.readO)!=-l){
System.out.print((char)c) s=sH-c:
Hinh 14 Hai bin cii dat chuong trinh
Hinh 14 minh hoa mot chuong trinh dugc cii dat tuin thu theo diing giao thirc ben trai
va sai ben p h i i (do phuang thirc close( ) khong dugc goi) Cac chuong trinh da luong
n i y dugc xay dyng de tinh tdng cic sd nguyen trong file Thyc hien kiem thir cac chuang trinh tren vdi cic input/output khic nhau, cic ket q u i cho t h i \ c i hai chuong trinh d i u cho k i t q u i dung nhu nhau Tuy nhien khi dan ma cua cic chuang trinh tren vdi ma aspect dugc sinh ra tir cdng cu PVG chiing tdi da phit hien dugc vi pham ring budc cua chuang trinh dugc cii dat sai ben phii
37
Trang 38Ben canh giao thiic nay, chiing tdi cung da thir nghiem vdi cac giao thirc khic trong thu vien chuin cua Java Cic giao thiic nay dugc die t i bing cac bilu thiic chinh quy va miy Uang thai giao thirc Vdi moi die t i niy chiing tdi sii dung cdng cu PVG dl sinh cic ma aspect cua AspectJ v i dan ty ddng vdi cic chuong trinh Java md phdng dl kiem chiing sy tuin thu giira sy cai dat ddi vdi die ti giao thiic Cic kit qui thyc nghiem trong Bing 4 Trong dd, mdi Idp trong cot 1 ben trii cua Bing 4 tuong img vdi
sd cic phuang thiic cua giao thiic trong cot 2 Chiing tdi xay dyng chuong trinh md phong cho timg Idp vdi sd cac ca kiem thir diing va sai khic nhau trong cot 3, ket qiia phit hien trong cot 4 Vdi cic ca kiem thir diing thi cic Idp dugc cii dat tuan thii diing die t i giao thiic Ngugc lai, vdi cic ca kiem thir sai thi se cd it nhit mot phuang thirc thyc hien khdng diing dac t i (cic vi pham ve thii ty thyc hien, tien v i hau dieu kien) Cic giao thiic deu dugc die ta dudi ci hai dang bieu thiic chinh quy va miy trang thii giao thiic
Cic chuang trinh md phdng trudc va sau khi dan ma AspectJ dugc chay 20 Ian vdi mdi Ian chay thi sd ludng dugc ting din tir 1 den 20 ludng De dinh gii thdi gian thyc hien ciia cic chuong trinh trudc khi dan ma aspect so vdi thdi gian thyc hien sau khi dan ma chiing tdi tinh t\' le gia tang thdi gian trung binh bing cdng thiic sau:
n
r = -^ xlOO%
n
Trong dd, tSj v i tXi Ian lugt li thdi gian thyc hien cua chuang trinh trudc vi sau khi dan
ma aspect d lugt chay thii i, n li tdng sd lugt chay ciia chuong trinh trudc va sau khi dan ma Thdi gian thyc hien cua cic chuong trinh trudc vi sau khi dan ma dugc tinh bing hieu ciia thdi gian hien tai ciia he thdng trudc khi chuong trinh dugc thyc hien vdi thdi gian hien tai cua he thdng sau khi chuang trhih thyc hien xong
Ddi vdi cic giao thiic md t i trong cot 1 (Bing 4), ket qui thyc nghiem cho thiy:
(i) cic aspect dugc sinh ra dung so vdi cac die t i giao thirc nhat quin giira bieu
thirc chinh quy v i miy trang thii giao thiic,
(ii) cic aspect khdng lim thay ddi hinh vi ciia chuang trinh gdc ngoai trir thdi
gian chay v i kich thudc ciia chuang trinh,
(iii) da phit hien dugc cic vi pham tuong tic (thir ty thyc hien) tien va hau dieu
kien cua cic phuong thiic dugc cii dat mi khdng tuan thii theo die t i giao thiic,
(iv) thdi gian chay sau khi dan ma aspect se tang t\ le thuan vdi sd ludng trong
chuona trinh v i sd phuang thirc dugc md ta trong giao thirc
38
Trang 39Bang 4 Ket qui thyc nghiem sii dung cdng cu PVG
10/20
5/15
6/10 2/3 2/5
5/15
3/5
2/2
Ty le Phat hien (%)
0.915
0.923
0.974 0.533 0.915
1.542
0.974
0.323
39
Trang 40b Cong cu ho trg kiem chirng bat bien cua doi tu-ong Java trong thdi gian thu-c thi
Hu&ng dan cai dat
Sau khi download file ijseke.zip tir www.coltech.vnu.edu.vn/'-'hungpn/ijseke.zip vi giii nen ra ta thu dugc mot thu muc gom cd :
- Thu muc GenAspect chira ma nguon chuang trinh
- Thu muc Sample data chira vi du
- File AutoGenAspect.jar li file chay da dugc build sin
De sir dung file AutoGenAspect.jar ta chi cin Java (JDK 1.5.9) tro len
De bien dich ma ngudn xin hay lim theo hudng din nhu sau:
1 IDE: Eclipse 3.2 tr& len tai http://\vw\v.eclipse.org/downloads/
2 Mdi trudng: Java (JDK 1.5.9) tralin tai http://download.iava.net/idk6/binaries/
3 Thu muc se de trong workspace: GenAspect
4 Thu muc thu vien: Resources (Nhu trong trudng hgp niy li de ben trong thu muc cua GenAspect) Chii y ciu hinh lai dudng din cac thu vien dugc sir dung
5 Sir dung Eclipse de bien dich chuong trinh
Hu&ng dan su dung
Giao dien ciia chumtg trinh:
Giao dien ban dau chi gom tab Gen aspect vi cic niit chiic nang nhu hinh 15:
- Load XMI dl md mot file XMI
- Load OCL de md mdt file OCL
- Generate de tao ra aspect tir XMI vi OCL
Clear de xda va Save aspect de luu lai aspect
Tai lieu hudng din sir dung nay nhim giup ngudi diing hieu ro yeu ciu va timg
budc dl "generate aspecf^ chiing toi sir dung vi du Case Study Bank cd san di kem vdi
chuang trinh de lim vi du minh hoa
40