Tải bản đầy đủ (.pdf) (12 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (348.77 KB, 12 trang )

ĐẠ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


1
LỜI CẢM ƠN
Trước tiên tôi 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 và làm luận văn tố t nghiệp,
thầ y đã dành nhiề u thời gian quý báu và t ận tình chỉ bảo , hướng dẫn tôi trong
việc nghiên cứu, thực hiện luận văn.
Tôi xin đươ ̣c cảm ơn các GS , TS đã giảng da ̣y tôi trong quá trình ho ̣c t ập
và làm luận văn. Các thầ y cô đã giúp tôi hiể u thấ u đáo hơn liñ h vực mà mình
nghiên cứu để có thể vận du ̣ng những kiế n thức đó vào trong công tác của mình.
Xin cảm ơn ba ̣n bè , đồ ng nghiệp trong công ty đã ta ̣o mo ̣i điề u ki ện tố t
nhấ t cho tôi trong suố t quá trình ho ̣c t ập và nghiên cứu để hoàn thành tố t bản
luận văn tố t nghiệp này.
Hà nội, tháng 11 năm 2015
Học viên thực hiện

Nguyễn Khắc Chung


2
LỜI CAM ĐOAN
Tôi xin cam đoan rằ ng , đây là kế t quả nghiên cứu của tôi trong đó 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 và kế t quả trong

đề tài này hoàn toàn trung thực.
Trong luận văn, tôi có tham khảo đế n một số tài liệu của một 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 hiện

Nguyễn Khắc Chung


3
MỤC LỤC
LỜI CẢM ƠN ....................................................................................................... 1
Chương 1. GIỚI THIỆU ....................................................................................... 8
Chương 2. 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 của 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 và giao tiếp ... Error! Bookmark
not defined.
2.2.2.1 Đồng thời và đan xen (Concurrency and Interleaving) ........ Error!
Bookmark not defined.
2.2.2.2 Giao tiếp thông qua các 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ả các 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 trên otomat
Error! Bookmark not defined.

Chương 3. 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) của 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 dữ liệu cơ bản ...................... 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 chính của SAL ......................... Error! Bookmark not defined.
Chương 4. Ứ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ả bài toán................................ Error! Bookmark not defined.

4.1.2. Mô hình và kiểm duyệt hệ thống công tác đèn trong 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 các 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ả bài toán................................ Error! Bookmark not defined.

4.2.2. Mô hình và kiểm duyệt hệ thống thang máy trong 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 các tính chất.............. Error! Bookmark not defined.
Chương 5. KẾT LUẬN ....................................... Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO ..................................................................................... 9
PHỤ LỤC ........................................................... Error! Bookmark not defined.


6


7
DANH MỤC HÌNH VẼ

Hình 2-1: Tổng quan về 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 của 2 đè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 của phương thức thời gian Error! Bookmark not defined.
Hình 2-6: Ví dụ về logic thời gian tuyến tính ..... Error! Bookmark not defined.
Hình 2-7: Tổng quan về 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ụ về sal path finder ....................... Error! Bookmark not defined.
Hình 3-3: Ví dụ về kiểm chứng các 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


9
Chƣơng 1. GIỚI THIỆU
Ngày nay, sự 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 cho độ tin 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 nhiều năm qua việc nghiên cứu các phương pháp 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
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
[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.




×