Kiểm chứng hệ thống thời gian thực bằng công cụ kiểm chứng mô hình SAL

54 9 0
Kiểm chứng hệ thống thời gian thực bằng công cụ kiểm chứng mô hình SAL

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN KHẮC CHUNG KIỂM CHỨNG HỆ THỐNG THỜI GIAN THỰC BẰNG CƠNG CỤ KIỂM CHỨNG MƠ HÌNH SAL LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI, 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN KHẮC CHUNG KIỂM CHỨNG HỆ THỐNG THỜI GIAN THỰC BẰNG CƠNG CỤ KIỂM CHỨNG MƠ HÌNH SAL Nghành : Công nghệ thông tin Chuyên nghành : Kỹ thuật phần mềm Mã số LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐẶNG VĂN HƯNG HÀ NỘI, 2015 Tr gi ng vi n Đ i họ th y việ nghi n T làm lu n v n nghi n ti n t ộ môn ng nghệ - Đ nh nhiều thời u th i xin u in nh t ho t lu n v n t ể m i s t nghiệp Nguyễn Kh c Chung ỜIC Đ N T i xin m o n r ng y l kết qu nghi n u gi p r t lớn th y h ớng n nội ung nghi n ề t i n y ho n to n trung th Trong lu n v n t i th m kh o liệt k t i ph n t i liệu th m kh o ến s t i liệu u i lu n v n t i s u v kết qu s t Hà nội, tháng 11 n m ọ vi n th gi Nguyễn Kh c Chung Ờ h h ng ỚI TH ng TỔNG QUAN VỀ KIỂM DUYỆT MƠ HÌNH 2.1 Kiểm duyệt mơ hình (model checking) 2.1.1 Định n 2.1.2 Q trình chung cho việc kiểm duyệt mơ hình 2.1.3 Ưu Ưu 2.1.4 2.2 Mơ hình hóa hệ th ng 2.2.1 Hệ th Định n 2.2.1.2 Th 2.2.2 Mơ hình Đ 2.2.2.2 Giao tiếp thông qua biến dùng chung 2.2.2.3 B t tay (handshaking) 2.2.2.4 Hệ th Đặc t tính 2.3.1 Tính an tồn (safety property) 2.3.1.1 Khóa chết 2.3.1.2 B t biến (invariant) 2.3.2 Tính s 2.4 Kiểm duyệt mơ hình hệ th ng thời gian th c (model checking real-time system) 2.4.1 Hệ th 2.4.2 Hệ th 2.5 Logic Thời gian tuyến tính (Linear Temporal Logic) 2.5.1 Logic thời gian tuyến tính 2.5.1.1 Cú pháp (Syntax) 2.5.1.2 Ng 2.5.2 Kiểm duyệt mô h ng TỔNG QUAN VỀ CÔNG CỤ KIỂM CHỨNG MƠ HÌNH SAL (Symbolic Analysis Laboratory) h 3.1 Giới thiệu 3.1.1 3.1.2 3.1.3 3.1.4 3.1.4.1 Bộ kiểm tra mơ hình biểu t ng (symbolic model checker) 3.1.4.2 Bộ kiểm tra mơ hình chặn (bounded model checker) 3.2 Ngôn ng 3.2.1 3.2.1.1 Kiểu d 3.2.1.2 D 3.2.2 3.3 Ngôn ng 3.3.1 3.3.2 3.3.3 333 3.3.3.2 Thao tác biến biến tr ng thái 3.3.3.3 Thành ph n m 3 Kh i 3.4 Đặ tr h ng ỨNG DỤNG 4.1 Bài tốn hệ th 4.1.1.Mơ t 4.1.2.Mơ hình 4.1.2.1 Mơ hình hóa 4.1.2.2 Kiểm duyệt tính ch t 4.2 Bài toán hệ th ng th ng m y n gi n 4.2.1.Mơ t 4.2.2.Mơ hình 4.2.2.1 Mơ hình hóa 4.2.2.2 Kiểm duyệt tính ch t h ng KẾT LUẬN TÀI LIỆU THAM KH O PHỤ LỤC DANH MỤC HÌNH VẼ Hình 2-1: Tổng quan kiểm duyệt mơ hình Hình 2- : Hình 2-3: Ví d Hình 2-4: Ví d Hình 2-5: Ng Hình 2-6: Ví d logic thời gian tuyến tính Hình 2-7: Tổng quan kiểm duyệt mơ hình logic thời gian tuyến tính Hình 3-1: Ví d Hình 3-2: Ví d sal path finder Hình 3-3: Ví d Hình 3-4: Ví d Hình 3-5: C u tr Hình 4-1: Mơ hình hệ th ng Hình 4-2: Mơ hình cửa thang máy Hình 4-3: Mơ hình thang máy Chương GIỚI THIỆU Ngày nay, s thông ngày nhiều v i s u vào s ng hàng ngày c a chẳng h n nh tay iện tho i giặt, lị vi sóng Vì thế, s h n vào hệ th yêu c u cao Để xây d l ng ph n mềm Trong sớm ng v i trò m u ch t cho việ triển ph n mềm K thiết kế hệ th ng nh m t ng Trong nhiều n m qu ến s phát triển c lỗi sớm c sử d ng cách t ph n mềm Hiện có r t nhiều cơng c SPIN, NuSMV, PAT, UPPAAL SAL kiểm duyệt hệ th ng thời gian th c b ng cách thêm biến ếm ng h vào tiến trình thời gi n ràng buộc thời gian với trình chuyển c u lý thuyết c kiểm duyệt mơ hình SAL sử d ng SA th c tế 34  TR NSITI N section: Ph n TR NSITI N r ng uộ tr ng th i thể ho kh i o: ị ph ng to n v u r Ph n n y ịnh ngh tổng thể m i li n qu n ến tr ng th i tr m un Transition section x ịnh m i qu n hệ tr ng th i iến o vệ thể th m hiếu ến t k iến n o kể iến 3.3.3.2 Thao tác biến biến trạng thái    u tr u tr Để tr nh ng C : Th o t UTPUT: Th o t ị trùng t n h sử ng u tr iến với u r v to n iến to n iến m REN E un thể ổi t n 3.3.3.3 Thành phần mô đun ng thành ph n u un thể kết h p thành ph n vào Ii , biến u kh ng ng Gi sử m un Mi có biến Oi ,biến toàn c c Gi , biến ị ph ng l Li thì: M1 || M2: kí hiệu thành ph n M1 [] M2: kí hiệu thành ph n kh ng Các biến u vào I, biến a M1 ||M2 M ph ng Ng   ngh initialization l kết h Transition  s definition l Ng kết h p c a khởi t o v n xen (interle ving) s chuyển ổi c a hai mô un 3.3.3.4 Khai báo mô đun Một m un th m s ịnh ngh theo d ng sau: ngh 35 ∶= ⟦ ⟧∶ E= 3.4 Đặc trưng SAL h ng ộ kiểm uyệt m h nh hặn ( oun e mo el he kers - m ) sử ng ể t m kiếm ph n ví nh ng h ng ũng thể sử ng ể h ng minh t iến ng quy n p tr n kh ng gi n tr ng th i SA hỗ tr quy n p k kh i qu t ho nguy n t quy n p thể kiểm uyệt hệ th ng với h nh vi ộ i l k Kỹ thu t n y thể p ng ho hệ th ng tr ng th i h u h n v v h n Trong h i tr ờng h p ộ kiểm uyệt m h nh hặn sử ng Với nh ng hệ th ng tr ng th i v h n ộ kiểm h ng m h nh ị hặn kết h p với ộ gi i l thuyết m un p ng (s tisfi ility mo ulo theories-S T) [3]  Kh i qu t h quy n p ( ener lize n u tion) Để ịnh ngh quy n p k, coi (S, I, →) hệ th ng chuyển t ổi S p h p tr ng thái, I ⊆ S t p tr ng th i n u v quan hệ chuyển ổi nhị phân Nếu k s t nhiên, quỹ tu n t c a tr → l ng thái s0 → s1→ →sk (quỹ o tr ng th i k s t nhiên, o k P tính ch t Nguyên t c quy n p k nh s u: n) y ịnh ngh →sk với s ∈ n: Với quỹ • Tr ờng h p ng với ≤ j < k • quy n p: Với t t quỹ ≤ j < k th P(sk) ng [3] o k s →s → o k s → s → →sk P(sj) P(sj) ng với Nguyên t n y l t ng ng với nguyên t c quy n p hệ th ng chuyển ổi th ng th ờng k = Với SA ng ời dùng tùy chọn giá trị k ể ặc t chiều s u ể thử ch ng minh quy n p Sử d ng kiểm tra mơ hình sal-bmc, sal-inf-bmc ể kiểm duyệt với hành vi ộ dài k 36 Chương ỨNG DỤNG Để minh họa cho lý thuyết c ph ng ph p kiểm duyệt mơ hình giới thiệu h ng v ng ùng ể kiểm duyệt mơ hình (SAL) h ng 3, h ng n y h ng t tiến hành thử nghiệm toán c thể 4.1 Bài tốn hệ thống cơng tắc đèn 4.1.1 Mơ tả toán Đặc t hệ th ng ng t n sử d ng gi nh Đ u vào c a hệ th ng nút up, down c n Đ u c a hệ th ng tín hiệu c n c thể tr ng thái: n t t (off), n s ng mờ (low), n s ng m nh (high) Mơ hình c a hệ th n g c biểu diễn tr ng thái nh s u: down off up down low up down high Để công t c c mô t thái: off, low, high ặc t n) v b ng: StateBt 37 4.1.2 Mơ hình kiểm duyệt hệ thống cơng tác đèn SAL 4.1.2.1 Mơ hình hóa  un ng t  un (switch): n (lamp): 38 4.1.2.2 Kiểm duyệt tính chất  Tính h t n ph kiểm h ng m h nh l : Khi n tr ng th i high tr ng th i off Tính h t tr n i qu tr ng th i low s u n iểu iễn ng T nh s u: G(NOT((light = high) AND U((light /= low),(light = off))))  Kiểm h Tính h t th1 4.2 Bài toán hệ thống thang máy đơn giản 4.2.1 Mơ tả tốn Hệ th ng th ng m y Thang máy ho t thang máy Cửa mở th ng m y Mơ hình c Hình 4-2: Mơ hình cửa thang máy up down down down Hình 4-3: Mơ hình thang máy Đặc t hệ th ng thang máy bao g m hai m un: m un ặc t thang máy (controller) v m un ặc t tr ng thái cửa thang máy (door) Cửa thang up 39 máy có hai tr ng thái là: open, close Thang máy ho t ộng từ t ng ến t ng ba, di chuyển ến vị trí t ng cử t ng ng c mở 4.2.2 Mơ hình kiểm duyệt hệ thống thang máy SAL 4.2.2.1 Mơ hình hóa   un ặ t th ng m y (controller) un ặ t th ng m y (door) 40 4.2.2.2 Kiểm duyệt tính chất  Kiểm uyệt tính h t s u hệ th ng th ng m y • ỗi lu n từ tr ng th i close v • un u i ùng l tr ng th i open tr ng th i close  Sử ng ộ kiểm uyệt s l-sm ể kiểm Tính ch t th1 c ch ng minh (proved) Tính h t th2 h ng minh (proved) Tính h t th3 h ng minh (proved) Tính h t th4 h ng minh (proved) uyệt tính h t: 41 Chương K T LUẬN Kiểm duyệt mô hình k h th t kiểm duyệt t ộng hệ th ng h u m n c yêu c u ng ời dùng n tr ng th i ể m b o hệ th ng th Sau thời gi n nghi n u v t m hiểu lu n v n t kết qu nh s u: ọ vi n t m hiểu kiến th n nh t kiểm duyệt mơ hình o g m: kh i niệm n kiểm duyệt ph n mềm tiến tr nh th kiểm duyệt o g m nh ng gi i o n n o ng việ n th qu tr nh kiểm duyệt Ngoài ra, lu n v n n t p trung tìm hiểu công c SAL kinh nghiệm sử d ng công c SAL Từ r ặ tr ng nc “Kiểm chứng hành vi có độ dài nhỏ k” r s l SA u i ùng p ng nh ng kiến th t m hiểu giới h n lu n v n họ vi n viết h ng tr nh th nghiệm ể thử nghiệm ph ng ph p kh o s t tr n ho i to n thể Bài to n “Hệ thống cơng tác đèn”, “Thang máy đơn giản” c mơ hình và kiểm duyệt tính ch t thơng qua công c SAL Trong t ng l i lu n v n tiếp t ph t triển theo h ớng kiểm uyệt m h nh tr n công c SAL ng thời thể p ng nh ng t m hiểu nghi n u v o nh ng i to n th tiễn 42 TÀI LIỆU THAM KHẢO TI NG ANH Christel Baier Joost-Pieter Katoen (2008), Principles of Model Checking, MIT Press, Printed and bound in the United States of America, pp.19-26, 35-55, 89 -99, 151-152, 159-167, 170 -180, 188-193, 229-233 [1] [2] iu Y ng ( 9) “ OD K O URR T A D R A - T SYST S: T PAT APPROA ” A thesis submitted for the degree of doctor of philosophy department of computer science national university of Singapore, pp.20-22 Saddek Bensalem, Vijay Ganesh, Yassine Lakhnech, Cesar Munoz, Sam Owre, Harald Rueß, John Rushby, Vlad Rusu, Hassen Saidi, N Shankar, Eli [3] Singerm n Ashish Tiw ri ( ) “An Overview of SA ” LFM 2000: Fifth NASA Langley Formal Methods Workshop, Williamsburg, pp.5-6 [4] ee Pike ( 7) ” o el he king for the Pr ti l Verifi tionist” Automated Formal Methods(AFM07), pp.1-2, 4-5 Leonardo de Moura, Sam Owre, N Shankar (2003), The SAL Language Manual (Rev.2), SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park, pp.5-23 [5] Leonardo de Moura (2004), SAL: Tutorial Computer Science Laboratory, SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park, pp.3-4, 6-10 [6] S Owre, N Shankar, J M Rushby, D W J Stringer - Calvert (November 2001), PVS Language Reference, Version 2.4, SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park, pp.11-17, 37-42 [7] 43 PHỤ LỤC Hệ thống đèn cầu thang SAL (Light.sal) light: context = BEGIN Signal: type = {off, low, high}; CState: type = [0 2]; StateBtn: type = {up, down}; switch: module = BEGIN INPUT isState : BOOLEAN OUTPUT ctrLamp : StateBtn INITIALIZATION ctrLamp = down; TRANSITION [ (isState) > ctrLamp' = up; [] else > ctrLamp' = down; ] END; lamp : module = BEGIN INPUT tick : StateBtn OUTPUT light : Signal LOCAL 44 status: CState INITIALIZATION status = 0; DEFINITION light = if (status = 0) then off elsif (status = 1) then low else high endif; TRANSITION [ ((status = 0) AND (tick = up)) > status' = 1; [] ((status = 1) AND (tick = up)) > status' = 2; [] ((status = 2) AND (tick = up)) > status' = 2; [] ((status = 0) AND (tick = down)) > status' = 0; [] ((status = 1) AND (tick = down)) > status' = 0; [] ((status = 2) AND (tick = down)) > status' = 1; ] END; system: MODULE = switch [] lamp; th1: theorem system |- G(NOT((light = high) AND U((light /= low),(light = off)))); END 45 Hệ thống thang máy SAL (ele.sal) ele: context = BEGIN N: NATURAL = 3; index: TYPE = [1 N]; mType: type = {close, open}; controller: MODULE = BEGIN LOCAL onFloor: index OUTPUT openclosedoor: mType GLOBAL process : index INITIALIZATION onFloor = 1; openclosedoor = close; TRANSITION [ onFloor /= AND openclosedoor = close > onFloor' = onFloor + 1; openclosedoor' = open; process' = onFloor []onFloor /= AND openclosedoor = close > onFloor' = onFloor - 1; openclosedoor' = open; process' = onFloor ] END; 46 door[i: index]: MODULE = BEGIN INPUT openclosedoor : mType, process : index LOCAL arrDoorisopen : mType INITIALIZATION arrDoorisopen = close; TRANSITION [ (openclosedoor = open) AND (i = process) AND arrDoorisopen = close > arrDoorisopen' = open []else > arrDoorisopen' = close ] END; system: MODULE = controller [] ([] (i: index): door[i]); th1: THEOREM system |- G(arrDoorisopen[1] = close => F(NOT (arrDoorisopen[1] /= close))); th2: THEOREM system |- G(arrDoorisopen[2] = close => F(NOT (arrDoorisopen[2] /= close))); th3: THEOREM system |- G(arrDoorisopen[3] = close => F(NOT (arrDoorisopen[3] /= close))); th4: THEOREM system |- G(forall(i, j: index): i /= j => arrDoorisopen[i] /= open or arrDoorisopen[j] /= open); END ... HỌC CÔNG NGHỆ NGUYỄN KHẮC CHUNG KIỂM CHỨNG HỆ THỐNG THỜI GIAN THỰC BẰNG CƠNG CỤ KIỂM CHỨNG MƠ HÌNH SAL Nghành : Công nghệ thông tin Chuyên nghành : Kỹ thuật phần mềm Mã số LUẬN VĂN THẠC SĨ CÔNG... Ví d Hình 2-5: Ng Hình 2-6: Ví d logic thời gian tuyến tính Hình 2-7: Tổng quan kiểm duyệt mơ hình logic thời gian tuyến tính Hình 3-1: Ví d Hình 3-2: Ví d sal path finder Hình. .. Ví dụ kiểm chứng tính chất sử dụng sal- smc Hình 3-3: Ví dụ kiểm chứng tính chất sử dụng sal- smc 3.1.4.2 Bộ kiểm tra mơ hình chặn (bounded model checker) SAL ch a kiểm tra mơ hình chặn gọi sal- bmc

Ngày đăng: 11/11/2020, 21:45

Tài liệu cùng người dùng

Tài liệu liên quan