Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
22,79 MB
Nội dung
Ĩ H " = = = = = = = = = = = = m ĐẠIÍ ỈỌC QUC GIA H NI TRUNC DI Nớ.HKã ã HCCễNC; ô ĐÀO THỊ HƯỜNG KIÉM CHỨNG DỊCH v ụ VVEB VỚI LOGIC THỜI GIAN Ngành : Công nghệ thông tin Chuyên iiỊ>ành : Công nghệ phần mềm Mã số : 60.48.0! LUẬN VĂN THẠC s ĩ NGƯỜI HƯỞNG DẤN KHOA HỌC: TS TRƯƠNG NINH THUẬN HÀ NỘI - 2009 ỉt l i ffi iv M ụ c lụ c T ó m t ă t i Lời cam n ! ii Lời cam đ o a n iii M uc l u c iv D anh m uc ký hiêu từ viết tắ t vi D an h m uc b ản g b iể u vii C h n g M đ ầ u 1.1 C sở k h o a hoc đề t i 1.1.1 K iểm ch ứ n g phẩn m ềm 1.1.2 Vai trò củ a ứ ng dung th n g m đièn tử phân t n 1.2 Nôi d u n g ngh iên c ứ u 1.3 C ấu trúc luân v ă n C h n g D ich vu W e b 2.1 K ién trúc h n g dich vu (S erv ice - O riented A rch itectu re) 2 D ich vu W eb (W eb S e rv ic e s) .10 2.2.1 K iến trú c dich vu W e b 11 2.2 C ác đăc điểm cùa d ich vu W e b 12 2 C ác đ ăc điểm m rông củ a dich vu W eb 15 2.3 K ết lu â n 17 C h n g K iểm ch ứ n g m ô h ì n h 18 3.1 T ổ n g q u a n 18 3.2 Ọ uy trinh kiểm ch n g m h ìn h 18 3.2.1 M hỉnh hố th ố n g (S ystem M o d e lin g ) 19 3.2.2 Đ ăc ta đãc tính (P ro p erties S p ec ific a tio n ) 19 3.2.3 K iểm ch ứ n g (V e rific a tio n ) 20 3.3 Ổ -tô -m t 20 V 3.3.1 Đ ịnh nghĩa ỏ - tô - m t 20 3 C ác định nghĩa liên q u a n 22 L ogic thời gian (T em p o ral l.o u ic ) 24 3.4.1 N gôn n g logic thời g ia n 24 Cú pháp hình thức củ a logic thời g ia n 29 LTL v àC T L .31 3.5 C ô n g cụ kiếm c h ứ n g .31 3.5.1 C ác thuật toán kiểm c h ứ n g 32 M ột vài công cụ kiểm ch ứ n g phổ b iế n 32 3.6 K ết lu ậ n 35 Chirom g S d ụ n g kiểm ch ứ n g m ị hình để kiểm ch n g dịch vụ W e b 36 4.1 P hư n g pháp kiểm c h ứ n g 36 4.2 V í dụ m inh h ọ a 37 Kịch 1: Đ ăn g kí vé m áy bay đăng kí khách s n 40 2 Kịch hàn 2: D ịch vụ V T A có kha hủy bỏ tác vụ (C a n c e lla tio n ) 41 4.3 M hình hỏa kiểm c h ứ n g kịch I 41 M hình h ó a 41 Kiểm ch ứ n g m hình sử d ụ n g logic thời gian (T em poral L o g ic ) 44 4 M ô hình hóa kiểm ch ứ n g kịch 46 4 M hình h ó a 46 4 K iểm ch n g m hình sử d ụ n g logic thời gian (T em poral I o g ic ) .48 4.5 Kốt lu ậ n 53 C hưcrng 54 K ết lu ậ n 54 5.1 K et lu ậ n 54 5.2 M ột sổ hư ớng nghiên cửu tro n g tươnu la i .55 T ài liệu tham k h ả o 57 VI D a n h m u c k y h i e u t i r v i e t t a t T ie n « A nh T v iế t tắ t BDD B in ary D ecision D iagram BPEL B u sin ess P rocess E xecution L an g u ag e CM Ư C a rn e g ie M ellon U niversity CTL C o m p u ta tio n T ree L ogic FSM F in ite S tate M achine HTTP LTL H y p e r T e x t T ran sfer Protocol L in e a r T im e L ogic PLTL P ast L in e a r T im e Logic SM TP S im p le M ail T n sfe r Protocol SOA S erv ice O rien ted A rchitecture SO A P S im p le O b ject A ccess Protocol S P IN S im p le P ro m ela IN terpreter U niversal D escription D iscovery and UDDI In teg ratio n VTA V irtual T rav el A gency ws W SDL XML W eb S ervices W eb S erv ices D escription L anguage e x te n s ib le M ark u p L anguage VII ? D a n h m ụ c b ả n g b iê u H ình 2.1: K iến trúc h n g dịch v ụ I linh 2.2 K iến trúc tro n g cùa dịch vụ W eb ] I linh 2.3: K iến trúc cù a dịch vụ W eb 12 H ình 3.1: Q uy trình kiểm ch ứ n g m h ìn h 19 H ìn h 3.2: M hình hệ th ố n g m ật m ã sổ 22 H ìn h 3.3: Phần đầu thực thi hệ thống m ật m ã s ố 23 H ình 3.4: C ác định đề CƯ sứ m ột ô-tô-m át chuồi thực thi n ó 26 H ình 3.5: C ác tốn tử thời gian tư n g lai 27 H ình 3.6: C ác toán tử thời gian k h ứ 28 1lình 3.7: C ác toán tử số lư ợng n h n h 29 H ìn h 3.8: Bổn cách kết hợp E A với F G 30 I lình 3.9: So sánh cô n g cụ kiêm ch ứ n g m ô h ỉn h 35 H ình 4.1: Q u y trình kiểm ch ứ n g dịch vụ W eb sử d ụ n g kiểm ch ứ n g mỏ hình .37 H ình 4.2 C ác thành phần củ a dịch vụ V T A 38 H ình 4.3 T iến trình V T A 39 H ình 4.4 Q u trình thực thi cùa V T A 40 H ình 4.5 A utom at hữu hạn trạng thái biểu diễn V TA kịch 42 H ình 4.6 M hình hóa V T A kịch 43 H ỉnh 4.7 A utom at hữu hạn trạn g thái biểu diễn V T A kịch 47 H ình 4.8 M hỉnh hóa V T A kịch 48 C h n g M ỏ ' đ â u 1.1 Co’ sỏ' khoa hoc eiía đề tài 1.1.1 K i ể m c h ứ n g p h ầ n m ề m T r o n g n h ữ n g n ă m g ần đ â y , v i s ự p h t tr iể n k h ô n c , rm n g c ù a c ô n g n g h ệ th ô n g t in , p h ầ n m ề m t r th n h y ế u tố c ẩ u th n h th iế t y ế u đ ố i v i c c d o a n h n g h iệ p V i tấ t c ả c c n g n h n g h ề , lợ i íc h c ủ a v iệ c dụnt» p h ầ n m ề m đ iề u k h ô n g th ể p h ủ n h ậ n , n ó g iú p g iả i p h ó n g s ứ c la o đ ộ n g c ủ a c o n n g i, tă n g n ă n g x u ấ t la o đ ộ n g , hồ t r ợ c c q u y ế t đ ịn h k in h d o a n h c h o n g i q u n l ý M i p h ậ n tro n g m i d o a n h n g h iệ p đ ề u p h ụ th u ộ c v o p h ầ n m ề m đ ể p h t t r iể n , s ả n x u ấ t , q u n g c o v tiế p th ị c c sả n c ũ n g n h c c d ịc h v ụ c ủ a h ọ T r o n g c c g ia i đ o n p h t triể n p h ầ n m ề m , g ia i đ o n p h t h iệ n , x c đ ịn h v s a c c lỗ i p h ầ n m ề m g ia i đ o n k h ô n g th ể th iế u n h m đ ả m b o c h ấ t lư ợ n g c ủ a c c sả n p h ẩ m p h ầ n m ề m T r o n g m ộ t tố c h ứ c p h t t r iể n th n g m i đ iể n h ỉn h , c h i p h í d n h c h o c c c ô n g v iệ c g rố i (d e b u g g in g ), k iể m th ứ (t e s t in g ) v c c h o t d ộ n g k iể m c h ứ n g p h ầ n m ề m ( v é r if ic a t io n a c t iv it é s ) c h iế m từ đ ế n % tổ n g c h i p h í p h t t r iể n V i t ố c đ ộ p h t tr iể n c h ó n g m ặ t c ủ a c ô n g n g h ệ th ô n g tin v tru y ề n th ô n g trê n tất c ả c c hệ th ố n g p h ầ n c ứ n g v p h ầ n m ề m , k h ả n ă n g x ả y n h iề u lồ i, đ ặ c b iệ t c c lồ i p h ứ c tạ p rấ t c a o N h ữ n g lồ i n y c ó th ể g â y n h n g h ậ u q u n g h iê m trọ n g v ề t iề n b c , th i g ia n , c ô n g s ứ c v th ậ m c h í s in h m n g c o n n g i N h ìn c h u n g , m ộ t lỗ i c n g s m đ ợ c p h t h iệ n s ẽ c n g m ấ t c n g s ứ c đ ể s a lồ i đ ó • T h e o th ố n g k ê c ù a S ta n d is h G r o u p , M ỹ ( 0 ) : T r ê n c ô n g ty v i h n 0 d ự n p h ầ n m ề m c ó : % d ự án p h ầ n m ề m bị h u ý b ò t r c k h i đ ợ c h o n th n h V i c c c ô n g ty lớ n , c h ỉ c ó k h o ả n g % tổ n g số c c d ự n h o n th n h đ ú n g tiế n đ ộ v tro n g n g â n s c h d ự n ( v i c c c n g ty n h ị , tỷ lệ n y v o k h o ả n g % ) • T h e o n g h iê n c ứ u c ủ a N I S T , M v ( 0 ) : C h i p h í h n íĩ n ă m d n h c h o v iệ c p h t h iệ n c c lỗ i p h n m ề m lê n đ ế n t i đ ô la c h iế m từ đ é n % G D P k in h tế n c M ỹ • Theo thoniz, k ê c ù a N A S A IV & V C e n t e r ( 0 ) : N g n h c ô n g n g h iệ p k h ô n g g ia n v ũ trụ m ấ t đ ế n h n g ti đ ô la v h n g tră m s in h m n g c o n n g i tro n g n h ữ n g n ă m c u ò i th ậ p n iê n 9 v ì c c v â n d ê lie n q u a n đ ê n phần m ềm Đ e p h t h iệ n c c lỗ i p h ầ n m ề m , p h ầ n m ề m c ầ n đ ợ c th a m đ ịn h ( V a lid a t io n ) v k iế m c h ứ n g ( V e r if ic a t io n ) T h m đ ịn h c ầ n c ó s ự th a m g ia c ù a k h c h h n g n h ằ m k iể m tra x e m p h ầ n n iề m c ó t h ự c s ự đ p ứ n g c c y ê u c ầ u c ủ a k h c h h n g h a y k h ô n g K i ể m c h ứ n g k ie m t r a p h ầ n m ề m c ó d ợ c th iế t k ế v th ự c th i đ ú n g n h đ ặ c tả h a y k h n g C h ín h v ì t h ế , tro n g c ô n a n g h ệ p h ầ n m ề m , k iể m c h ứ n g p h ầ n m ề m lu ô n th u h ú t đ ợ c m ố i q u a n tâ m c ủ a rấ t n h iề u n h n g h iê n c ứ u v ấ n đ ề đ ặ t là m th ế n o đ ẻ p h t t r iể n c c p h n g p h p n h m tă n g độ t in c ậ y t ro n g v iệ c t h iế t k ế v x â y d ự n g p h ầ n m ề m v h n n a c c p h n g p h p n y c ầ n p h ả i d ợ c t iế n h n h m ộ t c c h tự đ ộ n e C c p h n g p h p n y s ẽ c ả i th iệ n c h ấ t lư ợ n e , v h g iá th n h c h o v iệ c p h t t r iể n c c h ệ th ố n g C c p h n g p h p k iể m c h ứ n g c s c h o c c h ệ th ố n g p h ứ c tạ p b ao g m : G i lậ p , k iề m t h , k iể m c h ứ n g s u y d iễ n v k iể m c h ứ n g m h ìn h G i lậ p v k iể m th ( S i m u l a t i o n a n d T e s t in g ) đ ề u c ầ n p h ả i tiế n h n h th n g h iệ m t r c k h i triể n k h a i h ệ th ố n g r a t h ự c tế C c p h n g p h p n y t h n g n h ậ n đ ầ u v o c h o h ệ th ố n g đ ể t h ứ n g h iệ m r i q u a n s t d ầ u r a t n g ứ n g , từ đ ó d a r a k ế t lu ậ n h ệ th ố n g c ó đ p ứ n g đ ợ c y ê u c ầ u đ ặ t r a h a y k h ô n g G i ả lạ p v k iể m t h ứ c ó th ể t ỉm n h iề u lồ i t u y n h iê n c h ú n g k h ò n u t h ể t ìm tấ t c ả c c lồ i tiề m t n g , n h ấ t v i n h ữ n g p h ầ n m ề m tư m » t r a n h đ a lu n g , p h ầ n m ề m n h ú n g , p h ầ n m ề m t h i g ia n t h ự c , p h ầ n m ề m h n g đ ổ i t ợ n e B ê n c n h đ ó , g iả lậ p v k iể m th th n g k h n tí tự đ ộ n g h o ặ c c h i đ a k ế t q u ả từ n u p h ầ n K i ê m c h ứ n g s u y d iễ n ( D e d u c t iv e V e r if ic a t io n Ị ] ) th n g d ự a v o c c tiê n đ ề v c c lu ậ t s u y d iễ n để c h ứ n g m in h t ín h đ ú n g đ ẳ n c ù a h ệ th ố n g K h i m i đ i v p h t t r iể n , p h n u p h p n y th n g đ ợ c th ự c h iệ n b ằ n g ta y v c ầ n c ó s ự trợ g iú p c ủ a c c c h u y ê n g ia s u y d iễ n lo g ic c ó k in h n g h iệ m S a u n y , p h n g p h p k iế m c h ứ n g s u y d iễ n đ ợ c th ự c h iệ n trê n c c c ô n g c ụ p h ầ n m ề m C c c ô n g c ụ n y lậ p lu ậ n trê n hệ th ố n g v ô h n t r n g th i v tố n rấ t n h iề u tài n g u y ê n v th i g ia n C h ín h v ỉ th ế , k iế m c h ứ n g s u y d iễ n đ ợ c s d ụ n g rat v h iệ n n a y p h iro n u p h áp n y th n g đ ợ c áp d ụ n g c h ủ y ê u ch o c c hệ có độ n h y cám ca o n h cá c g ia o t h ứ c b o m ặ t C c h tiế p c ậ n th ứ b a , đ ó k i ề m c h ứ n g m h ì n h ( M o d e l C h e c k i n g ) [ 1 , j K h ắ c p h ụ c d ợ c n h n ti n h ợ c đ iể m c ủ a c c p h n g p h p trê n , c c g iả i th u ậ t k iê m c h ứ n g m h ìn h C l i n g c a p m ộ t c c h tiế p c ậ n to àn d iệ n v tự d ộ n u dê p h n t íc h h ệ th ố n g P h n g p h p k iê m c h n g m h ìn h m ộ t k ỹ th u ậ t k iế m c h ứ n g phần m ềm t ự độn«» t r ê n hệ thốn» tưong tranh hfru lìạn t r n g thái P h n g p h p n y c h o p h é p t ìm k iế m v é t c n trẽ n k h ô n g g ia n trạ n g th i c ủ a hệ th ố n g đ ể x c đ ịn h y ê u c ẩ u c u a hệ th ố n g ( c c đ ặ c tín h - p r o p e r t y ) c ó đ ợ c th ỏ a m ã n h a y k h ô n g , n ế u k h ô n g th ỏ a m n th i đ a p h a n v í d ụ M ặ c d ù k iể m c h ứ n g m ô h ìn h g iớ i h n trê n c c h ệ h ữ u h n trạ n g th i n h n g p h n g p h p n y lạ i tó rấ t h ữ u h iệ u tro n g n h iề u lo i b i to n q u a n trọ n g T r o n g m ộ t v i trư n g h ợ p , h ệ th ố n g c ầ n k iể m tra k h ô n g p h ả i h ệ h ữ u h n trạ n g th i th ì c h ú n g v ẫ n c ó th ể s d ụ n g k iể m c h n g m h ìn h b n g c c h k ế t h ợ p v i n h iề u q u y tắ c q u y n p v trừ u tư ợ n g k h c n h a u T h ự c tể đ ã c h ím u , m in h rà n g n h iề u trư n g h ợ p lồ i p h ầ n m ề m c ó th ể đ ợ c p h t h iệ n b n g c c h g iớ i h n n h th ế B ê n c n h đ ó , k iể m c h n g m hình c ó th ể tiế n h n h h o n to n tự đ ộ n g v k h ô n g c ầ n p h ả i c ó s ự g iá m sá t h a y c h u y ê n g ia v ề to n học đ ể s u y d iễ n h a y c h ứ n g m in h c c đ ịn h đ ịn h l ý , lo g ic B ấ t k ỳ a i c ó th ể c h y g iả lậ p c ủ a hệ th ố n g đ ề u c ó th ể s d ụ n g p h n g p h p n y đ ể k iể m c h ứ n g c h o h ệ t h ố n g đ ó K h i h ệ th ố n g k h ô n g th ỏ a m ã n đ ặ c t ín h c ầ n k iể m c h ứ n g , k ế t q u ả x lý c ủ a k iể m c h írn y , m h ìn h lu ô n đ a n h ấ t m ộ t p h ả n v í d ụ m in h h ọ a c h o h n h v i c ủ a hệ th ố n g k h ô n g th ỏ a m ã n đ ặ c tín h n y N ó g iú p n g i p h t triể n đ ịn h v ị v s a lồ i m ộ t c c h h iệ u q u ả N h v ậ y , k iể m c h ứ n g m h ìn h c ó rấ t n h iề u u đ iể m v lợ i th ế s o v i c c p h n g p h p k iể m c h ứ n g k h c tro n g v iệ c p h t h iệ n v s a lỗ i p h ầ n m ề m n h ằ m g iả m th i g ia n v c h i p h í p h t triể n p h ầ n m ề m v đ a c c p h ầ n m ề m c ó c h ấ t lư ợ n g tố t h n V a i t r ò c ủ a c c ứ n g ( l ụ n g t h u 'O 'n g m i d i ệ n t | ) h â n t n T u y c ó r ấ t n h iề u rà o c n , n h n g k h i g ia n h ậ p v o c ộ n g đ n g In te r n e t, V iệ t N a m d ã đ t đ ợ c n h ữ n g k ế t q u rấ t đ n g k h íc h lệ , h o n h ậ p v i x u th ế p h t triể n c h u n g c u a th ế g iớ i T h n g m i đ iệ n tử đ ã b đ ầ u c ỏ đ ợ c c h đ ứ n g c ủ a m ìn h , d ù rấ t k h iê m tổ n Đ â y m i chì đ iể m k h i đ ầ u , n h n g k ế t q u d t đ ợ c d ù rấ t n h o n h ir n ụ n ê n tanu, c h o m ộ t s ự p h t tr ie n m n h m ẽ tro n g n h ữ n g n ă m tớ i S ự n lự c c ủ a c c n h c u n g c ấ p d ịc h v ụ In te r n e t, s ự n h y b é n c u a c c tồ c h ứ c , d o a n h n g h iệ p tiê n p h o n íí d ã g ó p p h ầ n đ a đ ế n n h ữ n g th n h c ô n g b an đ a u c h o t ln r i m C1 i ; m i d iệ n tư V iệ t N a m C ó th ê k è m ội t s ô ứnq, c? d ụ• ni» »— -? tlu ro n u V- m ạ• i đ iệ•n t ứ p h â n tán p h ổ b iê n h iệ n n a v V iệ t N a m Q u n g cáo m ạn g C h o đ ế n th n g I n ă m 0 , k h o a n g % d o a n h n g h iệ p V i ệ t n a m c ó tra n g w e b trê n In te r n e t C c n h c u n g c ấ p d ịc h v ụ In te r n e t c ù n g đ a n h ữ n g h ìn h th ứ c q u ả n g c o rấ t đ a d n g đ ể th u h ú t c c d o a n h n g h iệ p th a m g ia N g o i w e b , đ ặt lo g o , b a n n e r c ò n tổ c h ứ c chuvên tra n g Top 100, B est Ten (trê n h t t p :/ / w w w v n n v n / ) , t r a n íĩ k in h d o a n h b u s in e s s v n n v n , tổ c h ứ c c c h ộ i c h ợ t h n g m i trê n In te rn e t C c m ụ c o v ặ t trê n In te rn e t c ũ n g rấ t p h t t r iể n , b ạn c ó th ê tìm m u a c c m ặ t h n g đ n lẻ trê n m ụ c o v ặ t c ủ a w w w f p t v n T h ô n g tin H iệ n n a y , c ó rấ t n h iề u th ô n g tin th n g m i đ ợ c c u n g c ấ p b i c c n h c u n g c ấ p th ô n g tin In te rn e t c ủ a V iệ t n a m tạ o đ iề u k iệ n th u ậ n lợ i c h o h o t d ộ n g s ả n x u ấ t k in h d o a n h c c d o a n h n g h iệ p T r ê n tra n g w e b w w w v n n v n c ù a V A S C c u n g c ấ p c h o b ạn m ộ t k h ố i lư ợ n g th ô n g tin k h ổ n g lồ m iễ n p h í (t r a n g v n g , b ả n tin th ị t r n g , b ất đ ộ n g s ả n , tư v ấ n p h p lu ậ t , ) X u ất H iệ n n a y , x u th ế x u ấ t b ả n đ iệ n t đ a n g d iễ n p h ổ b iế n trê n th ế g iớ i v đ e m lạ i n g u n d o a n h th u lớ n c h o c c n h x u ấ t b ả n Ờ n c ta , n g y c n g c ó n h iề u tờ b áo đ iệ n từ x u ấ t h iệ n trê n m n g H iệ n n a y , v iệ c x u ấ t b ản đ iệ n tử đ n th u ầ n đ ể c u n t í c ấ p th n g t in , q u ả n g b th ô n g tin r a n c n g o i C c B o đ i đ ầ u tro n g lĩn h v ự c n y c ó : N h â n D â n , T h ô n o ; tâ n x ã V iệ t n a m , T h i b o k in h tê , L a o đ ộ n g , T h a n h toán Đ â y lĩn h v ự c ứ n g d ụ n g c ô n g n g h ệ In te rn e t n h iề u n h ấ t n c ta c h o n ê n c ó th ể n ó i h o t đ ộ n g th n g m i đ iệ n t h iệ n n a y c h ù y ế u tro n g lĩn h v ự c th a n h to n v c c lĩn h v ự c k h c c ủ a n g â n h n g Đ iề u đ ó th ể h iệ n q u a v iệ c h ệ th ố n g n g â n h n g c ù a V iệ t n a m d ã th a m g ia th a n h to án q u ô c tè th ò n g q u a v iệ c n i m n « S W IF T T năm 9 , h ệ th ố n g n g â n h n g đ b đ ầ u ứ n g d ụ n g c ô n g n g h ệ tin h ọ c v o c ô n g tá c th a n h to n c h u y ề n tiề n n h n g m i t r ìn h đ ộ h n c g iớ i b ằ n g v iệ c h o n c h u y ể n c h ứ n g từ b ằ n g g iấ y s a n g d liệ u m y t ín h , đ ể c h u y ể n tớ i n g â n h n g c ỏ đ n v ị th ụ h n g K e từ k h i t h ự c h iệ n th a n h to n q u a m n g m y t ín h , c ô n g v i ệ c th a n h to n d ợ c th ự c h iệ n n h a n h , c h ín h x c , tă n g n h a n h v ò m ? q u a y v ố n , tạ o c h o d o a n h n g h iệ p g iá m c h i p h í v c h ủ đ ộ n g tro n g s ứ d ụ n g đ n g v ố n Đ ố i v i hệ th ố n g n g â n h n g đ ã g iả m đ ợ c đ n g k ể lư ợ n g tiề n m ặ t tro n g lư u thông, k é o th e o n h iề u lợ i íc h k in h tế k h c n h tiế t k iệ m c h i p h í in ấ n , k iể m đ ế m , đ ỏ n g g ó i, v ậ n c h u y ể n , b o q u ả n , Bán h n « m ạng N g y / / 9 , T r u n g tâ m D ịc h v ụ G i a tă n g G i trị ( V A S C ) k h a i trư n g s iê u th ị đ iệ n t đ ầ u tiê n tạ i đ ịa c h i h t t p :/ / 5 / c y b e r m a ll/ T r ê n C y b e r m a ll b y b n k h n h iề u m ặ t h n g v n g i x e m c ó th ể t ự d o d o c h i trê n s iê u t h ị, c h ọ n m u a m ặ t h n g m m ìn h t h íc h r i đ ặt m u a h n g S iê u th ị đ ợ c th iế t k é v i đ ầ y đ ủ c c tín h n ă n g c n th iế t đ ể v i ệ c m u a , b n h n g đ ợ c th u ậ n tiệ n S a u C y b e r m a l l , m ộ t s ổ S iê u th ị đ iệ n tử k h c c ù a V i ệ t n a m c ù n g d ã đ i n h S iê u t h ị m y tín h tạ i h t t p :/ / w w w b lu e s k y c o m v n / D o a n h s ố b n h n g q u a m n g c ò n r ấ t k h iê m tổ n v ì n h iề u lý d o n h n g đ iề u q u a n trọ n g n g i d â n V iệ t n a m đ m q u e n đ ợ c v i m ộ t p h n g th ứ c b n h n g h o n to n m i N ế u n h p h n g t h ứ c ấ y đ ợ c p h ổ b iế n , t r th n h m ộ t th ó i q u e n , m ộ t tậ p q u n m u a b án th ì t h n g m i đ iệ n t h ứ a h ẹ n m ộ t tiề m n ă n g p h t t r iể n m n h m ẽ trong, n h ữ n g n ă m tớ i T r ê n đ â y m ộ t số n h ữ n g ứ n g d ụ n g th n g m i đ iệ n tử p h â n tá n đ ã , đ a n g v n g y c n o , đ ợ c p h t t r iể n m n h trê n th ị trư n g V i ệ t N a m Đ e c ó đ ợ c n h n g ứ n g d ụ n g h iệ u q u ả n y tát củ đ ề u ( l ự a t r ê n s ự p h t t r i ể n c ủ a c ô n g n g h ệ VVeb, c ụ th ê c c d ị c h v ụ W e b (W e b S e r v ic e s ) C h o đ ế n th i đ iể m h iệ n t i, d ịc h v ụ W e b đ a n g c u n g c ấ p m ộ t c s n ền tả n g c h o v iệ c p h t t r iể n v ả s ứ d ụ n g c c ứ n g d ụ n g th n g m i p h â n tá n v ấ n đ ề t íc h h ợ p c c d ịc h v ụ th n g m i c ó s ầ n th n h c c d ịc h v ụ W e b m i đ a n g trớ th n h m ố i q u a n tâ m c ù a rấ t n h iề u c q u a n , tổ c h ứ c B P E L m ộ t c h u ẩ n d ù n g c h o d ịc h v ụ W e b , n ó c h o p h é p x â y d ự n g m ộ t d ịc h v ụ W e b m i từ c c d ịc h v ụ đ ã c ó m 44 K i ê m c h ứ n g m h ì n h s d ụ n g logic t h ò i g i a n ( T e m p o r a l L o g i c ) S a u k h i m ô h ìn h h ó a , b c th ứ h a i b iê u d iễ n c c (.tặc tín h b ằ n g lo g ic th ò i g ia n T r o n g v í d ụ t r ê n , v i c c d ặ c t ín h d ợ c d ira tro n g p h â n trê n C T L v L T L k ê t h ợ p v i c c to n từ tro n g q u k h d ợ c s ir d ụ n g • C c đ ặ c tín h liv e ỉe s s : AG(state = rccievedRequest • -> A F sta te ~ TERMINATED) C c đ ặ c tín h k h c : N ế u h ệ th ố n g đ t đ ợ c trạ n g th i SU CCESS th ì tro n g q u k h ứ p h i đ ạt đ ợ c trạ n g th i received H otelO ffer v n g a y t r c đ ó p h ả i đ t đ ợ c trạ n g th i receivedFlightTicket: G(state - SUCCESS -> (O State — received HotelOffer Y State = receivedFlightTicket) ) Đ o n m ã d ỡ i đ â y m in h h ọ a m ô h ỉn h h ó a h in h th ứ c đ ợ c v iế t b n g n g ô n n g S M V v i k ịc h b ả n I M O D U L E mainO VAR state: {initiated, receivedRcquest, receivcdFlightR equest, receivedFlightOffer, received! lotelRequest, hotelN otA vailabled, rcccivcdllotclOfTcr, negativcAckcd, (lightN egativeA ckcd, flightAckcd, receivedFlightTickct, S U C C E S S , FA ILT U R E , T E R M IN A T E D }; request : boolean; H ig h tR e q u e st: boolean; flightNotAvailable : boolean; flig h tO ff e r : boolean; h o t e l R e q u e s t : boolean; hotelN otA vailable : boolean; flii’htNcgativcA ck : boolean; h o t e l O f f e r : boolean; negativeA ck : boolean; hotelN egativeA ck : boolean; Ack : boolean; flightTicket : boolean; hotelTicket : boolean; term inate : boolean; A S SIG N in it ( s t a t c ) := in it ia t e d ; 45 in it(flig h tR e q u e st): T R U E ; n e x t(flig h tR e q u e s t): TRUE; inil(flightNot Available) : I Rl IE; ncxt(llighlN olA vailablc) T R U E ; init(flightOffer) : = T R U E ; n e x t( ilig h tO ff e r) : T R U E ; in il(h o te lR e q u c s t): T R U E ; n e x t(h o te lR e q u e s t): I RUE; init(hote 1NotAvai IabIe) : TR U E; next(hotelN otA vailable) : TR U E; init(flightNegativeA ck) := TR U E; next(flightN egativeA ck) := T R U E ; init(hotelOfTer) := T R U E ; next(hotclOffer) := T R U E ; init(hotelN egativcA ck) ~ T R U E ; next(hotelN egativeA ck) :=TRUE; init(negativeAck) : = T R U E ; n e x t(n c g a tiv e A c k ):: T R U E ; init(Ack) := T R U E; next(A ck) := TR U E; in it(flig h tT ic k c t)T R U E ; n e x t(fiig h tT ic k e t): T R U E ; init(hotelTickct) := T R U E ; n e x t(h o te lT ic k c t): T R U E ; init(term inate) ;= T R U E ; next(tcrm inate) := T R U E ; next(state) := case state - initiated & request : receivedRequest; state = receivedR equest & f lig h tR e q u e s t: receivedFlightRequest; state = receivedFIightR equest & flightN otA vailable : FA1LTURE; state = receivedFIightR equest & flightOffer : receivedFlightOffer; state = receivedFlightO ffer & h o tc I R e q u c s t: recievedH otelRequest; state - receivcdH otelR equest & hotelN otA vailable : hotelNotAvailabled; state = hotelN otA vailabled & HightNegativeAck : FA ILTU RE; state = receivedH otelR equest & h o t e l O f f e r : receivedH otelOffer; state = receivedH otelO ffer & ncgativeA ck : negativeA cked; state negativeA cked & IlightN egativeA ck : IlightNegativeAcked; state IlightN egativeA cked & hotelN egativeA ck : FA ILT U RE ; state receivedH otelO ffer & Ack : flightAcked; state = flightAcked & flightTicket : receivedFlightTicket; state receivedFlightTicket & h o t e l T i c k e t : S U C C E S S ; state = S U C C E S S & term inate : T E R M IN A T E D ; state = FA IL T U R E & term inate : T E R M IN A T E D ; : state; 46 esac; in it(re q u e st)T R U E ; I1CXI(request): I'KUI-; SPEC AG(state = rccievedReqtiesi -> A F state - T E R M IN A T E D ) (.¡(state ~ SUCCESS) (0 state receivedH otelOffcr & Y state receivedFliglitT ickd)) K c t q u a đ t đ ợ c n h s a u : N u S M V > check ctlspcc -p "AG (stale — specification A F (state recievedR cquest -> A F State = T E R M IN A T E D )" initiated -> A F state = T E R M IN A T E D ) is true N u S M V > c h e c k j t l s p c c -p "G(state = S U C C E S S ) (O state = receivedH otelO ffer & Y state rcceivedFlightTicket))" — specification (state = S U C C E S S ( o state = receivedH otelO ffer & reccivedFlighiTicket)) is true 4.4 ỈVlô hình hóa kiềm chứng kịch bán B â y g iờ c h ú n g ta s ẽ c i đ ặ t th ự c th i c h o h ệ th ổ n g v i k ịc h b àn M h ìn h h ó a K ị c h b án đ ợ c m h ìn h h ó a th e o s đ c h u y ể n trạ n g th i h ìn h Y state = 47 iliọht uot a \‘niJnl> Ic H in h A u t o m a t h ữ u h n trạ n g th i b iể u d iễ n V T A k ịc h b ả n r M Ò h ỉn h h ó a hệ th n g s d ụ n g n g ô n n g S M V d ợ c m tá tro n g h ìn h 48 ho ¡initiated, rcccivcilKcqiicsi, rcccivcdMiglilRcquest reccivedl lightOficr rcceivedHolclRcqucst, hotelNotAvailabỉed reccivedllotclOffcr, negativeAckcd, IlightNeuativoAckcd flightAcked, waitForCancol, AckedCancel NAckcdCancd rccievedFlightTicket, S U C C ES S I-All I l;RH T ER M IN A T ED } Automata - {Ọ, E, T, q,„ Ij với: • Q - Mi.q? q v cl-»< ^5.^6 ci'f.qiOl t|n Ml?- t-li*.Mm Qis.qm}; • E = {request, IlightRequest flightNotAvailable, IlightOffer, hotelRequest, hoteiNotAvailable, flightNegativeAck, hotelOffer, negativeAck, hotelNegativeAck,Ack, flightTicket, hotelTicket, terminate, yesCancel, Nocancel, canCancel, canNotCancel rt'ailture} • qo = qo; • T = { (qo, request, q,);(q,, flightRcquest, q 2), (q 2, flightNotAvailable, q I2), (q2, lightOffer, q 3), (q3 hotelRequest, C|4), (q.), hotclNotAvailablc, q5), (q5, flightNegativcAck, qi2), (c|4, hotelOffer, q6), (q6, negativeAck, q 7), (q? flightNegativeAck, qg), (qs, hotelNegativeAck, q l2), (qA, Ack, qo), (q9, flightTicket, qio), (q IOr hotelTicket, q n ), (q,|, terminate, qi3), (q% ycsCancel, q u ), (qg, noCancel, qi6), (qis, fpaihure, q i:), (qM, canCanccl, q t5), (qt4 canNotC’ancel, q )5), (q, 2, terminate, q (3)}; i/0 —> initiated received Re quest q2 > receidFlighl Request Í/, —> receivedFlightOffer qA —> receivedHotel Rc quest qs —> hotelNotA vaitable (/ , - » negativeAcked I= c/8 —> flight NegativeAcked i/g —> flight A eked qw -> receivedFlightTicket qu —> waitForCancel < ] \i AckedCancel qtb —> NAckedCancel S U C C E S S i/„ - > FA 1LTU R E TERM IN A TED H ìn h M ò h ìn h h ó a V T A k ịc h b ả n K i ê m c h ứ n g I 11 Ô h ì n h s t l ụ n g l o g i c t h ò i g i a n ( T e m p o r a l L o g i c ) Đ o n m d i đ â y m in h h ọ a m ô h ìn h h ó a h ìn h th ứ c đ ợ c v iế t b ẳ n e n g ô n n g ữ S M V v i k ịc h b n 49 M O D U L I' m ain() VAR stale: {initiated, receivedReqiiesI, receivcdFlighlK equest receiveil IlighlO lfcr receivedH otelR equest, hotelNotAvailabled, recei ved Hote IO ffer negativeAcked, flight N egativeA cked, flight Acked, received FlightTicket, w a itlo rC a n ce l, A ckedC ancel, N A ckedC ancel, S U C C F S S , FA IL T U R E , T E R M IN A T E D }; request : boolean; flightR equest : boolean; flightN otA vailable : boolean; flightO ffer : boolean; hotel Request : boolean; hotelN otA vailable : boolean; flightN egativeA ck : boolean; h o t e l O f f e r : boolean; negativeA ck : boolean; hotelN egativeA ck : boolean; Ack : boolean; flig h tT ic k e t: boolean; h o t e l T i c k e t : boolean; ten n in a te : boolean; yesCancel: boolean; n o C a n c e l : boolean; fFailture : boolean; tim e O u t: 30; time: 30; A S S IG N init(time) := 10; in it(tim e O u t) : - 30; init(statc) := initiated; init(yesCancel) := T R U E ; next(yesC ancel) := TR U E; init(noC ancel):= T R U E ; n e x t( n o C a n c e l) : T R U E; init(fFailture) := T R U E; next(fFailture) := T R U E; init(IlightReqiicst) : I RUE; next(flightR equest) := TR U E; init(flightNotAvailable) := TR U E; next(flightN otA vailable) := TR U E; in it(flig h tO ffe r): TR U E; n e x t( f lig h tO ff e r) : TR U E; 50 init(hotclRequcst) := T R U E ; next(hotelRcquest) := T R U E ; i nil( hotel Not Avai liiblc) T R U F ; next(hotclN olA vailahlc) TRUE-' init(flightNegativeA ck) : T R U E ; ncxt(nightN egativeA ck) : T R U E ; init(hotclOffer) := T R U E ; next(hotelOffer) := T R U E ; init(hotelN egaliveA ck) :=TRUE; n e x t(h o telN e g a tiv e A c k ):= T R U E ; init(negativeAck) := T R U E ; next(negativeA ck) := T R U E ; init(Ack) := T R U E ; next(Ack) := T R U E ; init(flightTicket) := T R U E ; next(flightTicket) := T R U E ; init(hotelTicket) := TR U E; next(hotelTicket) := T R U E ; in it(tc m iin a te ) : T R U E ; next(term inate) : = T R U E ; n e x t( s ta t e ) : case stale ~ initiated & r e q u e s t : reeeivedRequest; state = reeeivedR equest & f lig h tR e q u e s t: reeeivedFlightRequest; stale reeeivedFlightR equest & IlightN otA vailable : FA ILT U RE ; state = reeeivedFlightR equest & f lig h tO ff e r : receivedFlightOftcr; state - receivedFlightO ffer & hotelRequest : rcceivedllotclR equest; state = reccivedH otelR equest & hotelN otA vailable : hotelNotAvailablcd; state = hotelN otA vailablcd & flightN egativcA ck : FA ILT U RE ; state = receivcdH otelR cquest & hotelO ffer : receivedHotclOtTer; state = receivedH otelO ffer & ncgativeA ck : negativeA ckcd; state = negativeA ckcd & flightN egativeA ck : HightNegativcAckcd; state = H ightNcgativcA ckcd & hotelN egativeA ck : FA ILTU RE; state = receivedH otelO ffer & A ck : flightAcked; state = flightAcked & yesCancel : w aitForC ancel; state = w aitForC ancel & canC anccl : AckedCancel; state A ckedC ancel & fFailture : FA ILT U RE ; state w aitForC ancel & canNotC'ancel : N A ckcdC ancel; state = flightAcked & noCancel : N A ckcdCancel; state = N A ckcdC ancel & flightTicket : received FI ightT'icket; state = reccivedFlightTicket & hotelTicket : SU C C E SS; state = S U C C E S S & term inate : T E R M IN A T E D ; state = F A IL T U R E & term inate : T E R M IN A T E D ; : state; csac; 51 init(request) := T R U E ; ncxt(request): T R U E; D IM M canCuneel (tim e tiineOul); canNoiCanccI := (tim e > tinieOut); B ầ v g iừ c h ú n g ta k ie m c h n g m ộ t s ố th u ộ c tin h s a u d y : • N ế u trạ n g th i h iệ n th i c ù a h ệ th ố n g tư n g la i p h a i đ t đ ợ c t r n g t h i -> A F state N e u trạ n g th i h iệ n th i c ủ a h ệ th ố n g t r c đ ó p h i AG (state = flightAcked th i tro n g receivedFlightOffer A C (state ~ reeeivedFlightRequest • received Flight Request received FlightOffer) waitForCancel v trạ n g th i tiế p th e o reeeivedFlightRequest -> A F State = t h ì trạ n g th i A ckedC ancel received FlightOffer) K e t q u ả đ t đ ợ c n h s a u : N u S M V > check ctlspec -p "AG (state = reeeivedFlightR equest -> A F state = reccivedFlightO ffcr)" T h u ộ c tín h th ứ n h ấ t k h ô n g th ỏ a m n h ệ th ố n g , v ế t lồ i đ ợ c c h i n h p h ầ n d i: — specification A G (state = reeeivedFlightR equest -> A í; State = receivedFlightOlTer) is false — as dem onstrated by the following execution sequence Trace Description: C T L C ounterexam ple Trace Type: Counterexam ple -> State: 1.1 ( Y State = flightAcked & X State = rec eivedH ightT ickct))" - specification G (state = N A ckcdC ancel -> ( Y State = flight Ackcd & X State = receivedFlightTicket)) is true G iải thích kết quạ T r o n g t r n g h ợ p đ ầ u t iê n , b iể u t h ứ c đ ợ c đ ặ c tả m o n g m u ố n hệ th ô n g th ỏ a m ã n y ê u c ầ u s a u : N ế u trạ n g th i h iệ n th i c ủ a h ệ th ổ n g receivedFlightRequest (n h ậ n y ê u c ầ u v ề c h u y ế n b a y ) th ỉ tro n g tư n g la i p h ả i đ t đ ợ c trạ n g th i receivedFUghtOffer (n h ậ n c c th ô n g tin c h u y ế n b a y ) v d iề u n y lu ô n đ ú n g T u y n h iê n h ệ th ố n g k h ô n g th ể th ỏ a m ã n đ ợ c th u ộ c tín h n y tro n g t r n g h ợ p h ệ th ố n g received Flight Request TERMINATED, notAvailable vết lồi c h i rằ n g , (k h ô n g s ẵ n s n g ) k h i đ ó từ trạ n g th i hệ th ố n g sè c h u y ể n tiế p s a n g trạ n g th i chuyến dến trạm» thái FAILTURi' cuối received Flight Offer T r o n g tn r n g h ợ p th ứ h a i, b iể u t h ứ c đ ợ c đ ặ c tà m o n g m u ố n hệ th ố n g th ỏ a m ã n y ê u c ầ u s a u : N e il trạ n g th i h iệ n th i c ủ a h ệ t h ố n iĩ w ai/ForCancd d ù n g h ủ y b ó tá c v ụ ) th ì trạ n g th i t r c đ ó (t ro n g q u k h ứ ) p h ả i (đ ợ i n g i flightAcked ( n g i d ù n u đ ã n h ậ n đ ợ c th ô n g t in v ề c h u y ế n b a y ) v trạ n g th i tiế p th e o (t r o n R tirơ im la i ) AckedCanceỉ (h ệ th ổ n « c h ấ p n h ậ n s ự h ủ y b ỏ ), n h v ậ y tá c v ụ 53 h ú y b ỏ c ủ a n g i d ù n g đ ợ c t h ự c h iệ n th n h c ô n g Đ iề u n y đ ợ c hệ th ố n g k iế m tra v trả lạ i kế t q u đ ú n g ( T R I J F ) 4.5 Kổt luận T r o n g c h n g n y , c h ú n g tô i đ d ề x u ấ t p h n g p h p k iể m c h n g d ịc h v ụ W e b d ự a trê n lo g ic th i g ia n P h ir n ii p h p đ ề x u ấ t tậ p tru n g c h ù y ế u v o v iệ c m h ìn h h ó a c c t r n g th i c u a d ịc h v ụ W e b , đ ặ c tả c c đ ặ c tín h c â n k iê m c h ứ n g v s d ụ n g N u S M V m c ô n g c ụ k iể m c h ứ n g N ế u h ệ th ố n g k h ô n g th ỏ a m ã n c c đ ặ c t ín h c ầ n k iể m c h ứ n g th i p h ả n v í d ụ đ ợ c đ a đ ể c h ứ n g m in h đ iề u đ ó P h ả n v í d ụ n y s è trợ g iú p c h o c c n h p h t triể n c ó th ể lầ n th e o v ế t lồ i đ ể d a c c g iã i p h p c ầ n s a lồ i C h n g K ê t l u ậ n 5.1 kếl luân T r o n g lu ậ n v ă n n y , c h ú n g tô i đ ặ t m ụ c tiê u n g h iê n c ứ u v ề k iê m c h ứ n g p h ẩ n m ề m v ứ n g d ụ n g đ ể k iế m c h n g c c d ịc h vụ W e b L u ậ n v ă n d ã đ ạt d ợ c c a c k ế t q u ả c h ín h s a u : • T im h iể u c c th n h p h ầ n c b n c ù a d ịc h v ụ W e b ( W e b S e r v ic e s ) , k iế n trú c h n g d ịc h v ụ ( S O A ) x u ấ t h iệ n m tiề n đ ề v ữ n g c h ắ c c h o v iệ c p h t triể n c c ứ n g d ụ n g th n g m i p h â n tá n , • T ỉ m h iể u m ộ t số k ỹ th u ậ t k iể m c h im e để t ìm k ỳ th u ậ t k iể m c h ú n g p h ù h ợ p v i b i to n đ ặ t r a T r o n g đ ó , c h ú n g tơ i đ ã lự a c h ọ n k ỳ th u ậ t k iể m c h ứ n g m h ìn h c h o p h n g p h p k iể m c h ứ n g , • N g h iê n c ứ u , so s n h tín h n ă n g c ủ a c c c ô n g c ụ k iể m c h ứ n g m h ìn h V i k h n ă n g lin h h o t v p h ù h ợ p v i k iể m c h ứ n g c c d ặ c tín h c ủ a d ịc h v ụ W e b , c h ú n g tô i d ã lự a c h ọ n N u S M V m c ô n g c ụ th ự c th i, • Đ e x u ấ t m ộ t p h n g p h p k iể m c h ứ n g d ịc h v ụ W e b d ự a trê n lo g ic th i g ia n v c i đ ặ t th n g h iệ m trê n c c v í d ụ m in h h ọ a V i q u y m ô k h ô n g n g n g lớ n m n h c ủ a c c h ệ th ố n g p h ầ n m ề m , v iệ c n g h iê n c ứ u p h t t r iể n c c p h n g p h p , c ô n g c ụ tự đ ộ n g x â y d ụ n g v k iể m c h ứ n g tín h đ ú n g đ ắ n c ủ a p h ầ n m ề m n h u c ầ u t h iế t y ế u C h o tớ i th i đ iể m h iệ n t i, c c k ỳ th u ậ t tự đ ộ n g đ ợ c p h â n th n h h a i lo i c h ín h : • C h ứ n g m in h đ ịn h 1Ý tự đ ộ n g (t h e o re m p r o v in g ) , tro n g đ ó , k h i c h o trư c m ộ t m ô tả v ề hệ th ố n g , m ộ t tậ p c c tiê n đ ề lô g ic v m ộ t tập c c q u y tắ c s u y lu ậ n , m ộ t h ệ th ố n g s ẽ c ổ g ắ n g tự x â y d ự n g m ộ t c h ứ n ụ , m in h h ìn h th ứ c từ đ ầ u • K iế m c h n g m h ìn h (m o d e l c h e c k in g ) , tront» d ó , m ộ t h ệ th ố n g k iể m đ ịn h c c tín h c h â t n h ấ t đ ịn h b a n g c c h d u y ệ t tro n g to n b ộ tất c ả c c trạ n g th i m tr o n g th i g ia n c h y , h ệ th o n g c ó th ể v o trạ n g th i đ ó C h a i k ỹ th u ậ t trê n đ ề u h o t đ ộ n g m k h ô n g c ầ n đ ế n s ự h t r ợ c ủ a c o n n g i C c b ộ c h ứ n g m in h đ ịn h lý tự đ ộ n g th n g y ê u c ẩ u đ ịn h h n g x e m c c tín h c h ấ t n o đ n g q u a n tâ m ; c c b ộ k iể m c h im e m h ìn h c ó th ể n h a n h c h ỏ n g sa y v o v iệ c k iê m tra h n g triệ u trạ n g th i k h ô n iĩ đ árrn q u a n tâ m n ê u k h ô n g đ irợ c c h o t r c m ộ t m h ìn h đ u trừ u tirợ im Ọ u a c c k ê t C|iia n t ịh ic n c u v th ự c n g h iệ m , c h ú n g tô i n h ậ n th y n s i, “ p h n g p h p k iể m c h ứ n g d ịc h v ụ W e b d ự a trê n m h ìn h k iể m th ứ v i s ự đ ặ c tả b ầ n L> lo g ic th i g ia n ” m ộ t p h n g p h p k iê m c h ứ n g c ó n h iề u tiề m n ă n g , đ e m lạ i n h iê u lợ i íc h v c ỏ t ín h ứ n g d ụ n g rộ n g rã i tro n g h o t đ ộ n íì k iê m c h ứ n g V i c ú p h p c h ặ t c h è , lo g ic th i g ia n c h o p h é p d iễ n tà c c đ ặ c tín h c ù a hệ th ố n g m ộ t c c h lin h đ ộ n g , đ ặ c b iệ t h ữ u h iệ u đ ố i v i c c h ệ th ố n e, c ó s ự b iế n đ ổ i trạ n g th i ( t r a n s it io n s y s t e m ) L o g ic th i g ia n k h ô n g n h ữ n g c h o p h é p đ ặ c tả s ự b iế n đ i t r n íì th i c ù a h ệ th ố n g tạ i th i đ iể m h iệ n t i, tư n g la i m c ò n c h o p h é p k iể m c h ứ n g c ả c c trạ n g th i đ ã x ả y tro n u q u k h ứ V i c c h ệ th ố n g lớ n , k h i c ó s ự b ù n g n ổ v ề k h ô n g g ia n trạ n g th i c ầ n k iể m c h ứ n g , lo g ic th i g ia n c ó k h ả n ă n ? m s u y g iả m s ố lư ợ n g trạ n g th i b ằ n g m ộ t sổ k ĩ th u ậ t (p h â n th n h c c tiế n tr ìn h n h , s d ụ n g k ĩ th u ậ t H D D ) m tă n g k h ả n ă n g k iể m c h ứ n g đ ú n g đ ắ n d ố i v i c c h ệ th ố n g lớ n B ằ n g v iệ c s d ụ n g N u S M V k ế t h ợ p v i n g ô n n g ữ S M V m c ô n g c ụ th ự c t h i, q u t r ìn h k iể m c h ứ n g d iễ n h o n to n tự đ ộ n g M ộ t tro n g n h ữ n g u ciiê m rấ t lớ n c ủ a p h n g p h p k iể m c h ứ n g n y k h n ă n g s ả n s in h đ ợ c p h ả n v í d ụ (v ế t lỗ i - t r a c in g ) tro n g t r n g h ợ p h ệ th ố n g k h ô n g th ỏ a m n đ ặ c t ín h c ầ n k iể m c h ứ n g , g iú p n g i p h t t r iể n h ệ th ố n g c ó thố t ìm d ợ c n g u y ê n n h â n x ả y lỗ i M ặ t k h c N u S M V c ò n c h o p h é p n g i d ù n g m ô p h ô n g đ ợ c s ự b iế n đ ổ i trê n k h ô n g g ia n trạ n g th i c ủ a h ệ th ố n g 5.2 Một số hướng nghiên cứu tirơng lai L u ậ n v ă n đ ã đ ề x u ấ t h n g tiế p c ậ n s d ụ n g k iể m c h ứ n g m h ìn h đ ế k iể m c h ứ n g c c d ịc h v ụ W e b d ự a trê n lo g ic th i g ia n T u y n h iê n , T r o n g p h n g p h p k iể m c h ứ n g n y c h ú n g tô i s ir d ụ n g N u S M V m c ô n g c ụ k iể m c h n g , v í d ụ c i d ậ t c ò n đ n g iá n , c ô n " v i ệ c 1TÌƠ h ìn h h ó a trê n N u S M V k h ô n g đ ợ c th u ậ n tiệ n v ì p h ả i t h ự c h iệ n b a n g t a y , q u t r ìn h m ỏ h ìn h h ó a k h ô n g tu â n th e o m ộ t p h n g p h p h ìn h th ứ c n o c ả v n g ô n n g S M V n g ô n n g ữ th u ầ n v ă n b ù n D o đ ó , c c h n g n g h iê n c u tiế p th e o c ù a c h ú n g tô i : • P h t tr iể n th ê m tín h n ă n g m ô h ìn h q u th e o p h n g p h p h ìn h th ứ c c ụ th ể v p d ụ n g k iể m c h n g v i c c lo i d ịc h v ụ c ó tín h c h ấ t k h c n h a u 56 P h t t r i e n p h n g p h p n y v i c c h ộ t h ô n £2, k h ô n g đ n g h ộ c ó t h ứ t ự 'iế p t ụ c c ù i d ậ t t h ứ n ụ h i ộ m v h o n t h iệ n c ò n g c ụ k iê m đ a h ệ t h ố n g v o ứ n g d ụ n g t r o n g t h ự c tẽ c h n u I lư n g tớ i 57 T i l i ệ u t h • Ị 1 A m i r P n u e li, a m k h ả o Deductive Verification in Action SPIN: Simple Promela Interpreter, School o f Mathematical [ ] A n d r e w Ir e la n d , am! Computer Sciences H c r io t - W a t t U n iv e r s it y , E d in b u r g h [ ] I I B a r r in g e r , M F is h e r , D G a b b a y , a n d G G o u g h , e d it o rs the Second International Conference on Temporal Logic [4 J B E A , I B M a n d M ic r o s o f t , Services Version 1.0, Proceedings o f IC T I/ Business Process Execution Language fo r Web A u g ust 2002 Service-Oriented |5 J B e l l , M ic h a e l In t r o d u c t io n to S e r v ic e - O r ie n t e d M o d e lin g M odeling: Service Analysis, Design, and Architecture W il e y & S o n s pp IS B N -0 -4 -1 1 -3 [6 ] M B e n e d e t t i, L a b o to ry fo r A C im a t t i T h e o r e t ic a l Bounded M odel Checking fo r Past LTL C o m p u te r S c ie n c e H e ls in k i U n i v e r s it y of T e c h n o lo g y P O B o x 0 , F I - H U T , F in la n d , 0 Extensible Markup [7 J T B r a y , J P a o li, C M S p e r b e r g - M c Q u e e n , E M a le r Language (XML) [8] R C h in n ic i, (S e c o n d E d it io n ) , W C R e c o m m e n d a t io n , O c to b e r 0 M G u d g in , J - J M o r e a u , J S c h lim m e r , Services Description Language (WSDL) Version 2.0 s W e e w a n a , P a rt Web 1: C o r e L a n g u a g e , W C W o r k in g D r a f t , 10 N o v e m b e r 0 19 R o b e r t o C h i n n i c i , S u n M ic r o s y s t e m s , J e a n - J a c q u e s M o r e a u , S a n jiv a W e e w a n a , W S , Version 2.0 [1 ] A rth u r R y rn a n , Web Services Description Language (WSDL) P a rt 1: C o r e L a n g u a g e W C R e c o m m e n d a t io n J u n e 0 Edm und M C la r k e , O m a G ru m b e rg , D o ro n A P e le d , Model Checking , E d it io n 111] E M C l a r k e , J r o G r u m b e r g , a n d D A P e le d Model Checking T h e M IT p re ss, 1999 [1 ] PhD D is s e r t a t io n , R F ie l d in g , Architectural Styles and the Design o f Network-based Software Architectures , 2000 11 and D M G abbay, I H o d k in s o n , M R e y n o ld s M athematical Foundations and Computational Aspects Temporal Logic: O x f o r d L o g ic G u id e s O x fo r d U n iv e r s it y P re s s , 1994 [ ] R G o ld b la t t Logics o f Time and Computation C 'S L I L e c t u r e N o te s C e n t e r fo r th e S t u d y o f L a n g u a g e a n d In f o r m a t io n , S t a n fo r d U n iv e r s it y , s e c o n d e d it io n , 1987 58 115] M G u d g in , M H a d le y , N M e n d e ls o h n , J - J M o r e a u , I I N ie ls e n , Version 1.2 Part I : Messaging Framework, W3C Recommendation , SOAP 24 Ju n e 2003 [ J M G u d g in , M H a d le y , N M e n d e ls o h n , J - J M o r e a u , I I N ie ls e n , Version 1.2 Part 2: Adjuncts, W3C Recommendation , SOAP 24 Ju n e 0 1 h t t p :/ / w w w u p p a a l.c o m 11 | h t t p :/ / n u s m v ir s t it c it f ) W C W o r k in g D r a f t , I J a c o b s , Edition , Architecture o f the World Wide Web First D ecem b er 2003 [ ] S C K e n d a ll, J W a ld o , A W o llr a t h , G W y a n t , Computing , Sun M ic r o s y s t e m s A Note on Distributed L a b o r a t o r ie s 5 G a r c ia A v e n u e M o u n ta in V ie w , C A 4 , N o v e m b e r 1994 Temporal Logic with Forgettable Past [21 ] F r a n c o is L a r o u s s in ie , N ic o la s C o m p u t e r S o c ie t y W a s h in g t o n , D C , U S A , 0 [2 ] T im o L a t v a la , Kripke Structures and Autom ata , 12 K L M c M i l l a n Symbolic M odel Checking [ J o o s t - P ie t e r K a t o e n , [ M a rc o P is t o r e , K a z h a m ia k in Ja n u a ry 0 W i l e y P u b lis h in g In c 0 Computation Tree Logic , Ram an IE E E Ja n u a ry , 0 and Luca Communication Models in Web Service Compositions, S a n t u a r i Analysis o f IT C - ir s t , T re n to , I tal y D l l ' - U n i v e r s i t y o f T r e n t o , I t a ly , 0 [ ] M P is t o r e I a n d P T r a v e r s o a n d P B e r t o li , Automated Composition o f Web Services, Planning in Asynchronous Domains U n iv e r s it y o f T r e n t o - v ia S o m m a r iv e , , T r e n t o , It a ly 12 A P n u e li T h e te m p o l lo g ic o f p r o g r a m s In : Proceedings o f the 18th IEEE Symposium on the Foundations o f Computer Science, [ E r l T h o m a s Design Service-oriented Architecture: Concepts, Technology, and U p p e r S a d d le R i v e r : P r e n t ic e H a ll P T R I S B N - - 8 - 12 P a o lo T r a v c r s o a n d M a r c o P is t o r e , o f Distributed Business Processes DU 22 Ju n 0 - U n i v e r s i t y o f T r e n t o , I t a ly Supporting the Autom ated Composition The A S T R O P r o je c t , I T C - i r s t , T r e n t o , I t a ly ... liên q u a n 22 L ogic thời gian (T em p o ral l.o u ic ) 24 3.4.1 N gôn n g logic thời g ia n 24 Cú pháp hình thức củ a logic thời g ia n 29 LTL v àC T... thuật toán kiểm c h ứ n g 32 M ột vài công cụ kiểm ch ứ n g phổ b iế n 32 3.6 K ết lu ậ n 35 Chirom g S d ụ n g kiểm ch ứ n g m ò hình để kiểm ch n g dịch vụ W e... 41 4.3 M hình hỏa kiểm c h ứ n g kịch I 41 M hình h ó a 41 Kiểm ch ứ n g m hình sử d ụ n g logic thời gian (T em poral L o g ic ) 44 4 M hình hóa kiểm ch ứ n g kịch