Kiểm chứng mô hình phần mềm sử dụng nusmv

48 708 0
Kiểm chứng mô hình phần mềm sử dụng nusmv

Đ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

Tài liệu tham khảo công nghệ thông tin Kiểm chứng mô hình phần mềm sử dụng nusmv

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆNông Gia TựKIỂM CHỨNG HÌNH PHẦN MỀM SỬ DỤNG NUSMVKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nông Gia TựKIỂM CHỨNG HÌNH PHẦN MỀM SỬ DỤNG NUSMVKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Phạm Ngọc Hùng HÀ NỘI - 2010 Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia TựLời cảm ơnLời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc tới TS. Phạm Ngọc Hùng, thầy đã hướng dẫn em tận tình trong suốt năm học vừa qua.Em xin bày tỏ lòng biết ơn tới các thầy, cô giáo trong Khoa Công nghệ thông tin - Trường Đại học Công nghệ - ĐHQGHN. Các thầy cô đã dạy bảo, chỉ dẫn chúng em và luôn tạo điều kiện tốt nhất cho chúng em học tập trong suốt quá trình học đại học đặc biệt là trong thời gian làm khoá luận tốt nghiệp.Tôi xin cảm ơn các bạn sinh viên lớp K51CD và lớp K51CNPM đã cho tôi những ý kiến đóng góp giá trị cùng những lời động viên khích lệ khi thực hiện đề tài này.Cuối cùng con xin gửi tới bố mẹ và toàn thể gia đình lòng biết ơn và tình cảm yêu thương.Hà Nội, ngày 15 tháng 5 năm 2008 Nông Gia Tự i Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia TựTóm tắtKiểm chứng hình (model checking) là một hướng tiếp cận hiệu quả cho việc đảm bảo chất lượng phần mềm. Kĩ thuật này được áp dụng để chứng minh một cách tự động tính đúng đắn của phần mềm hoặc chỉ ra tại sao phần mềm không chạy đúng thông qua phản ví dụ.Hiện nay có rất nhiều công cụ kiểm chứng hình phần mềm như NuSMV, SPIN, KRONOS . Khóa luận này nghiên cứu lý thuyết cơ bản vè kiểm chứng hình, ngôn ngữ SMV dùng để hình hóa hệ thống và cách sử dụng NuSMV để kiểm chứng hình phần mềm.Kiểm chứng hình thường được áp dụng ở giai đoạn thiết kế vì việc hình hóa bản thiết kế hệ thống dễ dàng hơn hình hóa mã nguồn của hệ thống. Ngoài ra, việc sớm tìm ra lỗi ở bản thiết kế sẽ giúp giảm thiểu rủi ro của quá trình phát triển phần mềm.Vì thế chúng tôi tập trung tìm hiểu và đề xuất quy trình kiểm chứng hình sử dụng NuSMV ở giai đoạn thiết kế phần mềm. Đồng thời áp dụng quy trình này để kiểm chứng hình của phần mềm giả lập máy rút tiền tự động ATM.ii Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia TựMục lụcChương 1Giới thiệu .11.1Đặt vấn đề 11.2Nội dung nghiên cứu của khóa luận 21.3Cấu trúc khóa luận 2Chương 2Tổng quan về kiểm chứng hìnhNuSMV .42.1Tổng quan về kiểm chứng hình .42.1.1Giới thiệu .42.1.2Ý nghĩa của kiểm chứng hình .52.1.3Sự khác nhau giữa kiểm chứng hình phần mềmkiểm thử phần mềm 52.2NuSMV 62.2.1Giới thiệu .62.2.2Kiến trúc của NuSMV 62.2.3Sử dụng NuSMV để kiểm chứng hình 8Chương 3Giới thiệu về logic thời gian 93.1Khái niệm .93.2Các toán tử trong logic thời gian .93.2.1Toán tử globally (toàn thể) .93.2.2Toán tử next (tiếp theo) 103.2.3Toán tử eventually (cuối cùng sẽ xảy ra) .103.3TLT và CTL .103.4Sử dụng temporal logic để tả một số thuộc tính cần kiểm chứng103.4.1Safety (tính an toàn) .113.4.2Liveness (tính chạy được) 113.4.3Fairness (tính công bằng) .12Chương 4Ngôn ngữ SMV .134.1Tổng quan 134.2Cấu trúc của chương trình viết bằng ngôn ngữ SMV 13iii Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự4.3Các kiểu dữ liệu 134.3.1Khai báo kiểu dữ liệu .134.3.2Kiểu logic (boolean), kiểu số nguyên (integer) và kiểu liệt kê (enum) .144.3.3Mảng 144.3.4Mảng nhiều chiều .144.3.5Kiểu cấu trúc 154.4Biến và các phép gán 164.5Các phép toán .164.5.1Phép gán 164.5.2Tóan tử next .174.6Máy trạng thái .18Áp dụng NuSMV kiểm chứng hình phần mềm giả lập máy ATM .205.1Đề xuất quy trình đặc tả và kiểm chứng phần mềm sử dụng NuSMV205.1.1Những cơ sở để đưa ra quy trình 205.1.2Mô tả quy trình 205.2Đặc tả và kiểm chứng hình phần mềm giả lập máy ATM 215.2.1Đặc tả yêu cầu 215.2.1.1Mô tả bài toán .215.2.1.2Các tác nhân của hệ thống .225.2.1.3Mô hình ca sử dụng tổng thể hệ thống .225.2.1.4Bật máy .235.2.1.5Tắt máy .235.2.1.6Phiên làm việc .245.2.1.7Giao dịch rút tiền .245.2.1.8Giao dịch chuyển tiền 245.2.1.9Giao dịch vấn tin tài khoản 245.2.1.10Sai mã PIN 255.2.2Đặc tả các thuộc tính cần kiểm chứng 255.2.3Thiết kế hệ thống .255.2.3.1Biểu đồ trạng thái tổng thể hệ thống 255.2.3.2Biểu đồ trạng thái quá trình thực hiện một phiên làm việc của hệ thống 265.2.3.3Biểu đồ trạng thái quá trình thực hiện giao dịch của hệ thống27iv Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự 285.2.4Mô hình hóa hệ thống bằng ngôn ngữ SMV .285.2.4.1Mô hình hóa tổng thể hệ thống 285.2.4.2Mô hình hóa quá trình thực hiện phiên làm việc 295.2.4.3Mô hình hóa quá trình thực hiện giao dịch 315.2.5Kiểm chứnghình 33Chương 6Kết luận .35v Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia TựDanh mục hình vẽHình 2.1. Nguyên tắc họat động của kiểm chứng hình.Hình 2.2. Sơ đồ kiến trúc NuSMV.Hình 5.1. Biểu đồ ca sử dụng hệ thống máy ATM.Hình 5.3. Biểu đồ trạng thái quá trình thực hiện một phiên làm việc của hệ thống ATM.Hình 5.4. Biểu đồ trạng thái quá trình thực hiện giao dịch của hệ thống ATM.Hình 5.5. hình tổng thể hệ thống viết bằng ngôn ngữ SMV.Hình 5.6. hình quá trình thực hiện một phiên làm việc của hệ thống bằng ngôn ngữ SMV.Hình 5.7. hình quá trình thực hiện giao dịch của hệ thống ATM bằng ngôn ngữ SMV.Hình 5.8. Kết quả kiểm chứng hình tổng thể hệ thống.Hình 5.9. Kết quả kiểm chứng hình phiên làm việc của hệ thống.Hình 5.10. Kết quả kiểm chứng hình thực hiện giao dịch hệ thống.vi [...]... cho người sử dụng Hình 2.2 Sơ đồ kiến trúc NuSMV [4] 7 Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự 2.2. 3Sử dụng NuSMV để kiểm chứng hình Để kiểm chứng hình bằng NuSMV, chúng ta cần tả hệ thống và đặc tả các thuộc tính bằng ngôn ngữ SMV Sau đó sử dụng lệnh: nusmv tên_file trong đó tên_file là tên của file được viết bằng ngôn ngữ SMV 8 Kiểm chứng hình phần mềm sử dụng NuSMV Nông... Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự Chương 5 Áp dụng NuSMV kiểm chứng hình phần mềm giả lập máy ATM 5.1Đề xuất quy trình đặc tả và kiểm chứng phần mềm sử dụng NuSMV 5.1.1Những cơ sở để đưa ra quy trình Để kiểm chứng một hình cần phải thực hiện hai bước: đầu tiên phải hình hóa phần mềm cần kiểm chứng sau đó cần định nghĩa các thuộc tính cần kiểm chứng Đối với trường hợp sử dụng. .. khác nhau giữa kiểm chứng hình phần mềmkiểm thử phần mềm Cả kiểm chứng hìnhkiểm thử phần mềm đều thực hiện vai trò đảm bảo chất lượng phần mềm bằng việc tìm ra các lỗi nếu có của phần mềm Tuy nhiên giữa kiểm chứng hìnhkiểm thử phần mềm có một số điểm khác nhau quan trọng sau: Kiểm thử phần mềm đòi hỏi phải có chương trình để thực hiện, còn kiểm chứng hình thì ngoài kiểm thử trên... công cụ kiểm chứng hình NuSMV vào việc kiểm chứng ở giai đoạn thiết kế phần mềm 1.2Nội dung nghiên cứu của khóa luận NuSMV là một công cụ kiểm chứng hình mã nguồn mở Đầu vào của NuSMV là một file viết bằng ngôn ngữ SMV trong đó tả hình hệ thống và các đặc tả thuộc tính cần kiểm chứng Khóa luận nghiên cứu lý thuyết kiểm chứng hình và áp dụng NuSMV để kiểm chứng bản thiết kế phần mềm Quá... thuộc tính cần kiểm chứng, hình hóa hệ thống và sử dụng NuSMV để phân tích, chứng minh hệ thống có thỏa mãn các thuộc tính cần kiểm chứng đó hay không 1.3Cấu trúc khóa luận 2 Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự Các phần còn lại của khóa luận có cấu trúc như sau: Chương 2 trình bày kiến thức cơ bản về kiểm chứng hình và giới thiệu về NuSMV, một công cụ kiểm chứng phần mềm Chương... trong hình sau: 1 Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự Hình 2.1 Nguyên tắc họat động của kiểm chứng hình [7] Trong quá trình kiểm chứng hình, việc hình hóa hệ thống và đặc tả các thuộc tính thường được thực hiện thủ công Việc chứng minh hình có thỏa mãn các thuộc tính hay không đựơc thực hiện tự động bằng công cụ kiểm chứng hình Khóa luận này tập trung nghiên cứu và áp dụng. .. trong tương lai 3 Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự Chương 2 Tổng quan về kiểm chứng hìnhNuSMV 2.1Tổng quan về kiểm chứng hình 2.1.1Giới thiệu Kiểm chứng hình là kỹ thuật phân tích hệ thống để xác định tính hợp lệ của một hay nhiều tính chất mà người dùng quan tâm trong một hình cho trước Cụ thể hơn, với hình M và thuộc tính p cho trước, nó kiểm tra liệu thuộc... tiếp sau nó Tóm lại, nhờ khả năng xét đến yếu tố thời gian, temporal logic đã được sử dụng rộng rãi trong công nghệ kiểm chứng phần mềm Temporal logic thường được sử dụng để tả các thuộc tính cần kiểm chứng 3. 4Sử dụng temporal logic để tả một số thuộc tính cần kiểm chứng 10 Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự 3.4.1Safety (tính an toàn) Tính an toàn của một chương trình đảm bảo... thiệu về logic thời gian và sử dụng logic thời gian để tả các thuộc tính cần kiểm chứng Chương 4 trình bày về cú pháp, các kiểu dữ liệu của ngôn ngữ SMV, cách sử dụng ngôn ngữ SMV để tả một máy hữu hạn trạng thái Chương 5 tìm hiểu và đề xuất quy trình kiểm chứng hình ở giai đoạn thiết kế phần mềm sử dụng NuSMV, sau đó áp dụng quy trình này vào kiểm chứng hình phần mềm giả lập máy rút tiền... cuối cùng, kiểm chứng, công cụ kiểm chứng sẽ tự động thực hiện và trả về kết quả là thỏa mãn nếu hình thỏa mãn các thuộc tính, hoặc đưa ra một phản ví dụ nếu hình không thỏa mãn Dựa vào phản ví dụ, người ta có thể tìm ra được lý do vì sao hình không thỏa mãn các thuộc tính đặt ra 4 Kiểm chứng hình phần mềm sử dụng NuSMV Nông Gia Tự Tóm lại, kiểm chứng hình là một kĩ thuật giúp kiểm tra . nhau giữa kiểm chứng mô hình phần mềm và kiểm thử phần mềm Cả kiểm chứng mô hình và kiểm thử phần mềm đều thực hiện vai trò đảm bảo chất lượng phần mềm bằng. người sử dụng .Hình 2.2. Sơ đồ kiến trúc NuSMV [4].7 Kiểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự2.2. 3Sử dụng NuSMV để kiểm chứng

