TRƯNG JAM THỒNG TIN ĩHự VIỆN... Quy trình kỉem chứng mô hình... Cây thực thi Execution tree.. Trạng thái có thê đạt được Reachable State... 3.4 Logic thòi gian Tem poral Logicl.
Trang 1Ĩ H " = = = = = = = = = = = = m
ĐẠIÍ ỈỌC QUỐC GIA HẢ NỘI
ĐÀO THỊ HƯỜNG
KIÉM CHỨNG DỊCH v ụ VVEB VỚI LOGIC THỜI GIAN
Chuyên iiỊ>ành : Công nghệ phần mềm
Trang 2M ụ c l ụ c
iv
T ó m t ă t i
L ời cam ơ n ! ii
Lời cam đ o a n iii
M uc l u c iv
D an h m uc ký hiêu từ viết tắ t vi
D a n h m uc b ả n g b i ể u vii
C h ư ơ n g 1 M ơ đ ầ u 1
1.1 C ơ sở k h o a hoc củ a đề t à i 1
1.1.1 K iểm c h ứ n g p hẩn m ề m 1
1.1.2 Vai trò c ủ a các ứ n g d ung th ư ơ n g m ai đièn tử phân t á n 3
1.2 Nôi d u n g n g h iên c ứ u 6
1.3 C ấu trúc luân v ă n 6
C h ư ơ n g 2 D ich vu W e b 8
2.1 K ién trú c h ư ớ n g dich vu (S e rv ic e - O rien ted A rc h ite c tu re ) 8
2 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 2 C ác đăc điểm cơ bản cùa d ic h vu W e b 12
2 2 3 C á c đ ăc điểm m ở rô n g củ a d ich vu W e b 15
2.3 K ết lu â n 17
C h ư ơ n g 3 K iểm ch ứ n g m ô h ì n h 18
3.1 T ổ n g q u a n 18
3.2 Ọ u y trinh kiểm c h ử n g m ô h ìn h 18
3.2.1 M ô hỉnh h o á h ê th ố n g (S y stem M o d e lin g ) 19
3 2 2 Đ ă c ta c ác đãc tính (P ro p erties S p e c ific a tio n ) 19
3 2.3 K iểm c h ứ n g (V e rif ic a tio n ) 20
3.3 Ổ -tô -m á t 20
Trang 33.3.1 Đ ịnh n g h ĩa ỏ - tô - m á t 20
3 3 2 C ác đ ịn h ng h ĩa liên q u a n 22
3 4 L o g ic thời gian (T e m p o ra l l o u i c ) 24
3.4.1 N gôn n g ừ logic thời g i a n 24
3 4 2 C ú p h áp hình thứ c củ a logic thờ i g ia n 29
3 4 3 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
3 5 2 M ột vài cô n g cụ kiểm c h ứ n g p h ổ b iế n 32
3 6 K ết lu ậ n 35
Chirom g 4 S ử d ụ n g kiểm ch ứ n g m ò hình để kiểm c h ử 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
4 2 1 K ịch bản 1: Đ ă n g kí vé m áy b ay và đ ăn g kí khách s ạ n 40
4 2 2 K ịch hàn 2: D ịch vụ V T A có kha năn g hủy bỏ tác vụ (C a n c e lla tio n ) 41
4 3 M ô hình hỏa v à k iểm c h ứ n g k ịch bản I 41
4 3 1 M ô hình h ó a 41
4 3 2 K iểm c h ứ n g m ô hình sử d ụ n g logic thời g ian (T em p o ral L o g ic ) 44
4 4 M ô hình hóa và k iểm ch ứ n g k ịch bản 2 46
4 4 1 M ô hìn h h ó a 46
4 4 2 K iểm c h ử n g m ô hình sử d ụ n g logic thời g ian (T em p o ral I o g i c ) 48
4 5 Kốt lu ậ n 53
C hưcrng 5 54
K ết lu ậ n 54
5.1 K et lu ậ n 54
5.2 M ột sổ h ư ớ n g n g h iên cửu tro n g tư ơnu la i 55
T ài liệu tham k h ả o 57
V
Trang 4U n iv ersal D escrip tio n D isco v ery and
Trang 5V I I
?
H ình 2.1: K iến trúc h ư ớ n g dịch v ụ 8
I linh 2.2 K iến trúc tro n g cùa dịch v ụ W eb 1 ]
I linh 2.3: K iến trúc ngoài cù a dịch v ụ W eb 12
H ìn h 3.1: Q u y trìn h 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 của cây th ự c thi hệ th ố n g m ật m ã s ố 23
H ình 3.4: C ác định đề C Ư sứ trên m ộ t ô-tô-m át và các chuồi thự c thi của n ó 26
H ìn h 3.5: C á c toán tử thời g ian tư ơ n g la i 27
H ìn h 3.6: C ác toán tử thời g ian q u á k h ứ 28
1 lình 3.7: C ác toán tử số lư ợ n g n h á n h 29
H ìn h 3.8: B ổn cách kết hợp E hoặc A với F hoặc G 30
I lình 3.9: So sánh các 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 c h ứ n g d ịch vụ W eb sử d ụ n g kiểm c h ứ n g mỏ hình .37
H ìn h 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 ìn h 4.4 Q u á trình thự c thi cù a V T A 40
H ìn h 4.5 A u to m at hữu hạn trạn g thái biểu diễn V T A kịch bản 1 42
H ình 4 6 M ô hình h óa V T A k ịch b ản 1 43
H ỉnh 4.7 A u to m at hữ u hạn trạ n g thái biểu diễn V T A k ịch bản 2 47
H ình 4 8 M ô hỉnh h óa V T A kịch b ản 2 48
Trang 7• T h e o thoniz, k ê c ù a N A S A I V & V C e n t e r ( 2 0 0 0 ) : N g à n h c ô n g n g h iệ p
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 ít v à h iệ n n a y p h ir o n u
p h á p n à y t h ư ờ n g đ ư ợ c á p d ụ n g c h ủ y ê u c h o c á c h ệ c ó đ ộ n h ạ y c á m c a o n h ư c á c
g ia o t h ứ c b à o m ặ t
Trang 8N 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 tr o 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
Trang 9th ể 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 là 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
4
Trang 10c 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 ệ
t h ố n g n g â n h à n g đ ã g iả m đ ư ợ c đ á n g k ể lư ợ n g tiề n m ặ t tr o 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 « t r ê n m ạ n g
N g à y 1 9 / 1 2 / 1 9 9 8 , 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 :/ / 2 0 3 1 6 2 5 4 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 ị,
Trang 11C h ư ơ n g 2 g iớ i th iệ u v ề d ịc h v ụ W e b C h ú n g tô i d ư a ra c á c y ế u tố c ơ b an c ấ u
th à n h n ê n d ịc h VỊI W e b , k iế n trú c tro n g c ũ n g n h ư c á c y ế u tố n g o à i, m ộ t sổ
n h ữ n g đ ặ c đ iể m q u a n t r ọ n g c ủ a d ịc h v ụ W e b C u ố i c ù n g là n h ừ n g c á i n h ìn k h á i
q u á t v ề B P F L
6
Trang 12C h ư ơ n g 3 tr in h b à y v ề k ĩ th u ậ t k iể m chúm e, m ô h ìn h , m ộ t k ĩ th u ậ t k iể m c h ứ n g tự
đ ộ n g trê n c á c Ỉ1Ộ h ữ u h ạ n tr ạ n g t h á i T r o n g c h u ơ n c n à y , c h ú n g tô i t r in h b à y c h i tiế t v ồ c á c c ò m ; v iệ c c h ín h tr o n g k iế m c h ím e m ò h ìn h d ồ n g th ờ i t r in h b à y v ề
c ô n g c ụ k iê m c h ứ n g N u S M V - m ộ t c ô n g c ụ k iê m c h ứ n g s ứ d ụ n g c á c k í h iệ u đ ê
Trang 132.1 Kiến trúc huóng dịch vụ (Service - Oriented Architecture)
K i ế n t r ú c h ư ớ n g d ịc h v ụ (Service O riented Architecture - S O A ) [ 2 5 , 2 8 ] là m ộ t
Trang 14y ê u c ầ u d ịc h v ụ c ó th ể t ìm k iế m n h ữ n g d ịc h v ụ đ ã đ ư ợ c q u ả n g b á B a th a o tá c c ơ
h à n t r o n g S O A là : Ọ u à n g b á (publishing), t im k iế m (finding) v à k ế t n ối
(binding). S a u q u á tr ìn h th ự c h iệ n m ộ t d ịc h v ụ th à n h c ò n g , N h à c u 11 ì! c ấ p d ịc h
v ụ q u á n g b á s ả n p h â m c ủ a m ìn h đ ế n N h à c u n g ứ n g d ịc h v ụ tru n g g ia n ( p u b l i s h i n g ) , N h à c u n ạ ứ n g d ịc h v ụ t r u n g g ia n g h i n h ậ n v à p h â n lo ạ i tất c ả c á c
d ịc h v ụ d ã đ ư ợ c c u n g ứ n g , s a u đ ó c u n g c ấ p c á c th ô n g tin v ề c á c d ịc h v ụ lê n trên
d ịc h v ụ tìm k iế m N h à y ê u c ầ u d ịc h v ụ liê n lạ c v ớ i N h à c u n g in m d ịc h v ụ tru n g
g ia n đ ể b iế t th ô n g tin v ề c á c d ịc h v ụ đ ã c ó ( f i n d i n g ) v à c u ố i c ù n g d ự a trê n n h ữ n g
Trang 15(D istributed Component Object M odel), C O R B A ( Common Object Requesting
B roker Architecture) v à J i n i T u y n h iê n , v iệ c s ử d ụ n g c á c c ô n g n g h ệ n à y đổ tíc h
n à y p h ù h ợ p v ớ i v iệ c x â y d ự n g c á c c h ư ơ n g , tr ìn h ứ n g d ụ n g c h o m ộ t c ô n g t y T u y
n h iê n tr o n g tr ư ờ n g h ợ p n à y c h ú n g ta đ a n g đ ề c ậ p đ ế n v iệ c t íc h h ợ p c á c c h ư ơ n g
t r ìn h ứ n g d ụ n g c h o n h iề u c ô n g t y v ớ i n h ữ n g p h ầ n đ ệ m h o à n to à n k h á c n h a u , c á c
Trang 16p h ầ n đ ệ m n à y đ ề u c ỏ n h ữ n g h ạ n c h ế c ủ a r iê n íĩ n ó S ự h ạ n c h ế n à y đ ề u d ự a trôn
n g u y ê n t ắ c , c á c p h ầ n đ ệ m k h á c n h a u đ ề u d ự a trê n v iệ c x â y d ự n g (lự a trê n c á c
c ô n u n iih ệ k h á c n h a u , b ờ i v ậ y m à c ỉ i ú i m k h ô n u th ê c ó s ự u i a o tiè p tr ự c tiè p n ào
g iữ a c h ú n g K h i c h ú n g ta đ ề c ậ p đ ế n k iế n t r ú c d ịc h v ụ W e b c ó h a i k h ía c ạ n h c ầ n
q u a n tâ m K h í a c ạ n h đ ầ u tiê n là m ố i q u a n h ệ g iữ a d ịc h v ụ W e b v à c á c p h ầ n đ ệm
Trang 17(Simple Object Access Protocol), W S D L ( Web Services Description Language)
v à U D D I {Universal Description Discovery and Integration). C á c đ ặ c tả m ờ
r ộ n g b ao g ồ m : b ả o m ậ t d ịc h v ụ W e b ( WS-Securitv) , c h ín h s á c h d ịc h v ụ W e b
Trang 18( W S - P o l i c v ) v à n g ô n im ữ k h á c h ạ y tiê n tr in h n g h iệ p v ụ ( Web Services Business Process Execution Language - B P E L )
Đ â y là m ộ t c á c h th ứ c tổ c h ứ c d ữ liệ u tro n g c ấ u trú c c ủ a X M L {extensible
M arkup Language), d ù n g đ ể tra o đ ổ i th ô n g t in g iữ a c á c d ịc h v ụ W e b C h i tiế t v ề
Trang 19W S D L [ 9 , 1 0 , 1 9 ] đ ặ c ta c á c h t h ứ c s ử d ự n g X M L ị 7 ] đ ể m ô g ia o d iệ n c u a d ịc h
v ụ W e b W S D L đ ư ợ c s ử d ụ n ii h ờ i m á y tr ạ m d ị c h v ụ đ ê x á c đ ịn h c á c h th ứ c SƯ (h u m d ịc h v ụ W e b T h ô n g tin đ ư ợ c c u n g c â p b ứ i W S D L h a o g ô m ụ ia o d iệ n c u a
d ịc h v ụ , đ ịa c h i d ịc h v ụ v à g ia o t h ứ c v ậ n c h u y ê n đ ư ợ c d ù n íí đ ẽ th iè t lậ p c á c liê n
Trang 20W e b {WS-Policv) v à n g ô n n g ừ k h ả c h ạ y tiê n t r in h n g h iệ p v ụ c h o d ịc h v ụ W e b
( Web Services Business Process Execution Language).
B á o m ật d ị c h v ụ W e b (W S-Security)
L à k h ả n ă n g b ả o v ệ n g ư ờ i d ù n g In te r n e t trá n h k h ỏ i n h ũ n g đ e d ọ a n g u y h iể m( n h ư v iệ c t r u y c ậ p v à o c á c tr a n g W e b d ộ c h ạ i, b ị tấ n c ò n g th e o c á c h lừ a đ à o
(fishing), b ị th e o d õ i b ở i c á c p h ầ n m ồ m g iá n đ iệ p v à s ự tấ n c ô n g c ù a v ir u s )
Trang 22d ư ợ c p h â n c h ia th à n h m ộ t d ã y c á c b ư ớ c , m ồ i b ư ớ c là m ộ t h o ạ t đ ộ n g C ụ th ể là
n l u r s a u :
17
• invoke. G ọ i đ ế n các th a o tá c c ó sầ n tro n g d ịc h v ụ W e b
• receive: Đ ợ i th ô n g d iệ p từ c á c th ự c th è b ên n g o à i
• reply. S ả n s in h c á c th ô n g d iệ p tra lờ i c á c th ự c th ê n g o à i
d à n g b iể u d iễ n v à s ử d ụ n g c á c tiế n t r ìn h n g h iệ p v ụ
TRƯNG JAM THỒNG TIN ĩHự VIỆN
Trang 23M ặ c d ù k iê m c h ứ n g 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ỏ ra h ữ u h iệ u tr o n g n h iề u b à i to á n q u a n tr ọ n g B ê n c ạ n h đ ó , k iể m c h ứ n g
3.2 Quy trình kỉem chứng mô hình.
P h ư ơ n g p h á p k iể m c h ứ n g m ô h ìn h b a o g ồ m ba c ô n g v iệ c c h ín h Đ ầ u tiê n hệ
Trang 24tá h a y k h ô n g , n êu k h ô n g th ỏ a m ã n thì đ ư a ra p h à n v í d ụ N h ư v ậ y , c ô n g v iệ c
k iế m e h ử n ạ , d ư ợ c tiế n h à n h tự đ ộ n g trê n c á c c ô n u c ụ k iê m c h ứ n g đ à c à i đ ặt c á c
th u ậ t to á n k iể m c lú r n u ( ’á c c ô n g v i ệ c tro n g k iể m c h ử n g m ò h ìn h đ ư ợ c m in h h ọ a
tr o n g h ìn h 3 1
19
r .
M ó lu iili hoa liệ thông
(S y ste m R e q u ìi em eilt)
Đ ặ c tã các thuộc tin h (S yste m p r o p e r t y )
Trang 25( T L * (C o m p u t a t io n T r e e L o g i c * ) L T L ( L i n e a r T e m p o r a l L o g i c ) v à C T L [ 2 4 ] ( C o m p u t a t io n T r e e L o g i c ) là h a i lo g ic th ờ i a ia n d ư ợ c s ir d ụ n g r ộ n g rà i n h ấ t trê n
đ ư ợ c tiế n h à n h trê n c á c c ô n g c ụ k iể m c h ứ n g c ó c à i đ ặ t th u ậ t to á n k iể m c h ứ n g
C ô n g c ụ k iể m c h ứ n g m ô h ìn h s ẽ 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
Trang 28Định nghĩa 3.4 Cây thực thi (Execution tree). C â y th ự c th i !à k ế t q u ả k h i ta tổ
c h ứ c m ộ t tậ p c á c n h á n h t h ự c th i đ ê h ìn h th à n h n ê n m ộ t c â y C â y t h ự c th i b a o g iờ
c ũ r m c ó u ỏ c ư trê n c ù n g H ìn h 3 3 m in h h ọ a p h â n đ â u c ủ a m ộ t c à y th ự c th i c h o
h ệ th ố n g m ậ t m ã s ổ b ất đ ầ u t ừ t r ạ n g th á i k h ở i tạ o í]().
Đ ịnh nghĩa 3.5 Trạng thái có thê đạt được (Reachable State). M ộ t trạ n g th á i
đ ư ợ c g ọ i là c ó th ê đ ạ t đ ư ợ c n ê u n ó x u â t h iệ n tro n g c â y th ự c th i c ù a ô - tô - m á t,
Trang 293.4 Logic thòi gian (Tem poral Logic)
l o ụ i c th ờ i g in n là lo u ic d ù n g đ ê b iê u d iễ n v à lậ p lu ậ n trê n c á c k h á i n iệ m th e o
t h ứ t ự th ờ i g ia n A P n u e li là n g ư ờ i d ầ u tiê n đ e x u ấ t s ứ d ụ n g n ó v à o n ă m 1 9 7 7
d è đ ặ c ta h ìn h th ứ c c h o c á c đ ặ c t in h v ề h à n h v i c ù a h ệ th ố n g S o v ớ i c á c h v iế t
c á c b iê u t h ứ c to á n h ọ c th e o b ie n t h ờ i g ia n , lo g ic th ờ i g ia n rõ r à n g v à d o n g iả n hom V í d ụ n h ư b iế n th ờ i g ia n / h o à n to à n b iế n m ấ t L o g i c th ờ i g ia n c ũ n g đ ư a ra
Trang 30C á c tô h ợ p b o o l b a o g ô m c á c h ă n g sô đ ú n g v à s a i, p h u đ ịn h v à c á c liê n k ê t
Các toán tư thời gian tương lai: C á c to á n t ử th ờ i g ia n tir ơ n g la i c h o p h é p b iể u
d iễ n s ự d iễ n t iế n c ủ a h ệ th ố n g t r o n g tư ơ n g l a i , b a o g ồ m c á c to á n t ử X , F , G v à
I J C á c to á n tử th ờ i g ia n tr o n g tư ơ n g la i d ư ợ c m in h h ọ a tr o n g h ìn h 3 5
N ế u p b iế u d iễ n m ộ t th u ộ c tín h tạ i tr ạ n g th á i h iệ n t ạ i, th ì X P c h i ra r à n g , trạ n g
th á i tiế p th e o n g a y s a u ( “ n e X t ” ) th o a m ã n p. V í d ụ n h ư / , V X P c h ỉ ra r ằ n g p
d ư ợ c th ỏ a m ã n tro n g tr ạ n g th á i h iệ n tạ i h o ặ c t r o n g tr ạ n g th á i tiế p th e o h o ặ c c à
h a i T r o n g v í d ụ trê n h ỉn h 3 4 , m ồ i n h á n h ơ /, ơ2 v à ơi th ỏ a m ã n X X e r r o r
Trang 31n à y c ó n g h ĩa là k h i n h iệ t đ ộ là w a r m tro n g tr ạ n g th á i h iệ n tạ i th ì tro n g trạ n g th á i
t iế p th e o , n h iệ t đ ộ s ẽ k h ô n g w a r m v à đ iề u n à y lu ô n đ ú n g