TÓM TẮT LUẬN VĂN Nghiên cứu phương pháp kiểm chứng mô hình phần mềm dựa trên SAT

21 642 0
TÓM TẮT LUẬN VĂN Nghiên cứu phương pháp kiểm chứng mô hình phần mềm dựa trên SAT

Đ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Ệ ĐINH QUANG ĐẠT NGHIÊN CỨU PHƯƠNG PHÁP KIỂM CHỨNG MƠ HÌNH PHẦN MỀM DỰA TRÊN SAT Ngành: Cơng Nghệ Thông Tin Chuyên ngành: Công Nghệ Phần Mềm Mã số: 60 48 10 TÓM TẮT LUẬN VĂN THẠC SĨ Hà Nội - 2013 Lời mở đầu Ngày nay, với tốc độ phát triển nhanh lĩnh vực công nghệ thông tin Việt Nam giới, phần mềm thâm nhập vào hầu hết lĩnh vực đời sống mua bán (mua hàng trực tuyến, ứng dụng kế toán, quản lý, ), lĩnh vực ngân hàng (quản lý tài khoản, giao dịch trực tuyến, ), lĩnh vực giải trí (trò chơi, phim ảnh, ) Với bùng nổ số lượng phần mềm việc đảm bảo chất lượng yêu cầu cấp bách hoàn cảnh Trên giới có nhiều báo, đề tài, cơng trình nghiên cứu kiểm chứng mơ hình, hướng khác kiểm chứng mơ hình hướng nghiên cứu tập trung vào giải vấn đề bùng nổ khơng gian trạng thái kiểm chứng mơ hình ln đề tài mang lại nhiều tranh luận, cảm hứng nghiên cứu Tác giả muốn nghiên cứu vấn đề kiểm chứng mơ hình liên quan tới vấn đề bùng nổ không gian trạng thái kiểm chứng mơ hình với kỹ thuật Bounded Model Checking (BMC) dựa SAT Đồng thời dựa kết nghiên cứu tìm hiểu, tác giả cài đặt thực nghiệm sử dụng kỹ thuật nghiên cứu, tìm hiểu Chương 1: Kiểm chứng mơ hình 1.1 Giới thiệu kiểm chứng mơ hình 1.1.1 Giới thiệu Tầm quan trọng phức tạp hệ thống ICT tăng lên nhanh chóng Các hệ thống ICT khơng cịn độc lập, mà nhúng vào hệ thống lớn, tương tác kết nỗi với thành phần hệ thống khác Do đó, chúng trở nên dễ bị lỗi - số lỗi phát triển theo cấp số nhân số tương tác với thành phần hệ thống Đặc biệt, tính tương tranh tính khơng đơn định mơ hình tương tác hệ thống lại khó xử lý với kỹ thuật chuẩn Độ phức tạp hệ thống ICT ngày tăng với áp lực làm cho thời gian phát triển hệ thống, điều làm cho việc cung cấp hệ thống ICT với khuyết điểm vơ khó khăn phức tạp 1.1.2 Kiểm định phần cứng phần mềm Kiểm định hệ thống sử dụng để xác minh xem hệ thống có đạt đặc tính định Các đặc tính kiểm chứng bản, ví dụ, hệ thống không nên đến trạng thái mà tiến trình khơng thể thực (kịch deadlock), chủ yếu lấy từ đặc tả hệ thống Đặc tả quy định hệ thống phải làm khơng, tạo nên sở cho hoạt động kiểm định Một khuyết điểm tìm thấy hệ thống không đáp ứng thuộc tính đặc tả Hệ thống xem xét "đúng" (correct) hệ thống thỏa mãn tất thuộc tính lấy từ đặc tả hệ thống Vì vậy, tính đắn ln ln tương đặc tả, khơng có thuộc tính tuyết đối hệ thống Một sơ đồ kiểm định mô tả hình Đ c t h th ng (System specification) Thi t k (Design) Thu c tính (Properties ) S n ph m / b n th (Product / Prototype) Tìm th y l i Ki m ch ng (Verification) Khơng tìm th y l i Hình 1: Sơ đồ kiểm định hệ thống 1.1.3 Kiểm chứng mô hình Kiểm chứng mơ hình (Model Checking) kỹ thuật kiểm chứng xem xét tất trạng thái hệ thống theo cách vét cạn Tương tự chương trình chơi cờ máy tính kiểm tra nước có thể, model checker, cơng cụ giúp cho việc kiểm chứng mơ hình, xem xét tất kịch hệ thống xảy theo cách có hệ thống Model checker kiểm tra tất trạng thái có liên quan hệ thống để kiểm tra xem chúng có thỏa mãn với đặc tính mà bạn mong muốn hay khơng Nếu trạng thái gặp phải vi phạm đặc tính xem xét, model checker cung cấp phản ví dụ cho thấy việc làm mà mơ hình tới trạng thái khơng mong muốn Phản ví dụ mơ tả đường dẫn thực thi dẫn tới từ trạng thái khởi tạo hệ thống tới trạng thái vi phạm thuộc tính kiểm chứng Với giúp đỡ mơ phỏng, người sử dụng xem lại kịch vi phạm để có thơng tin gỡ lỗi có ích tích hợp mơ hình phù hợp (xem hình 2) Y uc u (Requirements) H th ng (System) Hình th c hóa (Formalizing) Mơ hình hóa (Modeling) c t thu c tính (Property specification) Đ Vi ph m, ph n ví d (Violated, counterexample) Mơ ph ng (Simulation) L i a ph ng (Location error) đ Th a mãn (satisfied) Mơ hình h th ng (System model) ơư Ki m ch ng mơ hình (Model checking) Hình 2: Sơ đồ tổng quan hướng tiếp cận kiểm chứng mơ hình 1.1.4 Các tiến trình kiểm chứng mơ hình Trong việc áp dụng kiểm chứng mơ hình để thiết kế pha khác sau: • Pha Modeling: – Mơ hình hóa hệ thống xem xét cách sử dụng ngôn ngữ mô tả mơ hình model checker tay – Kiểm tra tính đắn trước tiên đánh giá nhanh mơ hình để thực thi vài mơ – Mơ hình hóa đặc tính để kiểm tra sử dụng ngơn đặc tả thuộc tính 4 • Pha Running: chạy model checker để kiểm tra tính hợp lệ thuộc tính mơ hình hệ thống • Pha Analysis: – Thuộc tính có an tồn hay khơng? → kiểm tra thuộc tính (nếu có thể); – Thuộc tính có vi phạm hay khơng? → ∗ Phân tích phản ví du sinh từ mơ ∗ Làm mịn mơ hình, thiết kế, thuộc tính ∗ Lặp lại tồn thủ tục – Thoát khỏi nhớ? → Cố gắng làm giảm mơ hình thử lại 1.1.5 Mặt mạnh mặt yếu kiểm chứng mơ hình Mặt mạnh kiểm chứng mơ hình: • Áp dụng với phạm vi rộng lớn ứng dụng hệ thống nhúng, công nghệ phần mềm thiết kế phần cứng • Cho phép tập trung vào đặc tính quan trọng trước tiên Khơng có đặc tả u cầu trọn vẹn cần thiết • Tìm lỗi khó bị phát • Cung cấp chuẩn đốn thơng tin trường hợp thuộc tính khơng có giá trị • Được quan tâm, thu hút tăng lên nhanh chóng ngành cơng nghiệp; • Dễ dàng tích hợp vịng đời phát triển có; • Dựa tảng toán học vững chắc; Mặt yếu kiểm chứng mơ hình: • Chưa phù hợp với ứng dụng chuyên sở liệu 5 • Tính tốn khơng hiệu hệ thống vô hạn trạng thái luận lý kiểu liệu trừu tượng • Khơng kiểm chứng hệ thống thực • Kiểm tra trạng thái yêu cầu Khơng có đảm bảo kiểm tra hết trạng thái • Vướng phải vấn đề bùng nổ khơng gian trạng thái • Địi hỏi phải có số chuyên gia việc trừu tượng hóa hệ thống để có mơ hình hệ thống nhỏ với thuộc tính trạng thái • Khơng đảm bảo mang lại kết xác • Khơng cho phép kiểm tra cách tổng quát 1.2 Các kiến thức tảng 1.2.1 Hệ thống dịch chuyển Hệ thống dịch chuyển thường sử dụng khoa học máy tính mơ hình mơ tả hành vi hệ thống Hệ thống dịch chuyển đồ có hướng với nút thể trạng thái, cạnh mơ hình cho chuyển dịch Định nghĩa 1.1 Hệ thống dịch chuyển(Transition Systems) Một hệ thống dịch chuyển TS (S , Act, −→, I, AP, L) với • S tập hợp trạng thái, • Act tập hợp hnh ng, ã S ì Act ì S l quan hệ dịch chuyển, • I ⊆ S tập hợp trạng thái khởi tạo, • AP tập hợp mệnh đề nguyên tử, • L : S −→ 2AP nhãn hàm 6 T S gọi hữu hạn S , Act, AP hữu hạn 1.2.2 Logic thời gian Đối với hệ thống phản ứng (reactive systems), tính đắn phụ thuộc vào thực thi hệ thống, không đầu vào đầu việc tính tốn mà cịn vấn đề cơng (fairness) Logic thời gian hình thức vượt trội để xử lý vấn đề Logic thời gian mở rộng logic mệnh đề logic tân từ cách cho phép chuyển tới hành vi vô hạn hệ thống phản ứng Chúng cung cấp ký hiệu cách trực quan có tảng tốn học xác để diễn tả tính chất mối quan hệ nhãn trạng thái thưc thi Các hình thức thời gian thể phần lớn logic thời gian bao gồm hai tốn hạng: ♢(hay cịn ký hiệu F): cuối tương lai (hay ký hiệu G): sau tương lai 1.2.2 Logic thời gian tuyến tính (LTL) Lý luận logic thời gian tuyến tính qua dấu vết tuyến tính theo thời gian Ở thời điểm, có lịch trình tương lai thực xảy Thơng thường, lịch trình định nghĩa bắt đầu “hiện tại” (now), bước thời gian hành, tiến triển vô hạn tương lai Định nghĩa 1.2 Công thức mệnh đề LTL Những công thức mệnh đề logic thời gian PTL thời gian tuyến tính định nghĩa quy nạp sau: - Mọi mệnh đề v ∈ V công thức - Hợp hai mệnh đề mệnh đề - Nếu φ ψ cơng thức Xφ φUψ cơng thức Định nghĩa 1.3 Quan hệ nắm giữ LTL Quan hệ σ |= φ (σ nắm giữ φ) định nghĩa quy nạp sau: - σ |= v (với v ∈ V) v ∈ σ0 (V) 7 - Ngữ nghĩa phép hợp định nghĩa bình thường - σ |= Xφ σ1 |= φ - σ |= φU với số k ≥ 0, σ|k |= ψ σ| j |= φ nắm giữ với ≤ j ≤ k Những công thức PTL hữu ích khác đưa từ viết tắt: Fφ (“cuối φ”) định nghĩa true U φ; khẳng định φ nắm giữ vài hậu tố Công thức kép Gφ ≡ ¬F¬φ (“ln ln” φ) u cầu φ nắm giữ tất hậu tố Công thức φWψ (“φ chờ đợi ψ”,“φ trừ ψ”) định nghĩa (φUψ) ∨ Gφ yêu cầu φ nắm giữ ψ không nắm giữ; không giống φUψ, khơng u cầu ψ trở thành sau 1.2.3 Logic tính tốn CTL Các cơng thức PTL khẳng định thuộc tính hành vi đơn lẻ, chúng quan tâm đến giá trị hệ thống: nói cơng thức φ nắm giữ T (viết T |= φ) φ nắm giữ tất hoạt động T Theo nghĩa này, công thức PTL biểu thị tính chất đắn hệ thống Sự diện hoạt động thỏa mãn thuộc tính định khơng thể biểu thị PTL Các thuộc tính có khả thuộc logic thời gian phân nhánh logic CTL Trong mơ hình thời gian nhánh, thời điểm t có nhiều khả tương lai Với khả tương lai tương ứng đường tổ chức từ t Do đó, đường biểu diễn khả xảy tương lai Các toán tử thường biểu thị “A” nghĩa với khả tương lai diễn tả ln ln, chắn “E” nghĩa tồn khả tương lai diễn tả có thể, khơng chắn Định nghĩa 1.4 Cơng thức mệnh đề CTL Các công thức mệnh đề CTL định nghĩa quy nạp sau: - Mọi mệnh đề nguyên tử v ∈ V công thức - Hợp hai mệnh đề mệnh đề 8 - Nếu φ ψ công thức EXφ, EGφ, φEUψ cơng thức Định nghĩa 1.5 Quan hệ nắm giữ CTL Quan hệ T , s |= φ định nghĩa theo quy nạp sau: - T , s |= v (với v ∈ V) v ∈ s(V) - Ngữ nghĩa phép hợp định nghĩa bình thường - T , s |= EXφ tồn s-path s0 s1 cho T , s1 |= φ - T , s |= EGφ có s-path s0 s1 cho T , si |= φ nắm giữ với i - T , s |= φEUψ tồn s-path s0 s1 k ≥ cho T , sk |= ψ T , si |= φ nắm giữ với ≤ j < k Các công thức CTL suy gồm có EFφ ≡ true EU φ, AXφ ≡ ¬EX¬φ, AGφ ≡ ¬EFφ Những biểu diễn CTL PTL so sánh cách phân tích thuộc tính hệ thống dịch chuyển xây dựng Nó rằng, khơng thể xếp gộp logic vào Trong PTL đủ khả để thể các tính chất khả năng, tính cơng khơng thể trình bày CTL Cụ thể hơn, khơng có cơng thức CTL làm cho hệ thống hợp lệ với trường hợp cơng thức PTL FGφ Đặc biệt, khơng có tương ứng với AFAGφ(xem hình 3): hoạt động hệ thống dịch chuyển T thỏa mãn FGp (hoặc trạng thái s0 mãi kết thúc trạng thái s2 ), T , s0 ̸|= AFAGp (với hoạt động trạng thái s0 ln ln có khả chuyển tới trạng thái s1 ) S0 S1 p S2 ¬p p Hình 3: Một hệ thống dịch chuyển T mà T |= FGp T ̸|= AFAGp Chương 2: Vấn đề bùng nổ trạng thái giải hướng cổ điển 2.1 Vấn đề bùng nổ không gian trạng thái kiếm chứng mơ hình Số lượng trạng thái mơ hình to lớn Một ví dụ, xem xét hệ thống gồm n tiến trình, tiến trình có m trạng thái Do đó, hợp thành khơng đồng tiến trình có mn trạng thái Tương tự vậy, n − bit đếm, số lượng trạng thái đếm hàm mũ số lượng bit, nghĩa có 2n Trong kiểm chứng mơ hình vấn đề biết vấn đề bùng nổ trạng thái Tất công cụ kiểm chứng gặp phải vấn đề này, điều tránh khỏi Tuy nhiên, có nhiều kỹ thuật đươc đua để giải vấn đề bùng nổ trạng thái Những kỹ thuật thường xuyên sử dụng ứng dụng công nghiệp kiểm chứng mơ hình Đã có nhiều tiến quan trọng việc giải vấn đề bùng nổ trạng thái Một tiến quan trọng sử dụng kiểm chứng mơ hình biểu trưng (symbolic model checking) với lược đồ định nhị phân (BDD) Trong hướng tiếp cận này, tập hợp trạng thái biểu diễn BDD thay biểu diễn danh sách trạng thái riêng lẻ Biểu diễn BDD thường theo hàm mũ nhỏ thực tiễn Kiểm chứng mơ hình với BDD thực thi sử dụng thuật toán điểm cố định (fixed point) Một hướng khác áp dụng nhiều ngành công nghiệp kiểm chứng mơ hình giới hạn (bounded model checking) khai thác giải công cụ SAT (SAT Solver) để tìm kiếm phản ví dụ độ dài giới hạn Luận văn nêu tìm hiểu kiểm chứng mơ hình biểu trưng với BDD tập trung vào kiểm chứng mơ hình giới hạn dựa SAT 2.2 Cách giải theo hướng tiếp cận cổ điển với BDD Ý tưởng kiểm chứng mơ hình tượng trưng thể thao tác với hệ thống hữu hạn chuyển trạng thái hàm Boolean Cụ thể, lược đồ định nhị phân xếp (OBDDs) dạng tắc công thức Boolean OBDDs chất cô đọng so với dạng chuẩn truyền thống, OBDDs thao tác hiệu Xem xét công thức Boolean qua n biến x1 , x2 , , xn Một lược đồ định nhị phân (BDD) đồ thị có hướng khơng có vịng có gốc với hai loại đỉnh đỉnh kết thúc đỉnh không kết thúc Mỗi 10 đỉnh không kết thúc v gán nhãn biến var(v) có hai phần tử kế tiếp, low(v) high(v) Mỗi đỉnh kết thúc v gán nhãn qua hàm Boolean value(v) Một BDD với gốc v xác định hàm Boolean fv (x1 , , xn ) theo cách sau: • Nếu v đỉnh kết thúc fv (x1 , , xn ) = value(v) • Nếu v đỉnh khơng kết thúc với var(v) = xi fv (x1 , , xn ) cho ( ) ( ) ¬xi ∧ flow(v) (x1 , , xn ) ∨ xi ∧ fhigh(v) (x1 , , xn ) OBDD biểu diễn tắc hàm Boolean Điều giúp đơn giản hóa tác vụ kiểm tra hai cơng thức có tương với khơng định xem cơng thức có thỏa mãn hay khơng Biễu diễn phải đảm bảo hai hàm Boolean tương đương cách logic hai hàm Boolean có biểu diễn đẳng cấu Hai lược đồ định nhị phân đẳng cấu tồn song ánh H hai đồ thị cho: • Các nút ánh xạ tới nút lá, đỉnh ánh xạ tới đỉnh • Với nút v, value(v) = value(H(v)) • Với đỉnh v: • var(v) = var(H(v)) • H(low(v)) = low(H(v)) • H(high(v)) = high(H(v)) Các Biểu đồ chuyển trạng thái thể với BDD sau Trước tiên, phải thể trạng thái n biến trạng thái Boolean v = (v1 , v2 , , ) Sau đó, thể quan hệ chuyển R công thức Boolean trạng thái biến Biểu diễn tắc hàm Boolean đạt cách thay hai hạn chế định nhị phân: 11 • Các biến xuất thứ tự theo đường từ gốc tới (Viết x < y biểu diễn x trước y xếp này) • Khơng có đẳng cấu đỉnh dư thừa lược đồ Kích cỡ BDD phụ thuộc vào lựa chon xếp biến Ví dụ, BDD thể cho so sanh n-bit tuyến tính với xếp tốt, theo hàm mũ với xếp tồi Biểu đồ chuyển trạng thái thể với BDD sau Trước tiên, thể trạng thái theo n biến Boolean v = (v1 , , ) Sau đó, thể quan hệ chuyển R công thức Boolean theo biến trạng thái: fR (v1 , , , v′ , , v′ ) = R(v1 , , , v′ , , v′ ) n n 1 với v1 , , thể trạng thái v′ , , v′ thể trạng thái n Cuối cùng, chuyển fR thành BDD Thủ tục T oBDD lấy đầu vào công thức CTL f (v) trả BDD thể xác trang thái hệ thống thỏa mãn công thức CTL Các phép toán thời gian xử lý sau: • T oBDD(EX f (v)) = T oBDD(∃v′ fR (v, v′ ) ∧ f (v′ )) • T oBDD(EF f (v)) = L f p(λZ.T oBDD( f (v) ∨ EXZ)) • T oBDD(E[ f (v)∪g(v)]) = L f p(λZ.T oBDD(g(v)∨( f (v)∧EXZ))) Nếu f (v) có dạng ∃vi g, T oBDD( f (v)) = T oBDD(g|vi ←0 ∨ g|vi ←1 ) Cuối cùng, để xem công thức f (v) true tập trạng thái khởi tạo I(v), kiểm tra xem liệu công thức I(v) ⇒ f (v) có nắm giữ hay khơng Cách giải vấn đề bùng nổ không gian trạng thái cách sử dụng kiểm chứng mơ hình tượng trưng với BDD áp dụng từ lâu khơng cịn áp dụng nhiều ngun nhân, hạn chế sau: • BDD phải lưu giữ trạng thái, nên thường xuyên trở nên lớn với hệ thống lớn • Việc chọn cách xếp biến quan trọng cho việc thu BDD nhỏ, thường tốn thời gian phải làm thủ công, đôi khi, không tồn cách xếp biến hiệu quả, 12 Chương 3: Kiểm chứng mô hình giới hạn dựa SAT Kiểm chứng mơ hình giới hạn (BMC) phương pháp sử dụng công cụ kiểm chứng dùng ngành công nghiệp Cho hệ thống dịch chuyển trạng thái hữu hạn, thuộc tính logic thời gian, giới hạn k, BMC sinh công thức mệnh đề thỏa mãn thuộc tính bị bác bỏ phản ví dụ độ dài k Công thức mệnh đề dẫn tới giải SAT (Boolean satisfiability) Nếu khơng có phản ví dụ độ dài k tìm thấy, tăng giới hạn k tìm xem có thấy phản ví dụ khơng Với thuộc tính thỏa mãn (nghĩa kiểm tra xem tới trạng thái xấu hay khơng), cần kiểm tra phản ví dụ với độ dài nhỏ “diameter” hệ thống ( số dịch chuyển nhỏ để tới tất trạng thái hệ thống) Hơn nữa, BMC sử dụng để bắt lỗi (hơn kiểm chứng đầy đủ) đơn giản cần chạy với độ dài phản ví dụ cho với thời gian cho trước BMC có nhiều tiến so với kiểm chứng mơ hình biểu trưng với BDD: BMC tìm phản ví dụ nhanh so với hướng tiếp cận dựa BDD BMC tìm phản ví dụ độ dài tối thiểu BMC sử dụng nhớ nhiều so với hướng tiếp cận dựa BDD BMC không yêu cầu người dùng chọn lựa xếp biến không cần thực lại việc xếp Trong BMC, trạng thái mơ hình thể vectơ Boolean Hệ thống chuyển dịch mã hóa sau: • Tập hợp trạng thái khởi tạo quy định công thức mệnh đề I(s), I(s) true s trạng thái khởi tạo • Quan hệ dịch chuyển quy định công thức mệnh đề R(s, s′ ),R(s, s′ ) true tồn dịch chuyển từ s sang s′ 13 • Mỗi mệnh đề ngun tử p, có cơng thức mệnh đề p(s), p(s) true p true trạng thái s Định nghĩa 3.1 Đường dẫn tiến tố hợp lệ Một dãy trạng thái (s0 , , sk ) đường dẫn tiền tố hợp lệ khi: • I(s0 ) true (s0 trạng thái khởi tạo) ∧ • k−1 R(si , si+1 ) true (với i < k tồn dịch chuyển i=0 si → si+1 ) Sau đây, mô tả BMC cho thuộc tính an tồn LTL dạng G(p), vơi p mệnh đề nguyên tử 3.1 Các thuộc tính an tồn Thuộc tính Gp khẳng định p true tất trạng thái tới Chúng ta đạng mong muốn xác định xem có tồn phản ví dụ có chiều dài khơng lớn giới hạn cố định k Nói cách khác, mong muốn xác định xem liệu có tồn đường dẫn tiền tố hợp lệ (s0 , , sk ) p khơng đạt vài trạng thái si , với i ≤ k Do vậy, dãy (s0 , , sk ) phản ví dụ cho Gp công thức sau thỏa mãn: I(s0 ) ∧ k−1 ∧ R(si , si+1 ) i=0 đường dẫn tiền tố hợp lệ (s0 , ,sk ) ∧ k ∨ ¬p(si ) (1) i=0 p không đạt (s0 , ,sk ) Trong thực tế, cơng thức (1) lớn, việc sử dụng giải công cụ SAT vào BMC hiệu quả, SAT xử lý công thức với hàng triệu mệnh đề 3.2 Giải công cụ SAT Boolean satisfiability (SAT) vấn đề quan trọng khoa học máy tính SAT tốn định xem có tồn thể thỏa mãn với cơng thức Boolean cho Nói cách khác, biến công thức Boolean gán giá trị làm cho cơng 14 thức có giá trị true Quan trọng khơng xác định khơng có phép gán tồn Tức với tất các phép gán biến cho kết false Trường hợp thứ hai, ta nói hàm khơng thỏa mãn Ví dụ cơng thức a ∧ b thỏa mãn tồn phép gán a = T rue b = T rue để công thức a ∧ b = T rue Hầu hết giải cơng cụ SAT dựa thuật tốn DPLL (Davis Putnam Logemann Loveland) Thuật tốn DPLL dựa tìm kiếm theo chiều sâu phép gán chân lý cục với ba cải tiến bổ xung Sự giải thích cho ba cải tiến cho cơng thức CNF sau: • Kết thúc sớm: Một mệnh đề true có literal Một mệnh đề false tất các literal sai • Xóa bỏ pure literal: pure literal literal có cung dấu tất mệnh đề Ví dụ (A∨¬B), (¬B∨¬C), (A∨C), A, B pure literal, C pure literal Các pure literal gán giá trị true Do đó, mệnh đề pure literal xóa bỏ • Lan truyền đơn vị: Mệnh đề đơn vị chứa literal Ví dụ B = true (¬B ∨ ¬C) rút gon thành ¬C C phải gán giá trị false Nói chung, tất literal false trừ literal, literal phải true 3.3 Xác định giới hạn Sử dụng hai phương pháp để xác định độ dài phản ví dụ kiểm chứng thuộc tính an tồn Gp Lấy d diameter hệ thống, tức số bước nhỏ để tới tất trạng thái Ngoài ra, d số nhỏ mà thỏa mãn: với trạng thái s, tồn đường dẫn tiền tố hợp lệ chứa s(tức tới s), tồn đường dẫn tiền tố hợp lệ độ dài tối đa d chứa s Rõ ràng, thuộc tính p nắm giữ tất đường dẫn tiền tố hợp lệ độ dài k, với k ≥ d, p nắm giữ tất trạng thái tới Vì vậy, cần xem xét phản ví dụ độ dài d Nhứng việc tìm d tốn khó Cho giới hạn k, định xem liệu k ≥ d việc giải công thức định lương Boolean(quantified Boolean formula) 15 Cụ thể, trạng thái tới k + bước tới k bước, k ≥ d Lấy reach=n reach≤n vị từ định nghĩa thông qua không gian trạng thái S sau: reach=n (s) = ∃s0 , , sn I(s0 ) ∧ n−1 ∧ R(si , si+1 ) ∧ s = sn i=0 reach≤n (s) = ∃s0 , , sn I(s0 ) ∧ n−1 ∧ n ∨ R(si , si+1 ) ∧ ( s = si ) i=0 i=0 Vị từ reach=n (s) nắm giữ s tới xác n dịch chuyển, reach≤n nắm giữ s tới trọng khơng q n dịch chuyển Từ đó, k ≥ d khi: ∀s ∈ S reach=k+1 (s) ⇒ reach≤k (s) (2) Phương pháp giới hạn phản ví dụ độ dài hạn chế giá trị khó khăn việc giải cơng thức Có cách khác sử dụng BMC để chứng minh thuộc tính (nghĩa khơng đơn cho tìm kiếm lỗi) theo quy nạp k bước(k-induction) Để chứng minh thuộc tính Gp theo quy nạp k bước, điều cần thiết tìm bất biến q cho: q(s) ⇒ p(s), ∀s ∈ S Với đường dẫn tiền tố hợp lệ (s0 , , sk ), q(s0 ) ∧ ∧ q(sk ) nắm giữ true ∧ Với dãy trạng thái (s0 , , sk ), k R(si , si+1 ) nắm giữ i=0 tru sau (q(s0 ) ∧ ∧ q(sk )) ⇒ q(sk+1 ) nắm giữ true 3.2 BMC cho thuộc tính LTL Một phản ví dụ cho Fp đường dẫn vô hạn Để sử dụng đường dẫn tiền tố hữu hạn để thể đường dẫn vô hạn, xem xét tiềm quay lui từ trạng thái cuối đường dẫn tiền tố hữu hạn tới trạng thái trước đây, minh họa hình , đường dẫn tiền tố hợp lệ (s0 , , sl , , sk ) có quay lui từ k tới l quan hệ dịch chuyển R chứa cặp (sk , sl ) 16 sl sk Hình 4: Một đường dẫn dạng lasso Công thức LTL false phủ định true Do đó, việc tìm phản ví dụ cơng thức LTL f tương đương với với việc tìm chứng cho phủ định f Đây hướng tiếp cập BMC cho công thức LTL Với hệ dịch chuyển trạng thái M, công thức LTL f , giới hạn k, xây dựng công thức mệnh đề M, f k nắm giữ true tồn đường dẫn tiền tố (s0 , , sk ) mà f nắm giữ true Giả sử tất phủ định f đưa vào bên để phủ định xảy trước mệnh đề nguyên tử Trước tiên, định nghĩa công thức mệnh đề M k chứa (s0 , , sk ) đường dẫn tiền tố hợp lệ: M k = I(s0 ) ∧ k−1 ∧ R(si , si+1 ) i=0 Xem xét hai trường hợp sau Trường hợp chuỗi (s0 , , sk ) khơng có quay lui: Với giới hạn k chuỗi hữu hạn vô hạn π k trạng thái (s0 , , sk ), công thức LTL f nắm giữ true theo π với giới hạn k π |=0 true, với π |=i định nghĩa cách quy k k nạp sau với i ∈ {0, , k}: π |=i p mệnh đề nguyên tử p true trạng thái si k π |=i ¬p mệnh đề nguyên tử p false trạng thái k si π |=i f ∨ g π |=i f π |=i g k k k π |=i f ∧ g π |=i f π |=i g k k k 17 π |=i X f i < k (π |=i+1 f ) k k π |=i F f π |=i f ∨ XF f k k π |=i G f π |= f ∧ XG f k π |=i f Ug π |=i g ∨ ( f ∧ X[ f Ug]) k k Dễ dàng thấy π |=0 f có nghĩa π |= f với đường dẫn vô k hạn π công thức LTL f Cho giới hạn k, công thức LTL f , đường dẫn tiền tố hợp lệ (s0 , , sk ), xây dựng công thức mệnh đề f true π |=0 f sau: k k p i k ¬p := p(si ) với p mệnh đề nguyên tử i k := ¬p(si ) với p mệnh đề nguyên tử f ∨g i k f ∧g i k := f ∨ g i k Xf i k := f i ∧ g i k k { f i+1 i < k k := False ngược lại Ff i k := f i k ∨ XF f i k Gf i k := f i k ∧ XG f i k i k i k f Ug := g i k ∨( f i k ∧ X( f Ug) i ) k Với trường hợp có quay lui, xét đường dẫn tiền tố (s0 , , sk ) với quay lui từ k tới l Xác định đường dẫn vô hạn lasso π hình : π = (s0 , , sl−1 , sl, , sk , ) Xây dựng công thức mệnh đề l f k nắm giữ f nắm giữ π(trong ngữ nghĩa thông thường LTL) sau: i k l p := p(si ) với p mệnh đề nguyên tử l ¬p l f ∨g i k := ¬p(si ) với p mệnh đề nguyên tử i k := l f i k ∨l g i k 18 l := l f i ∧ l k { f i+1 X f i := l k l k l f k ∧ G f i := k j=min(i,l) l k l Ff l f UG l l f ∧g i k i k := i k ∨k := j=min(i,l) l ∨k ( j=i l g i k i

Ngày đăng: 13/04/2015, 16:32

Từ khóa liên quan

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

Tài liệu liên quan