Ngày đăng: 23/11/2012, 15:03

Hình ảnh liên quan

KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV - Kiểm chứng mô hình phần mềm sử dụng nusmv
KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV Xem tại trang 1 của tài liệu.
KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV - Kiểm chứng mô hình phần mềm sử dụng nusmv
KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV Xem tại trang 3 của tài liệu.
Kiểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự - Kiểm chứng mô hình phần mềm sử dụng nusmv

i.

ểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự Xem tại trang 14 của tài liệu.
• Model Checking: Bộ kiểm chứng mô hình. Module này kiểm tra các thuộc tính được mô tả bằng CTL và sinh ra các phản ví dụ nếu thuộc tính không  được thỏa mãn bởi mô hình - Kiểm chứng mô hình phần mềm sử dụng nusmv

odel.

Checking: Bộ kiểm chứng mô hình. Module này kiểm tra các thuộc tính được mô tả bằng CTL và sinh ra các phản ví dụ nếu thuộc tính không được thỏa mãn bởi mô hình Xem tại trang 19 của tài liệu.
Hình 5.1.Biểu đồ ca sử dụng hệ thống máy ATM. - Kiểm chứng mô hình phần mềm sử dụng nusmv

Hình 5.1..

Biểu đồ ca sử dụng hệ thống máy ATM Xem tại trang 35 của tài liệu.
Kiểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự - Kiểm chứng mô hình phần mềm sử dụng nusmv

