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

12 275 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ố : 60 48 01 03 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 LỜI CẢM ƠN Trước tiên xin bày tỏ lòng biết ơn sâu sắc tới TS Đặng Văn Hưng , giảng viên Bộ môn Công nghệ phầ n mề m - Khoa Công nghệ thông tin - Trường Đa ̣i ho ̣c Công nghệ - ĐHQGHN.Trong thời gian ho ̣c làm luận văn tố t nghiệp, thầ y dành nhiề u thời gian quý báu t ận tình chỉ bảo , hướng dẫn việc nghiên cứu, thực luận văn Tôi xin đươ ̣c cảm ơn GS , TS giảng da ̣y trình ho ̣c t ập làm luận văn Các thầ y cô giúp hiể u thấ u đáo hơn liñ h vực mà nghiên cứu để có thể vận du ̣ng những kiế n thức vào công tác của Xin cảm ơn ba ̣n bè , đồ ng nghiệp công ty ta ̣o mo ̣i điề u ki ện tố t nhấ t cho suố t trình ho ̣c t ập nghiên cứu để hoàn thành tố t bản luận văn tố t nghiệp Hà nội, tháng 11 năm 2015 Học viên thực Nguyễn Khắc Chung LỜI CAM ĐOAN Tôi xin cam đoan rằ ng , kế t quả nghiên cứu của có sự giúp đỡ rấ t lớn của thầ y hướng dẫn Các nội dung nghiên cứu kế t quả đề tài hoàn toàn trung thực Trong luận văn, có tham khảo đế n số tài liệu của số tác giả đư ơ ̣c liệt kê ta ̣i phầ n tài liệu tham khảo ở cuố i luận văn Hà nội, tháng 11 năm 2015 Học viên thực Nguyễn Khắc Chung MỤC LỤC LỜI CẢM ƠN Chương GIỚI THIỆU Chương TỔNG QUAN VỀ KIỂM DUYỆT MÔ HÌNH Error! Bookmark not defined 2.1 Kiểm duyệt mô hình (model checking) Error! Bookmark not defined 2.1.1 Định nghĩa kiểm duyệt mô hình Error! Bookmark not defined 2.1.2 Quá trình chung cho việc kiểm duyệt mô hình Error! Bookmark not defined 2.1.2.1 Giai đoạn mô hình hóa Error! Bookmark not defined 2.1.2.2 Giai đoạn thực thi Error! Bookmark not defined 2.1.2.3 Giai đoạn phân tích Error! Bookmark not defined 2.1.3 Ưu điểm, nhược điểm kiểm duyệt mô hình Error! Bookmark not defined 2.1.3.1 Ưu điểm Error! Bookmark not defined 2.1.3.2 Nhược điểm Error! Bookmark not defined 2.1.4 Các bước để kiểm duyệt mô hình Error! Bookmark not defined 2.2 Mô hình hóa hệ thống Error! Bookmark not defined 2.2.1 Hệ thống chuyển đổi Error! Bookmark not defined 2.2.1.1 Định nghĩa hệ thống chuyển đổi (transition system) Error! Bookmark not defined 2.2.1.2 Thực thi (run) Error! Bookmark not defined 2.2.2 Mô hình hóa hệ thống song song giao tiếp Error! Bookmark not defined 2.2.2.1 Đồng thời đan xen (Concurrency and Interleaving) Error! Bookmark not defined 2.2.2.2 Giao tiếp thông qua biến dùng chung Error! Bookmark not defined 2.2.2.3 Bắt tay (handshaking) Error! Bookmark not defined 2.2.2.4 Hệ thống kênh truyền (Channel System) Error! Bookmark not defined 2.3 Đặc tả tính chất hệ thống Error! Bookmark not defined 2.3.1 Tính an toàn (safety property) Error! Bookmark not defined 4 2.3.1.1 Khóa chết Error! Bookmark not defined 2.3.1.2 Bất biến (invariant) Error! Bookmark not defined 2.3.2 Tính sống (liveness property) Error! Bookmark not defined 2.4 Kiểm duyệt mô hình hệ thống thời gian thực (model checking real-time system) Error! Bookmark not defined 2.4.1 Hệ thống thời gian rời rạc (Discrete-time System) Error! Bookmark not defined 2.4.2 Hệ thống thời gian dày đặc (Dense-time system) Error! Bookmark not defined 2.5 Logic Thời gian tuyến tính (Linear Temporal Logic) Error! Bookmark not defined 2.5.1 Logic thời gian tuyến tính Error! Bookmark not defined 2.5.1.1 Cú pháp (Syntax) Error! Bookmark not defined 2.5.1.2 Ngữ nghĩa (Semantic) Error! Bookmark not defined 2.5.2 Kiểm duyệt mô hình logic thời gian tuyến tính dựa otomat Error! Bookmark not defined Chương TỔNG QUAN VỀ CÔNG CỤ KIỂM CHỨNG MÔ HÌNH SAL (Symbolic Analysis Laboratory) Error! Bookmark not defined 3.1 Giới thiệu Error! Bookmark not defined 3.1.1 Môi trường SAL Error! Bookmark not defined 3.1.2 Bộ mô phỏng (Simulator) Error! Bookmark not defined 3.1.3 Bộ tìm kiếm đường (path finder) Error! Bookmark not defined 3.1.4 Ngôn ngữ đặc tả tính chất (Property Specification Language) SAL Error! Bookmark not defined 3.1.4.1 Bộ kiểm tra mô hình biểu tượng (symbolic model checker) Error! Bookmark not defined 3.1.4.2 Bộ kiểm tra mô hình chặn (bounded model checker) Error! Bookmark not defined 3.2 Ngôn ngữ diễn đạt (Expression Language) Error! Bookmark not defined 3.2.1 Kiểu (Type) Error! Bookmark not defined 3.2.1.1 Kiểu liệu cơ Error! Bookmark not defined 3.2.1.2 Dữ liệu kiểu cấu trúc Error! Bookmark not defined 5 3.2.2 Biể u thức (Expression) Error! Bookmark not defined 3.3 Ngôn ngữ chuyển đổi (The Transition Language) Error! Bookmark not defined 3.3.1 Định nghĩa (Definition) Error! Bookmark not defined 3.3.2 Câu lệnh bảo vệ (Guarded Command) Error! Bookmark not defined 3.3.3 Ngôn ngữ mô đun (The Module Language) Error! Bookmark not defined 3.3.3.1 Mô đun cơ sở (Base Module) Error! Bookmark not defined 3.3.3.2 Thao tác biến biến trạng thái Error! Bookmark not defined 3.3.3.3 Thành phần mô đun Error! Bookmark not defined 3.3.3.4 Khai báo mô đun Error! Bookmark not defined 3.4 Đặc trưng SAL Error! Bookmark not defined Chương ỨNG DỤNG Error! Bookmark not defined 4.1 Bài toán hệ thống công tắc đèn Error! Bookmark not defined 4.1.1 Mô tả toán Error! Bookmark not defined 4.1.2 Mô hình kiểm duyệt hệ thống công tác đèn SAL Error! Bookmark not defined 4.1.2.1 Mô hình hóa Error! Bookmark not defined 4.1.2.2 Kiểm duyệt tính chất Error! Bookmark not defined 4.2 Bài toán hệ thống thang máy đơn giản Error! Bookmark not defined 4.2.1 Mô tả toán Error! Bookmark not defined 4.2.2 Mô hình kiểm duyệt hệ thống thang máy SAL Error! Bookmark not defined 4.2.2.1 Mô hình hóa Error! Bookmark not defined 4.2.2.2 Kiểm duyệt tính chất Error! Bookmark not defined Chương KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO PHỤ LỤC Error! Bookmark not defined 6 DANH MỤC HÌNH VẼ Hình 2-1: Tổng quan kiểm duyệt mô hình Error! Bookmark not defined Hình 2-2: Máy bán đồ uống tự động Error! Bookmark not defined Hình 2-3: Ví dụ mô tả interleaving đèn giao thông Error! Bookmark not defined Hình 2-4: Ví dụ mô tả biến dùng chung Error! Bookmark not defined Hình 2-5: Ngữ nghĩa phương thức thời gian Error! Bookmark not defined Hình 2-6: Ví dụ logic thời gian tuyến tính Error! Bookmark not defined Hình 2-7: Tổng quan kiểm duyệt mô hình logic thời gian tuyến tính Error! Bookmark not defined Hình 3-1: Ví dụ SAL simulator Error! Bookmark not defined Hình 3-2: Ví dụ sal path finder Error! Bookmark not defined Hình 3-3: Ví dụ kiểm chứng tính chất sử dụng sal-smc Error! Bookmark not defined Hình 3-4: Ví dụ sử dụng bounded model checker Error! Bookmark not defined Hình 3-5: Cấu trúc mô đun Error! Bookmark not defined Hình 4-1: Mô hình hệ thống công tác đèn Error! Bookmark not defined Hình 4-2: Mô hình cửa thang máy Error! Bookmark not defined Hình 4-3: Mô hình thang máy Error! Bookmark not defined 8 BẢNG CÁC CHỮ VIẾT TẮT Viết tắt TS M S Act PG NBA BDD SAT SMC SAL BMC GNBA Tên đầy đủ Transition system Model State Action Program graph Nondeterministic Buchi Automaton Binary Decision Diagram Boolean satisfiability Symbolic model checker Symbolic Analysis Laboratory Bounded model checker Generalized Nondeterministic Buchi Automaton Chƣơng GIỚI THIỆU Ngày nay, sự phát triển hệ thống kỹ thuật thông tin truyền thông ngày nhiều đa dạng Các hệ thống ngày trở nên phức tạp sâu vào sống hàng ngày chẳng hạn như máy tính xách tay, điện thoại di động, loại tivi cao cấp đồ dùng ngày như máy giặt, lò vi sóng Vì thế, sự phụ thuộc ngày tăng chặt chẽ hơn vào hệ thống thông tin làm cho độ tin cậy hệ thống ngày yêu cầu cao Để xây dựng phần mềm có chất lượng cao cần tuân thủ việc đảm bảo chất lượng phần mềm Trong việc đảm bảo tính đắn thiết kế giai đoạn sớm đóng vai trò mấu chốt cho việc đảm bảo chất lượng trình phát triển phần mềm Kĩ thuật kiểm duyệt hệ thống được áp dụng để kiểm duyệt thiết kế hệ thống nhằm tăng độ tin cậy hệ thống Trong nhiều năm qua việc nghiên cứu phương pháp hình thức dẫn đến sự phát triển số kỹ thuật kiểm duyệt tạo thuận lợi cho việc phát lỗi sớm Các kĩ thuật kiểm duyệt được cài đặt thành công cụ được sử dụng cách tự động giai đoạn khác việc phát triển phần mềm Hiện có nhiều công cụ kiểm duyệt mô hình phần mềm như SAL, SPIN, NuSMV, PAT, UPPAAL SAL kiểm duyệt hệ thống thời gian thực cách thêm biến đếm đồng hồ vào tiến trình thời gian để đặc tả ràng buộc thời gian với trình chuyển đổi Nội dung đề tài nghiên cứu lý thuyết cơ kiểm duyệt mô hình, kinh nghiệm sử dụng công cụ kiểm duyệt mô hình SAL sử dụng SAL để kiểm duyệt mô hình hệ thống thực tế 10 TÀI LIỆU THAM KHẢO TIẾNG ANH [1] 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 [2] Liu Yang (2009), “MODEL CHECKING CONCURRENT AND REALTIME SYSTEMS: THE PAT APPROACH”, A thesis submitted for the degree of doctor of philosophy department of computer science national university of Singapore, pp.20-22 [3] Saddek Bensalem, Vijay Ganesh, Yassine Lakhnech, Cesar Munoz, Sam Owre, Harald Rueß, John Rushby, Vlad Rusu, Hassen Saidi, N Shankar, Eli Singerman, Ashish Tiwari (2000), “An Overview of SAL”, LFM 2000: Fifth NASA Langley Formal Methods Workshop, Williamsburg, pp.5-6 [4] Lee Pike (2007), ”Model Checking for the Practical Verificationist”, Automated Formal Methods(AFM07), pp.1-2, 4-5 [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 [6] Leonardo de Moura (2004), SAL: Tutorial Computer Science Laboratory, SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park, pp.3-4, 6-10 [7] 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 [...]... UPPAAL SAL có thể 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 gian để đặc tả các ràng buộc thời gian với các quá trình chuyển đổi Nội dung của đề tài là nghiên cứu các lý thuyết cơ bản về kiểm duyệt mô hình, các kinh nghiệm sử dụng công cụ kiểm duyệt mô hình SAL và sử dụng SAL để kiểm duyệt mô hình hệ thống trong thực tế 10 TÀI LIỆU THAM KHẢO TIẾNG ANH... hình thức đã dẫn đến sự phát triển của một số kỹ thuật kiểm duyệt và tạo thuận lợi cho việc phát hiện lỗi sớm Các kĩ thuật kiểm duyệt này được cài đặt thành các công cụ có thể được sử dụng một cách tự động ở các giai đoạn khác nhau của việc phát triển phần mềm Hiện nay có rất nhiều công cụ kiểm duyệt mô hình phần mềm như SAL, SPIN, NuSMV, PAT, UPPAAL SAL có thể kiểm duyệt hệ thống thời gian. .. cậy của các hệ thống ngày càng yêu cầu cao Để xây dựng phần mềm có chất lượng cao cần tuân thủ việc đảm bảo chất lượng phần mềm Trong đó việc đảm bảo tính đúng đắn của thiết kế ở giai đoạn sớm đóng vai trò mấu chốt cho việc đảm bảo chất lượng trong quá trình phát triển phần mềm Kĩ thuật kiểm duyệt hệ thống đang được áp dụng để kiểm duyệt thiết kế hệ thống nhằm tăng độ tin cậy của hệ thống Trong... phát triển của các hệ thống kỹ thuật thông tin và truyền thông ngày càng nhiều và đa dạng Các hệ thống này ngày càng trở nên phức tạp và đi sâu vào cuộc sống hàng ngày của chúng ta chẳng hạn như máy tính xách tay, điện thoại di động, các loại tivi cao cấp và các đồ dùng hằng ngày như máy giặt, lò vi sóng Vì thế, sự phụ thuộc của chúng ta ngày càng tăng và chặt chẽ hơn vào các hệ thống thông tin làm... of doctor of philosophy department of computer science national university of Singapore, pp.20-22 [3] Saddek Bensalem, Vijay Ganesh, Yassine Lakhnech, Cesar Munoz, Sam Owre, Harald Rueß, John Rushby, Vlad Rusu, Hassen Saidi, N Shankar, Eli Singerman, Ashish Tiwari (2000), “An Overview of SAL , LFM 2000: Fifth NASA Langley Formal Methods Workshop, Williamsburg, pp.5-6 [4] Lee Pike (2007), ”Model Checking... Practical Verificationist”, Automated Formal Methods(AFM07), pp.1-2, 4-5 [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 [6] Leonardo de Moura (2004), SAL: Tutorial Computer Science Laboratory, SRI International, Computer Science Laboratory, 333 Ravenswood Avenue, Menlo Park,

Ngày đăng: 27/08/2016, 22:33

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan