Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 234 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
234
Dung lượng
17,57 MB
Nội dung
DAI HOC QUOC GIA HA NOI ooOoo Ten de tai Phat trien cac phircng phap va cong cu tro* giup cong nghe phan mem dira tren phan M a so: QGTD 09.02 Chu nhiem de tai: PGS.TS Nguyin Viet Ha HaN6i-2011 MUC LUC THONG TIN CHUNG VE DE TAI 1.1 Thong tin ve de tai 1.2 Danh muc cac bang so lieu va cac hinh ve 1.3 Bang tong hop cac san pham da dat diroc TOM TAT CAC KET QUA NGHIEN ClTU CHINH CUA DE TAI 2.1 Ket qua ve khoa hoc cong nghe 2.2 Ket qua phuc vu thyc te 2.3 Ket qua dao tao 2.4 Ket qua nang cao tiem luc khoa hoc BAO CAO TONG KET 3.1 Dat van de 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 PHULUC 48 GIAI THICK CAC CHtT VIET TAT Vilt t5t CBS CBSD Ten day du Component-Based SoftAvare Component-Based Software Development Component-Based Software Y nghla Phan mem dira tren ph4n —^ ^ ^ Phat trien phan mem dira tren phan \ ^ Engineering Cong nghe phan mem dua tren phan MC Model Checking Kiem chung mo hinh MV Modular Verification Kiem chimg lung phan CBSE AGV AGM MAGM Assume-Guarantee Verification Assumumption Generation Method Minimized Assumumption Generation Method Kiem chung dam bao gia dinh Phuong phap tao gia djnh Phuong phap tao gia dinh toi thieu UML Unified Modelling Language Ngon ngu mo hinh hoa thong nhat OCL Object Constraint Language Ngon ngu rang buoc doi tucmg AOP Aspect Oriented Programming Lap trinh huong khia canh CST Concrete Syntax Tree Cay cii phap cu the AST Abstract Syntax Tree Cay cu phap trim tugng VAG Verification Aspect Generator FPU Floating-Point Unit Cong cu tao ma Aspect cho kiem chung Bg xu ly dau phay dong 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 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 Dia chi: 144 Xuan Thiiy, cAu Gi4y, Ha Noi Thu k}' de tai: Ho va ten: Pham Ngoc Hung Hoe ham hoe vi: TS Chuc Mi: Giang vien Dien thoai: (04)3754 9016 E-mail: hungpn'givnu.edu.vn Co quan cong tac Truong Dai hoc Cong nghe, Dai hoc Quoc gia 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 Nguoi thuc hien chinh STT C a q u a n phoi hop Ho va ten Nganh/Chuyen nganh Truong Dai hoc Cong TS Pham Ngoc Hiing nghe, Dai hoc Quoc gia TS Truong Ninh Thuan Ha Noi TS Dang Van Hung Cong nghe phan mem TS Truong Anh Hoang Cong nghe phan mem TS Le Anh Cuong Khoa hoc may tinh NCS VuQuangDung Cong nghe phan mem Cong nghe phan mem Cong nghe phan mem STT Nguoi thirc hien chinh Co" quan phoi hop Ho va ten 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 Nganh/Chuyen nganh NCS Trinh Thanh Binh Cong nghe phan mem NCS.DoVanChik Cong nghe phan mem ThS Nguyen Thi Thu Cong nghe phan mem Trang Khoa hoc may tinh TS Le QuangMinh TS Nguyen Thang Truong Cong nghe phan mem ThM gian thuc hien da dupe pite duyet (va dieu chinh): 24 thang ke tir 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) 1.2 Danh muc cac bang so lieu va cac hinh ve Hinh Phuong phap kiem chung dam bao gia dinh 16 Hinh Thuat loan tao gia dinh cho kilm chung timg phin 17 Hinh Phan vi du chi [14, 15, 16] khong tao gia dinh t6i thiSu 18 Hinh Thii tuc de tim gia dinh toi thieu 20 Bang Ket qua thu nghiem cho phuong phap tao gia dinh toi thi^u 21 Hinh Tong quan qua trinh ki^m chung 22 Hinh Kien true long quat cua dac ta tuong tranh voi Event-B 25 Hinh May truy cap vao \aing xung dot 25 Bang Thuc nghiem dac ta rang bugc thu tu giua cac lien trinh tuong tranh 26 Bang Bang long hgp cac san pham khoa hgc da cong b6 28 Hinh Khoi dong PVG tu IDE cua NetBeans 31 Hinh 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 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 Abstract Syntax Tree 43 Hinh 19 Giao dien tao ma aspect 44 1.3 Bang tong hop cac ket qua dat du-oc STT Hang muc So lirong dang ky Ket qua dat du-ffc Tap chi khoa hoc quoc te 01 03 Hoi nghi chuyen nganh quoc te (c6 phan bien) 06 08 Tap chi khoa hoc va tuyen tap Hoi nghi Quoc gia 04 02 San pham cong nghe 02 02 So Thac SI dugc dao tao 04 04 So NCS dugc ho trg dao tao 02 03 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 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: 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 dugc dan voi cac chuong trinh Java d^ kiem chung sir man thu giua chuong trinh va dac ta ciia no Cong cu ho trg kiem chung bat bien cua doi tugng Java thai gian thuc thi 2.3 Ket qua dao tao De tai da gop phan dao tao dugc 03 NCS nganh CNTT 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 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 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 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 BAO CAO TONG KET 3.1 Dat van de Sir phat Uien nhanh chong cua phan mem ik ca cac ITnh vuc cua cuoc s6ng va nhung Igi ich ma no mang lai cho nguoi da dugc khing dinh Tuy nhien, ben canh nhung Igi ich to Ion nay, cac he thong phin mhm cung c6 thg gay 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 thuc ii cung cang Ion va phuc tap Nhung thach thuc 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 doi cua cong nghe phan mem dira tren ph§n (Component-Based Software Engineering - CBSE) dap ling dugc cac yeu cau cua phat trien phan mem CBSE dua 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 phan phan mem mot each doc lap Dieu 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 phan Moi phan 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 phan va phan thuc thi, dung de cai dat cac giao dien Sir tuong tac giua cac phan chi dugc thuc hien thong qua cac giao dien Cac cong nghe phat trien phan mem dua tren phan da dugc sii dung cong hien 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 qua trinh phat trien phan mem cung khong phai la nho Cac van de chii yeu tap trung vao viec thieu cac phuong phap va cong cu trg giiip mot each hieu qua tat ca cac giai doan ciia qua trinh phat trien phan mem Mot nhiing van de Ion nhat ciia CBSE la dam bao tinh dung d4n ciia he thong sau ghep noi cac phan Cac cong nghe dua tren hanh ph4n hien tai chi ho trg viec ghep noi cac phan (co che plug) chii khong th^ dam dao lieu cac phan sau ghep noi c6 hoat dong vai 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 Tuy nhien, mot nhirng han ch^ ciia phuong phap la van de bung no khong gian trang thai Tren the giai hien da co nhi^u d^ xuk ve kilm chimg phdn mhm dua tren 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 phin CORBA (CORBA Component Model, CCM) Cadena cung cap cac tien ich dung dS dinh nghia cac kilu ciia phan bang each sir dung CCM IDL (Interface Definition Language), tich hgp he th6ng tu cac phan khac nhau, dac ta va kiem chiing sir diing dan cac thuoc tinh ciia mo hinh phin CORBA dugc chuyin d6i tir CCM IDL, etc Bai bao sii dung mo hinh DSpin cho cac kich ban mo hinh phat trien dua tren phin Thuoc tinh ma bai bao kiem tra la cac trang thai khong phan ling diing liic (timeout) he thong thuc hien Hai tac gia Zaremski va Wing [10] de xuat mot phuong phap de so sanh hai phan phan mem Ho xac dinh xem mot phan yeu cau c6 the dugc thay the bod mot phan khac hay khong Cac tac gia su dung dac ta hinh thuc de mo hinh hoa hanh vi ciia cac phan va su dung cong cu chiing minh Larch de kiem chiing dac ta ciia cac phan Trong cac bai bao [7, 8], cac giao thuc dugc dac ta su dung logic thod gian (temporal logic), phuong phap da dua den mot dac ta ho trg nhieu each bieu dien cho cac giao dien 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 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 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 phan kien tnie phan mem nuac, cac nghien cuu ve kiem chiing phan mem dua tren phan van moi me va chii yeu dugc thuc hien a Bo mon CNPM, Khoa CNTT, Truimg Dai hoc Cons nghe Nhirng kk qua da dugc xuat ban nhieu ky yeu ciia cac hoi nghi qu6c te Tuy nhien, cac ket qua nghien cuu ve kiem chiing phan mem dua tren phan hien a nuac Ian nuac ngoai van chua dap ling dugc tiem nang une dung ciia cong nghe phan mem dira tren 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 viec nghien cuu va phat trien phan mem 10 4.1 Thue trang thiet bi 0 4.2 Mua trang thiet bi 4.3 Mua nguyen vat lieu 0 Viet bao cao khoa hoc, nghiem thu 20 35 5.1 Viet bao cao 20 20 5.2 Hoi thao 10 5.3 Nghiem thu Chi khac 10 10 6.1 Mua van phong pham, in an, photocopy 2,5 2,5 6.2 Quan ly phi 7,5 7,5 Tong kinh phi 150 150 ^ 21 Tai lieu tham khao de viet de circng Sun Microsystems, JavaBeans 1.01 Specification, http://iava.sun.comyl3eans CORBA Component Model Specification, Version 4.0, http://wwv.'.omg.org/cgibin/doc?ptc/2Q06-05-01 Microsoft, NET, http://www.micrQsoft.com/net^ Website: http://www.omg.org G Eddon and H Eddon Inside COM+ Base Services Microsoft Press, 2000 John Hatchff et al Cadena: An mtegrated development, analysis, and verification environment for component-based systems In Proceedings of 25th International Conference on Software Engineering, pages 160- 172, 2003 I Cmkovic and M Larsson Bidlding reliable component-based Software Systems Artech House, Inc,-2002 J Han Temporal logic based specification of component interaction protocols In Proceedings of the Second Workshop on Object Interoperability ECOOP2000, pages 12-16 Springer-Verlag, 2000 V Mencl Specifying component behavior with port state machines Electronic Notes in Theoretical Computer Science, 101C:129-153, 2004 Special issue: Proceedings of the Workshop on the Compositional Verification of UML Models lO.A, M; Zaremski and J M Wing Specification matching of software components 6(4):333-369, 1997 ILL Alfaro and T A Henzinger Interface automata In 9th Annual Symposium on Foundations of Software Engineering,-pagts 109-120, ACM press, 2001 14 12 Michael R Hansen and Dang Van Hung A Theory of Duration Calculus with Application, Book Chapter, Domain Modeling and the Duration Calculus 2007: LNCS 4710, 119-176, Springer, 2007 13 Dang Van Hung Specifying Various Time Models with'Temporal Pfopositional Variables in Duration Calculus Research Report 377, UINU-IIST, P.O.BOX 3058, Macau, June 2007.Published mLNCS 4700, Springer, 2007, pp 170-187 14 Truong Ninh Thuan and J Souquieres Verification of UML model elements using B In Journal of Information Science and Engineering (JISE), vol 22, No 2, March 2006 15 Marc Bezem, Hoang Truong: A Type System for the Safe Instantiation of Components Electr Notes Theor Comput Sci 97\ 197-217 (2004), 16 Tang Nguyen, Dang Van Hung and Mizuhito Ogawa Modeling Urgency in ComponentBased Real-time Systems, ASIAN'06 11th Annual Asian Computing Science Conference Focusing on Secure Software and Related Issues, December 6-8, 2006 National Center of Sciences, Tokyo, LNCS 4435, Springer 2007, 17.Dang Van Hung and Zhang Miaomiao On Verification of Probabilistic Timed Automata against Probabilistic Duration Properties Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications RTCSA 2007, Daegu, Korea, August 21-24, 2007 IEEE Computer Society Press, Los Alamitos, California, pp 165 - 172 18.Truong Ninh Thuan and Nguyen Viet Ha Using B to verify the weaving of aspects In proceeding of the Nth Asia-Pacific Software Engineering Conference (APSEC), IEEE Computer Society, Japan, 2007 19.Truong Anh Hoang Finding Upper Bounds of Component Instances with Deallocation Beyond Local Scope In proceeding of the first Hanoi Forum on Infonnation - Con^munication Technology (ICT), 2007, 20.Tran Thi Mai 'Thuong, Vo Van Thanh and Truong Ninh Thuan Checking the Conformabihty in CORBA Component Model Specifications In proceeding of the first Hanoi Forum on Information — CommMnication Technology^ (ICT), 2007 2I.Nguyen Hoang Ha, Tran Thi Mai Thuong, Truong Ninh Thuan and Nguyen Viet Ha Verifying the compatibility of components' ports upon specification In proceeding of Workshop of Vietnam-Japan on Software Engineering (JVSE) Hanoi, Vietnam September 2007 22.Ho Tat Thanh, Nguyen Thi Thu Trang, Truong Ninh Thuan and Nguyen Viet Ha An approach for verifying invariants of Java objects at Runtime In proceeding of Worlcshop of Vietnam-Japan on Software Engineering (JVSE) Hanoi, Vietnam, September 2007 23.Truong Ninh Thuan and Nguyen Viet Ha Checking static crosscuts of AspectJ model using B notation In proceeding of Modeling of Complex Systems and Environments (MCSE), Ho Chi Mmh city, 2007, 24.Hoang Truong: Guaranteeing Resource Bounds for Component Software FMOODS 2005: 179-194, 15 Ngay^