1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phát triển các phương pháp và công cụ trợ giúp công nghệ phần mềm dựa trên thành phần đề tài NCKH QGTĐ 09 02

234 30 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 234
Dung lượng 44,02 MB

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

Nội dung

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 1

DAI HOC QUOC GIA HA NOI

Trang 2

MUC 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 3

GIAI 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 4

1 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 5

STT

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 6

1.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 7

1.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 8

2 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 9

3 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 10

Tren 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 11

3.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 12

xuit 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 13

3.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 14

3.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 15

a 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 16

truong 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 17

Counterexample - 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 19

dyng 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 20

Input: 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 21

Kit 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 22

b 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 23

Trong 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 24

c 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 25

Khong 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 26

bd 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 27

d 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 28

3.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 29

on 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 30

3.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 32

dieu 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 33

Save 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 34

Thu 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 35

giao 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 36

dang 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 37

Thuc 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 38

Ben 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 39

Bang 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 40

b 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

Ngày đăng: 02/10/2020, 10:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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