Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 129 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
129
Dung lượng
1,39 MB
Nội dung
đại học quốc gia hà nội trường đại học công nghệ Phạm Hồng Thái số phương pháp kiểm chứng tính đắn hệ thời gian thực thuật toán luận án tiến sĩ toán học Hà Nội - 2005 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com đại học quốc gia hà nội trường đại học công nghệ Phạm Hồng Thái số phương pháp kiểm chứng tính đắn hệ thời gian thực thuật toán Chun ngành : Đảm bảo tốn học cho máy tính hệ thống tính tốn Mã số : 1.01.10 luận án tiến sĩ toán học người hướng dẫn khoa học : TS Đặng Văn Hưng : PGS TS Đinh Mạnh Tuờng Hà Nội - 2005 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mục lục Lời cam đoan iv Lời cảm ơn v Mục lục vi Danh mục từ viết tắt vii Danh mục bảng thuật tốn viii Danh mục hình vẽ ix Tóm tắt nội dung x Kiểm chứng mơ hình hệ thời gian thực 1.1 Đặc tả kiểm tra hệ thống 1.2 Kiểm chứng mơ hình 1.3 Mục đích kết luận án 11 Đặc tả hệ thống tính chất 14 2.1 Mơ hình thời gian 14 2.1.1 Thể đồng hồ ràng buộc thời gian 14 vi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2.1.2 Kỹ thuật phân vùng đồng hồ 15 2.2 Ơtơmat thời gian 17 2.2.1 Cú pháp ngữ nghĩa 17 2.2.2 Đường chạy dáng điệu ôtômat thời gian 19 2.2.3 Hợp song song ôtômat thời gian 20 2.3 Lôgic khoảng 21 2.3.1 Mơ hình Lôgic khoảng 22 2.3.2 Cơng thức khoảng tốn kiểm chứng mơ hình 25 Kiểm chứng mơ hình với kỹ thuật qui hoạch tuyến tính 3.1 Biểu thức quy thời gian tốn qui hoạch tuyến tính 27 29 3.1.1 Biểu thức quy thời gian - TRE 29 3.1.2 Biểu thức TRE hữu hạn 34 3.1.3 Xây dựng tốn qui hoạch tuyến tính 36 3.2 Chuyển TRE hợp TRE hữu hạn 38 3.2.1 Cận thời gian biểu thức TRE 39 3.2.2 Khử phép toán ∗ biểu thức TRE 41 3.2.3 Kiểm chứng tính an tồn hệ chắn tàu 43 3.2.4 Kiểm tra tính rỗng khử ∗ xuất ⊗ 45 3.3 Các cơng trình liên quan nhận xét phương pháp 46 3.3.1 Các cơng trình liên quan 46 3.3.2 Vài nhận xét phương pháp 47 Kỹ thuật rời rạc hoá duyệt đồ thị đạt 50 4.1 Tính rời rạc hố đồ thị vùng nguyên 52 4.1.1 Tập mơ hình DC ôtômat thời gian 53 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.1.2 Khái niệm -nguyên hoá vài tính chất 56 4.1.3 Tính rời rạc hố cơng thức LDP, LDI 60 4.1.4 Đồ thị vùng đạt nguyên 61 4.2 Kiểm chứng công thức LDP 66 4.2.1 Tính tương đương M(A) Muv (A) LDP 66 4.2.2 Đồ thị trọng số G phục vụ kiểm chứng LDP 68 4.2.3 Thuật toán kiểm chứng LDP 70 4.3 Kiểm chứng công thức LDI 72 4.3.1 Quan hệ lớp mơ hình Muv (A) đồ thị đạt RG hướng tới LDI 73 4.3.2 Đồ thị trọng số G phục vụ kiểm chứng LDI 76 4.3.3 Thuật toán kiểm chứng LDI 81 4.3.4 Kiểm chứng tính an tồn hệ chắn tàu rời rạc hoá 84 Kết luận 85 Danh mục cơng trình tác giả 88 Tài liệu tham khảo 89 Phụ lục 95 Phụ lục A Bộ kiểm chứng mơ hình LDP, LDI 95 Phụ lục B Cơng thức kí hiệu 118 Phụ lục C Thuật ngữ Anh - Việt 119 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Danh mục từ viết tắt BDD : Binary Decision Diagram (Sơ đồ biểu diễn nhị phân) CTL : Computational Tree Logic (Lôgic tính tốn) DC : Duration Calculus (Lơgic khoảng) FTA : Finitary Timed Automaton (Ơtơmat thời gian hữu hạn) LDI : Linear Duration Invariant (Bất biến khoảng tuyến tính) LDP : Linear Duration Property (Tính chất khoảng tuyến tính) MC : Model Checking (Kiểm chứng mơ hình) PLTL : Propositional Linear Temporal Logic RTA : Real-Time Automaton (Ơtơmat thời gian thực) RTS : Real-time System (Hệ thời gian thực) SMV : Symbolic Model Verifier (Bộ kiểm chứng mơ hình kí hiệu) TA : Timed Automaton (Ơtơmat thời gian) TCTL : Timed Computational Tree Logic (Lơgic tính tốn thời gian) TDP : Temporal Duration Property (Tính chất khoảng thời gian tuần tự) TL : Temporal Logic (Lôgic thời gian tuần tự) TRE : Timed Regular Expression (Biểu thức quy thời gian) ix LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Danh mục bảng thuật toán 4.1 Thuật toán xây dựng đồ thị đạt nguyên 65 4.2 Thuật toán kiểm chứng tính thoả G LDP 71 4.3 Thuật toán kiểm chứng LDI với đỉnh xuất phát cố định 83 4.4 Thuật toán kiểm chứng LDI tổng quát 83 A.1 Đồ thị vùng đạt nguyên DATA1 104 A.2 Đồ thị trọng số phục vụ kiểm chứng LDP với DATA1 104 A.3 Bảng kết kiểm chứng LDP với DATA1 105 A.4 Đồ thị trọng số phục vụ kiểm chứng LDI với DATA1 106 A.5 Bảng kết kiểm chứng LDI với DATA1 107 A.6 Đồ thị vùng đạt nguyên hệ chắn tàu với a = b = c = 108 A.7 Đồ thị trọng số phục vụ kiểm chứng hệ chắn tàu với a = b = c = 1109 A.8 Bảng kết kiểm chứng hệ chắn tàu 110 x LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Danh mục hình vẽ 1.1 Sơ đồ kiểm chứng mơ hình 2.1 Các vùng với cận đồng hồ cx = 2, cy = 17 2.2 Ơtơmat thời gian 19 2.3 Một mơ hình DC 23 3.1 Hệ chắn tàu 30 3.2 Một dáng điệu hệ chắn tàu 32 4.1 Mơ hình DC ôtômat thời gian 54 4.2 Các lớp mơ hình ơtơmat thời gian A 55 4.3 Một trường hợp nguyên hố mơ hình σ với b = b e = e 60 4.4 Đồ thị vùng đạt nguyên RG 66 4.5 Đồ thị trọng số G phục vụ kiểm chứng LDP 69 4.6 Đồ thị trọng số G từ đồ thị vùng đạt RG 78 4.7 Đường đồ thị trọng số G 79 4.8 Ơtơmat đạt hệ chắn tàu 84 xi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tóm tắt nội dung Với thành cơng đặc tả hình thức, kiểm chứng mơ hình thời gian thực đóng góp nhiều phương pháp, thuật toán, cấu trúc liệu sở cung cấp nhiều cơng cụ kiểm chứng mơ hình cho phép kiểm tra tự động tính đắn hệ thống Tuy nhiên nay, thuật tốn phục vụ kiểm chứng tính chất thời khoảng rời rạc hạn chế, chủ yếu lớp ôtômat thời gian công thức khoảng xét với ngữ nghĩa thu hẹp Từ đó, luận án đặt vấn đề quan sát thiết kế thuật toán kiểm chứng với hệ thống mở rộng tính chất thời khoảng ngữ nghĩa tổng quát Đó lớp hệ thống biểu diễn ôtômat thời gian tính chất khoảng biểu diễn công thức lôgic khoảng công thức khoảng tuyến tính (LDP), bất biến khoảng tuyến tính (LDI) Sau phần tóm tắt q trình phát triển thành tựu lĩnh vực kiểm chứng mơ hình, luận án trình bày phương pháp sử dụng qui hoạch tuyến tính để phục vụ kiểm chứng, hệ thống biểu diễn biểu thức quy theo thời gian (một dạng thể khác ôtômat thời gian) đưa thuật toán kiểm chứng dựa lớp biểu thức quy mở rộng Luận án ưu điểm mặt hạn chế phương pháp qui hoạch tuyến tính, từ đề nghị sử dụng phương pháp duyệt đồ thị vùng đạt được, cách khôi phục lại khoảng cách thời gian (cực tiểu cực đại) phép chuyển Trên sở đồ thị đạt được, tính rời rạc hố cơng thức, đồ thị trọng số xây dựng thuật toán duyệt tiến hành đồ thị Phương pháp tỏ hữu hiệu tiến hành kiểm chứng LDP, cung cấp câu trả lời tính định tính chất LDI xii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương Kiểm chứng mô hình hệ thời gian thực Mục đích phương pháp hình thức giúp tạo khả cho phép xây dựng phát triển hệ thống hoạt động cách đắn, đáng tin cậy Các hệ thống (phần cứng phần mềm) ngày phát triển rộng rãi, toán kiểm tra tính đắn chúng ngày phức tạp Một số trường hợp xảy thực tế chứng tỏ lỗi nhỏ phá huỷ tồn hệ thống gây hậu đáng tiếc an toàn, hao tốn nhiều thời gian, tiền công sức khắc phục Tuy nhiên, cách vài thập kỷ, việc kiểm tra tính đắn hệ thống khó khăn, đặc biệt hệ thống thời gian thực mà việc kiểm tra chúng (một cách chặt chẽ) phát triển khoảng 10 năm trở lại Phần lớn khó khăn kiểm tra đến từ việc chưa có phương pháp quán để mô tả hệ thống, dẫn tới cách hiểu hệ thống cách chung chung, mơ hồ, không tạo tảng để xây dựng kỹ thuật kiểm tra thống từ dẫn tới cách thức kiểm tra không hữu hiệu, thiếu tính thuyết phục Do gần đây, phương pháp hình thức đời phát triển ngày mạnh mẽ, đạt nhiều thành tựu Trên tảng ngơn ngữ đặc tả hệ thống phương pháp, Ví dụ nguyên nhân vụ nổ tên lửa Arian vào ngày tháng năm 1996 xác định lỗi nhỏ phần mềm tính tốn chuyển động tên lửa ([24]) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 106 A.4.2 Kiểm chứng LDI DATA1 Đồ thị vùng đạt nguyên DATA1 cho bảng A.1 Đồ thị trọng số DATA1 phục vụ kiểm chứng LDI (với c1 = 1, c2 = −1) gồm 31 đỉnh 33 cung cho bảng A.4 Trong bảng đỉnh lấy tên số thứ tự từ đến 31 Đường qua đỉnh 1,14,15,16,17,4 có giá lớn (bằng 5) độ dài Do DATA1 không thoả LDI trường hợp A ≤ 5, B ≥ M < thoả trường hợp ngược lại STT 10 11 STT 10 11 Đỉnh 10 11 Cung ( 1, 9) (10, 2) ( 9,10) (10,11) (13, 3) (11,12) (12,13) ( 1,14) (17, 4) (14,15) (15,16) Tr.số -1 -1 -1 -1 -1 1 1 Tr.số 1 1 1 1 1 STT 12 13 14 15 16 17 18 19 20 21 22 STT 12 13 14 15 16 17 18 19 20 21 22 Đỉnh 12 13 14 15 16 17 18 19 20 21 22 Cung (16,17) ( 3,18) (20, 5) (18,19) (19,20) ( 5, 6) ( 5, 7) ( 7,21) (24, 8) (21,22) (22,23) Tr.số 1 1 1 -1 -1 -1 -1 -1 Tr.số 1 1 1 1 1 STT 23 24 25 26 27 28 29 30 31 Đỉnh 23 24 25 26 27 28 29 30 31 Tr.số -1 -1 -1 -1 -1 -1 -1 -1 -1 STT 23 24 25 26 27 28 29 30 31 32 33 Cung (23,24) ( 8, 6) ( 2,25) (27, 5) (25,26) (26,27) ( 2,28) (31, 8) (28,29) (29,30) (30,31) Tr.số 1 1 1 1 1 Bảng A.4: Đồ thị trọng số phục vụ kiểm chứng LDI với DATA1 Bảng A.5 liệt kê kết 20 trường hợp kiểm chứng khác công thức LDI với hệ số c1 c2 lấy liệu bảng kiểm chứng LDP (bảng A.3) hệ số lại A, B, M sinh ngẫu nhiên LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 107 STT 10 11 12 13 14 15 16 17 18 19 20 Hệ số s1 -98 -26 95 -76 -39 61 -47 70 67 99 57 -88 24 -38 -80 -47 -85 -64 37 Hệ số s2 79 29 -8 -37 90 45 -66 44 -68 34 -93 -24 -37 89 -52 92 62 64 62 A 48 51 13 72 18 96 89 22 51 99 1 92 18 36 64 90 74 B 63 74 60 53 11 82 23 74 32 49 62 44 31 75 42 M Kết -87 A khong thoa LDI 95 A thoa LDI 52 A thoa LDI -10 A thoa LDI 83 A thoa LDI 51 A thoa LDI -88 A thoa LDI 99 A thoa LDI 13 A thoa LDI -45 A thoa LDI -51 A thoa LDI 91 A khong thoa LDI 33 A thoa LDI 11 A thoa LDI -66 A thoa LDI 79 A thoa LDI -40 A thoa LDI 49 A khong thoa LDI 95 A thoa LDI -12 A thoa LDI Bảng A.5: Bảng kết kiểm chứng LDI với DATA1 A.4.3 Kiểm chứng hệ chắn tàu Đồ thị vùng đạt nguyên hệ chắn tàu với a = b = c = có 19 đỉnh 35 cung cho bảng A.6 Bảng A.7 minh hoạ đồ thị trọng số với 27 đỉnh 43 cung Các đỉnh đánh số thứ tự từ đến 27 lấy làm tên đỉnh Kết chạy chương trình cho thấy đường có giá âm 0, toán chắn tàu trường hợp đắn (hệ thoả công thức LDI) Các đường có giá lớn (bằng 0) cung có trọng số 0, ví dụ đường 1, 2; 2, 3; 5, Một đường khác qua nhiều đỉnh đường 3, 27, 19, 8, 22, 13, 1, 2, 20 (9 đỉnh) Đường có độ dài giá -2 Bảng A.8 liệt kê kết kiểm chứng 20 trường hợp khác Trong cận ràng buộc a, b, c lấy ngẫu nhiên từ đến 10 Bảng cung cấp số liệu đồ thị kết kiểm chứng: A thoả hay không thoả LDI Các kết phù hợp với lý thuyết (A thoả LDI c ≤ a ngược lại) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 108 STT 10 STT 10 11 12 13 14 15 16 17 18 Đỉnh (A,U)_[0,0] (B,MD)_[0,0] (B,Dn)_[0,0] (B,Dn)_[1,0] (C,MD)_[0,1] (C,MD)_[0,*] (C,Dn)_[0,0] (P,MU)_[0,0] (P,U)_[0,0] (P,U)_[1,0] Cung ( 1, 2) ( 2, 3) ( 2, 4) ( 2, 5) ( 2, 6) ( 5, 7) ( 7, 8) ( 8, 9) ( 8,10) ( 8,11) ( 8,12) ( 8,13) (13, 2) (13, 1) (12, 2) (12, 1) (12,14) (12,15) Trọng số 0 -1 -1 1 0 0 Các cận [0,0] [0,0] [1,1] [1,1] [2,U] [0,0] [0,0] [0,0] [1,1] [2,U] [1,1] [2,U] [0,0] [0,0] [0,0] [0,0] [1,1] [2,U] STT 11 12 13 14 15 16 17 18 19 Đỉnh (P,U)_[*,0] (A,MU)_[0,1] (A,MU)_[0,*] (A,U)_[1,0] (A,U)_[*,0] (A,U)_[0,1] (A,U)_[0,*] (C,Dn)_[0,1] (C,Dn)_[0,*] Trọng số 0 0 0 0 STT 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Cung (15, 2) (14, 2) (11, 1) (10, 1) (10,16) (10,17) (17, 2) (16, 2) ( 9,16) ( 9,17) ( 4, 7) ( 4,18) ( 4,19) (19, 8) (18, 8) ( 3,18) ( 3,19) Các cận [0,0] [0,0] [0,0] [0,0] [1,1] [2,U] [0,0] [0,0] [1,1] [2,U] [0,0] [1,1] [2,U] [0,0] [0,0] [1,1] [2,U] Bảng A.6: Đồ thị vùng đạt nguyên hệ chắn tàu với a = b = c = LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 109 STT STT 10 11 12 13 14 15 Đỉnh Cung (1,2) (2,3) (2,4) (2,5) (2,20) (20,6) (5,7) (7,8) (8,9) (8,10) (8,21) (21,11) (8,12) (8,22) (22,13) Tr số 0 -1 -1 1 0 Tr số 0 1 1 0 1 1 1 STT 10 11 12 13 14 15 16 17 18 STT 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Đỉnh 10 11 12 13 14 15 16 17 18 Cung (13,2) (13,1) (12,2) (12,1) (12,14) (12,23) (23,15) (15,2) (14,2) (11,1) (10,1) (10,16) (10,24) (24,17) (17,2) Tr số 0 0 0 0 Tr số 0 0 1 0 0 1 STT 19 20 21 22 23 24 25 26 27 STT 31 32 33 34 35 36 37 38 39 40 41 42 43 Đỉnh 19 20 21 22 23 24 25 26 27 Cung (16,2) (9,16) (9,25) (25,17) (4,7) (4,18) (4,26) (26,19) (19,8) (18,8) (3,18) (3,27) (27,19) Tr số 0 0 0 -1 -1 Tr số 0 0 1 0 0 1 Bảng A.7: Đồ thị trọng số phục vụ kiểm chứng hệ chắn tàu với a = b = c = LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 110 STT 10 11 12 13 14 15 16 17 18 19 20 a b c |G.V| 52 62 10 37 45 37 9 27 9 61 21 18 64 56 10 10 10 64 61 55 5 39 28 61 23 8 56 51 |G.E| 204 235 98 144 103 58 216 38 31 244 193 233 236 216 103 61 227 54 187 167 |Gi.V| 701 690 315 431 286 200 988 67 52 958 527 1227 886 790 257 182 702 110 749 387 |Gi.E| 853 863 376 530 352 231 1143 84 65 1138 664 1396 1061 951 321 215 868 141 880 503 Kết A thoa LDI A khong thoa A thoa LDI A khong thoa A khong thoa A thoa LDI A khong thoa A thoa LDI A thoa LDI A khong thoa A khong thoa A thoa LDI A khong thoa A khong thoa A thoa LDI A thoa LDI A khong thoa A thoa LDI A khong thoa A khong thoa LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI Bảng A.8: Bảng kết kiểm chứng hệ chắn tàu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 111 A.5 Một số hàm chương trình Trong phần chúng tơi liệt kê mã nguồn số hàm chương trình gồm hàm tạo đồ thị vùng, đồ thị trọng số kiểm chứng công thức LDP, LDI Tạo đồ thị vùng đạt nguyên void Tao_Dothi_Vung(Otomat A, RG &G) // tao thi vung G tu otomat A { int i, d; char tendinhs[20], tens[10]; int sx, sy; // dinh, vt va vung (x,y) cua dinh top char tendinht[20], tent[10]; int tx, ty; // dinh, vt va vung (x,y) cua dinh tiep theo int vt, vts, vtt; // stt cua dinh dau va cuoi A xacdinhK(A); // xac dinh cac hang so K, Kx, Ky G.V = new RGV[100]; G.E = new RGE[500]; ghepten(A.vt[1].ten,0,0,tendinhs); strcpy(G.V[1].ten,tendinhs); // nhap dinh vao tap dinh G.V[1].c = A.vt[1].c; G.V[1].flag = 0; G.n = 1; // so dinh hien tai la G.m = 0; // so cung hien tai la top = 1; // vi tri dinh ngan xep while (top>0) { strcpy(tendinhs,G.V[top].ten); // lay ten, pix, piy dinh top tachten(tendinhs, tens, sx, sy); vts = stt(tens,A); // xac dinh vi tri cua dinh s for (i=1; i=Ky+1) ty = U; // tent_(tx, ty) duoc xem la ten dinh moi cua G ghepten(tent,tx,ty,tendinht); LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 112 // kiem tra dinh moi da duoc sinh hay chua vt=stt(tendinht,G); // vi tri xuat hien cua dinh t V // bo sung dinh neu chua co if (!vt) { G.n++; strcpy(G.V[G.n].ten,tendinht); G.V[G.n].c = A.vt[vtt].c; G.V[G.n].flag = 0; vt=G.n; } // bo sung cung neu chua co if (!stt(top,vt,G)) { G.m++; G.E[G.m].s=top; G.E[G.m].t=vt; if (sx+d