i.

ểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự Xem tại trang 38 của tài liệu.
Hình 5.3.Biểu đồ trạng thái quá trình thực hiện một phiên làm việc của hệ thống ATM. - Kiểm chứng mô hình phần mềm sử dụng nusmv

Hình 5.3..

Biểu đồ trạng thái quá trình thực hiện một phiên làm việc của hệ thống ATM Xem tại trang 39 của tài liệu.
Kiểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự - Kiểm chứng mô hình phần mềm sử dụng nusmv

i.

ểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự Xem tại trang 40 của tài liệu.
Hình 5.5.Mô hình tổng thể hệ thống viết bằng ngôn ngữ SMV. - Kiểm chứng mô hình phần mềm sử dụng nusmv

Hình 5.5..

Mô hình tổng thể hệ thống viết bằng ngôn ngữ SMV Xem tại trang 41 của tài liệu.
Kiểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự - Kiểm chứng mô hình phần mềm sử dụng nusmv

i.

ểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự Xem tại trang 42 của tài liệu.
Hình 5.6.Mô hình quá trình thực hiện một phiên làm việc của hệ thống bằng ngôn ngữ SMV. - Kiểm chứng mô hình phần mềm sử dụng nusmv

Hình 5.6..

Mô hình quá trình thực hiện một phiên làm việc của hệ thống bằng ngôn ngữ SMV Xem tại trang 43 của tài liệu.
Kiểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự - Kiểm chứng mô hình phần mềm sử dụng nusmv

i.

ểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự Xem tại trang 44 của tài liệu.
Hình 5.7.Mô hình quá trình thực hiện giao dịch của hệ thống ATM bằng ngôn ngữ SMV. - Kiểm chứng mô hình phần mềm sử dụng nusmv

Hình 5.7..

Mô hình quá trình thực hiện giao dịch của hệ thống ATM bằng ngôn ngữ SMV Xem tại trang 45 của tài liệu.
Kiểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự - Kiểm chứng mô hình phần mềm sử dụng nusmv

i.

ểm chứng mô hình phần mềm sử dụng NuSMV Nông Gia Tự Xem tại trang 46 của tài liệu.
Hình 5.8.Kết quả kiểm chứng mô hình tổng thể hệ thống. - Kiểm chứng mô hình phần mềm sử dụng nusmv

Hình 5.8..

Kết quả kiểm chứng mô hình tổng thể hệ thống Xem tại trang 46 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan