1. Trang chủ
  2. » Luận Văn - Báo Cáo

KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV

45 718 2
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 1,01 MB

Nội dung

Kiểm chứng mô hình thường được áp dụng ở giai đoạn thiết kế vì việc mô hình hóa bản thiết kế hệ thống dễ dàng hơn mô hình hóa mã nguồn của hệ thống.

Trang 3

Lời cảm ơn

Lờ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ôinhữ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àinà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ảmyêu thương

Hà Nội, ngày 15 tháng 5 năm 2008 Nông Gia Tự

Trang 4

Tóm tắt

Kiểm chứng mô 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 đúngthông qua phản ví dụ

Hiện nay có rất nhiều công cụ kiểm chứng mô 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 môhình, ngôn ngữ SMV dùng để mô hình hóa hệ thống và cách sử dụng NuSMV đểkiểm chứng mô hình phần mềm

Kiểm chứng mô hình thường được áp dụng ở giai đoạn thiết kế vì việc mô hìnhhóa bản thiết kế hệ thống dễ dàng hơn mô 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ểnphầ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 mô 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 mô hình của phần mềm giả lập máy rút tiền tự động ATM

Trang 5

Mục lục

Chương 1

Giới thiệu 1

1.1Đặt vấn đề 1

1.2Nội dung nghiên cứu của khóa luận 2

1.3Cấu trúc khóa luận 2

Chương 2 Tổng quan về kiểm chứng mô hình và NuSMV 4

1.4Tổng quan về kiểm chứng mô hình 4

1.4.1Giới thiệu 4

1.4.2Ý nghĩa của kiểm chứng mô hình 5

1.4.3Sự khác nhau giữa kiểm chứng mô hình phần mềm và kiểm thử phần mềm 5

1.5NuSMV 6

1.5.1Giới thiệu 6

1.5.2Kiến trúc của NuSMV 6

1.5.3Sử dụng NuSMV để kiểm chứng mô hình 8

Chương 3 Giới thiệu về logic thời gian 9

1.6Khái niệm 9

1.7Các toán tử trong logic thời gian 9

1.7.1Toán tử globally (toàn thể) 9

1.7.2Toán tử next (tiếp theo) 10

1.7.3Toán tử eventually (cuối cùng sẽ xảy ra) 10

1.8TLT và CTL 10

1.9Sử dụng temporal logic để mô tả một số thuộc tính cần kiểm chứng 10

1.9.1Safety (tính an toàn) 11

1.9.2Liveness (tính chạy được) 11

1.9.3Fairness (tính công bằng) 12

Chương 4 Ngôn ngữ SMV 13

1.10Tổng quan 13

1.11Cấu trúc của chương trình viết bằng ngôn ngữ SMV 13

Trang 6

1.12Các kiểu dữ liệu 13

1.12.1Khai báo kiểu dữ liệu 13

1.12.2Kiểu logic (boolean), kiểu số nguyên (integer) và kiểu liệt kê (enum) .14

1.12.3Mảng 14

1.12.4Mảng nhiều chiều 14

1.12.5Kiểu cấu trúc 15

1.13Biến và các phép gán 16

1.14Các phép toán 16

1.14.1Phép gán 16

1.14.2Tóan tử next 17

1.15Máy trạng thái 18

Áp dụng NuSMV kiểm chứng mô hình phần mềm giả lập máy ATM .20

1.16Đề xuất quy trình đặc tả và kiểm chứng phần mềm sử dụng NuSMV 20

1.16.1Những cơ sở để đưa ra quy trình 20

1.16.2Mô tả quy trình 20

1.17Đặc tả và kiểm chứng mô hình phần mềm giả lập máy ATM 21

1.17.1Đặc tả yêu cầu 21

1.17.1.1Mô tả bài toán 21

1.17.1.2Các tác nhân của hệ thống 22

1.17.1.3Mô hình ca sử dụng tổng thể hệ thống 22

1.17.1.4Bật máy 23

1.17.1.5Tắt máy 23

1.17.1.6Phiên làm việc 24

1.17.1.7Giao dịch rút tiền 24

1.17.1.8Giao dịch chuyển tiền 24

1.17.1.9Giao dịch vấn tin tài khoản 24

1.17.1.10Sai mã PIN 25

1.17.2Đặc tả các thuộc tính cần kiểm chứng 25

1.17.3Thiết kế hệ thống 25

1.17.3.1Biểu đồ trạng thái tổng thể hệ thống 25

1.17.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 26

1.17.3.3Biểu đồ trạng thái quá trình thực hiện giao dịch của hệ thống 27

Trang 7

1.17.4Mô hình hóa hệ thống bằng ngôn ngữ SMV 28

1.17.4.1Mô hình hóa tổng thể hệ thống 28

1.17.4.2Mô hình hóa quá trình thực hiện phiên làm việc 29

1.17.4.3Mô hình hóa quá trình thực hiện giao dịch 31

1.17.5Kiểm chứng mô hình 33

Chương 6 Kết luận 35

Trang 8

Danh mục hình vẽ

Hình 2.1 Nguyên tắc họat động của kiểm chứng mô 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 Mô hình tổng thể hệ thống viết bằng ngôn ngữ SMV

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

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ônngữ SMV

Hình 5.8 Kết quả kiểm chứng mô hình tổng thể hệ thống

Hình 5.9 Kết quả kiểm chứng mô hình phiên làm việc của hệ thống

Hình 5.10 Kết quả kiểm chứng mô hình thực hiện giao dịch hệ thống

Trang 9

Danh mục từ viết tắt

ATM Automated Teller Machine

BDD Binary Decision Diagram

CTL Computation Tree Logic

LTL Linear Time Logic

Trang 10

mềm nào Từ trước đến nay, phương pháp giả lập và kiểm thử thường được sử dụng để

kiểm tra các bản thiết kế [5] Tuy nhiên phương pháp này bộc lộ nhiều khiếm khuyếttrong đó điểm yếu nghiêm trọng nhất chính là không thể khẳng định được chương trình

đã hết lỗi hoặc ước lượng được số lỗi có thể sót lại trong bản thiết kế [5]

Kiểm chứng mô hình là một kỹ thuật kiểm chứng tự động các hệ thống hữu hạntrạng thái Kiểm chứng mô hình xác minh tính đúng đắn của một mô hình bằng việc xácđịnh xem các thuộc tính người dùng mong muốn có được thỏa mãn bởi mô hình đó haykhông [6] Về nguyên tắc hoạt động, hệ thống cần kiểm chứng sẽ được mô hình hóa.Công cụ kiểm chứng sẽ kiểm tra mô hình có thỏa mãn các thuộc tính được cho haykhông Nhờ khả năng duyệt qua tất cả các trạng thái trong mô hình mà tính đúng đắncủa kết quả kiểm chứng mô hình luôn được đảm bảo

Nguyên tắc họat động của kiểm chứng mô hình như sau: Đóng vai trò xử lý dữliệu tự động là một công cụ kiểm chứng mô hình Đầu vào là hệ thống cần kiểm chứng

đã được mô hình hóa và mô tả các thuộc tính cần kiểm chứng Đầu ra là kết quả kiểmchứng – kết luận hệ thống hoàn toàn thỏa mãn các thuộc tính hoặc kết luận hệ thốngkhông thỏa mãn một hoặc nhiều thuộc tính đi kèm với phản ví dụ Nguyên tắc này đượcminh họa trong hình sau:

Trang 11

Hình 2.1 Nguyên tắc họat động của kiểm chứng mô hình [7].

Trong quá trình kiểm chứng mô hình, việc mô hình hóa hệ thống và đặc tả cácthuộc tính thường được thực hiện thủ công Việc chứng minh mô hình có thỏa mãn cácthuộc tính hay không đựơc thực hiện tự động bằng công cụ kiểm chứng mô hình Khóaluận này tập trung nghiên cứu và áp dụng công cụ kiểm chứng mô hình NuSMV vàoviệc kiểm chứng ở giai đoạn thiết kế phần mềm

1.2 Nội dung nghiên cứu của khóa luận

NuSMV là một công cụ kiểm chứng mô 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 đó mô tả mô 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 mô hình và áp dụng NuSMV để kiểmchứng bản thiết kế phần mềm

Quá trình thực hiện bao gồm xác định rõ và đặc tả các thuộc tính cần kiểm chứng,

mô hình hóa hệ thống và sử dụng NuSMV để phân tích, chứng minh hệ thống có thỏamãn các thuộc tính cần kiểm chứng đó hay không

1.3 Cấu trúc khóa luận

Các phần còn lại của khóa luận có cấu trúc như sau:

Trang 12

Chương 2 trình bày kiến thức cơ bản về kiểm chứng mô hình và giới thiệu vềNuSMV, một công cụ kiểm chứng phần mềm.

Chương 3 giới thiệu về logic thời gian và sử dụng logic thời gian để mô tả cácthuộ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ụngngôn ngữ SMV để mô 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 mô 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 mô hìnhphần mềm giả lập máy rút tiền tự động ATM

Chương 6 nêu ra những kết luận sau khi thực hiện đề tài khóa luận và định hướngkhóa luận trong tương lai

Trang 13

Trên thực tế, mô hình kiểm chứng đã chứng minh rằng nó là một phương thứchiệu quả để phát hiện nhiều lỗi trong các pha thiết kế ban đầu

Kiểm chứng mô hình bao gồm 3 bước: Mô hình hóa, đặc tả và kiểm chứng

Ở bước mô hình hóa, kết quả tạo ra là một mô hình mà các công cụ kiểm chứng

có thể sử dụng được Đầu vào của bước này có thể là bản thiết kế phần mềm hoặc làcác dòng mã lập trình

Trong bước tiếp theo, các thuộc tính mà bản thiết kế cần thỏa mãn được đặc tả.Các thuộc tính này thường được diễn đạt bằng các biểu thức logic Kết quả của haibước mô hình hóa và đặc tả chính là đầu vào của kiểm chứng mô hình

Ở bước 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 mô hình thỏa mãn các thuộc tính, hoặc đưa ra một phản ví

dụ nếu mô 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 mô hình không thỏa mãn các thuộc tính đặt ra

Trang 14

Tóm lại, kiểm chứng mô hình là một kĩ thuật giúp kiểm tra một chương trìnhhoặc một bản thiết kế có thỏa mãn các tính chất đặt ra hay không một cách tự động.Đầu vào của nó là một mô hình cần kiểm chứng và các thuộc tính mà nó cần thỏamãn Đầu ra là kết luận mộ hình thỏa mãn các tính chất hoặc đưa ra một phản ví dụnếu mô hình không thỏa mãn

1.4.2 Ý nghĩa của kiểm chứng mô hình

Các hệ thống phần mềm đang ngày càng trở nên cần thiết và đóng vai trò quantrọng trong đời sống hàng ngày Nhiều công việc có mức độ ảnh hưởng lớn đượcthực hiện bởi phần mềm như điều khiển đèn giao thông, giao dịch ngân hàng, điềukhiển các thiết bị y tế Những phần mềm thực hiện các công việc đó phải đảm bảo

có độ tin cậy rất cao và không được phép xuất hiện lỗi Kiểm chứng mô hình chophép khẳng định được phần mềm hoàn toàn không còn lỗi và thực hiện được đúngcác chức năng đã đặt ra

Ngòai ra, kiểm chứng phần mềm còn có ý nghĩa quan trọng trong quy trình pháttriển phần mềm Nó cho phép tìm ra được các lỗi ngay từ giai đoạn thiết kế của quytrình phát triển Điều này có vai trò rất quan trọng vì các lỗi từ giai đoạn thiết kế nếutìm ra muộn có thể gây thiệt hại rất lớn so với các lỗi của giai đoạn sau

1.4.3 Sự khác 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ảochấ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 mô hình và kiểm thử phần mềm có một số điểmkhá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

mô hình thì ngoài kiểm thử trên mã nguồn còn có thể dùng để kiểm chứng bản thiết

kế, nghĩa là khi chương trình vẫn còn trên giấy

Kiểm thử phần mềm chỉ có thể khẳng định được chương trình không gặp lỗi đốivới các trường hợp kiểm thử đã kiểm tra tức không tìm thấy lỗi chứ không khẳngđịnh được là chương trình hoàn toàn không còn lỗi Ngược lại, kiểm chứng phầnmềm cho phép ta kết luận được chương trình hoàn toàn không còn lỗi

Trang 15

bình thường cũng có thể thực hiện được Trong khi đó, kiểm chứng mô hình đòi hỏiphải mô hình hóa và đặc tả, công việc này rất khó và đòi hỏi người thực hiện có trình

độ kinh nghiệm và kiến thức nhất định

Tóm lại, kiểm chứng mô hình là một phương pháp hiệu quả nhất để kiểm chứngphần mềm Tuy nhiên để sử dụng được nó một cách hiệu quả đòi hỏi phải mất nhiềuthời gian và công sức để nghiên cứu và thực hiện

1.5 NuSMV

1.5.1 Giới thiệu

NuSMV là một công cụ kiểm chứng mô hình được trường đại học CarnegieMellon University (CMU) và viện per la Ricerca Scientifica e Tecnolgica (IRST).NuSMV được thiết kế với kiến trúc mở, mềm dẻo và được mô tả đầy đủ để phục vụcho việc kiểm chứng mô hình phần mềm [4]

NuSMV có thể xử lý file viết bằng ngôn ngữ SMV File này chứa hệ thống đãđược mô hình hóa và các đặc tả thuộc tính mà hệ thống cần kiểm chứng Sau khi xử

lý, NuSMV sẽ đưa ra thông báo hệ thống có thỏa mãn các thuộc tính đó hay không,nếu hệ thống không thỏa mãn, NuSMV sẽ đưa ra phản ví dụ NuSMV hỗ trợ cả đặc tảthuộc tính bằng LTL và CTL

1.5.2 Kiến trúc của NuSMV

NuSMV có kiến trúc mở, dễ dàng chỉnh sửa, mở rộng hay nâng cấp Kiến trúccủa NuSMV được chia thành các module Mỗi module đảm trách một tập hợp cácchức năng và giao tiếp với các module khác qua những giao diện đã được định nghĩa

rõ ràng Phần lõi và phần ngoại vi của kiến trúc được tách biệt rõ ràng nhằm giúp chocác module bên trong có thể sử dụng lại một cách độc lập với ngôn ngữ dùng để môhình hóa hệ thống

Kiến trúc của NuSMV (hình 4.1) bao gồm các module sau:

Kernel: Phần lõi Module này cung cấp các chức năng ở mức độ thấp như

cấp phát bộ nhớ động, tổ chức các cấu trúc dữ liệu Module này có thể được

Trang 16

sử dụng lại như những hộp đen (black-box) với những hàm đã được mô tả rõràng.

Parser: Bộ phân tích ngữ pháp Module này xử lý file viết bằng ngôn ngữ

SMV, kiểm tra về mặt cú pháp và xây dựng cấu trúc cây biểu diễn cấu trúcbên trong của file được xử lý

Compiler: Chương trình dịch Module này có chức năng dịch file SMV sau

khi đã phân tích ngữ pháp sang cây quyết định nhị phân (binary decisiondiagram - BDD) Mô hình hệ thống được chuyển thành máy hữu hạn trạngthái nhờ module này

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

LTL: Module này có chức năng dịch các biểu thức LTL thành các hoạt cảnh

(tableaux) thích hợp để NuSMV có thể xử lý được

Interactive shell: Giao diện tương tác dòng lệnh Module này cung cấp giao

diện người dùng ở chế độ dòng lệnh

Graphical user interface: Giao diện đồ họa người dùng Module này được

xây dựng bên trên module giao diện tương tác dòng lệnh nhằm cung cấp mộtgiao diện đồ họa trực quan của chương trình cho người sử dụng

Hình 2.2 Sơ đồ kiến trúc NuSMV [4].

Trang 17

1.5.3 Sử dụng NuSMV để kiểm chứng mô hình

Để kiểm chứng mô hình bằng NuSMV, chúng ta cần mô 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

Trang 18

Một ví dụ: Với mệnh đề logic: Trời mưa Theo logic vị từ, mệnh đề này luônđúng họăc luôn sai trong bất kì thời điểm nào Tuy nhiên, giá trị đúng sai của nó cóthể thay đổi theo thời gian Có thể ngày hôm nay trời mưa nhưng ngày mai trời khôngmưa

Nếu trong logic vị từ, mỗi vị từ chỉ có thể có một giá trị hoặc đúng (bằng 1)hoặc sai (bằng 0) thì trong logic thời gian, mỗi vị từ được coi như một dãy các giá trị

mà mỗi phần tử của dãy chỉ có thể có giá trị đúng hoặc sai [9] Nhờ đó, logic thờigian có thể biểu diễn được sự thay đổi theo thời gian của giá trị các biểu thức logic.Trong các nghiên cứu về kiểm chứng mô hình, hai loại logic thời gian hay đượcxem xét là LTL và CTL [1]

1.7 Các toán tử trong logic thời gian

1.7.1 Toán tử globally (toàn thể)

Toán tử globally kí hiệu là □ Giả sử ϕ là một biểu thức logic vị từ, khi đó biểuthức □ϕ có giá trị đúng nếu ϕ đúng trong mọi thời điểm Người ta cũng thường kíhiệu toán tử này là G

Trang 19

1.7.2 Toán tử next (tiếp theo)

Toán tử next kí hiệu là ○ Giả sử ϕ là một biểu thức logic Có thể coi ϕ nhưmột dãy trạng thái và trạng thái hiện tại đang xét đến là trạng thái thứ n Khi đó biểuthức ○ϕ có giá trị đúng khi và chỉ khi phần tử ngay sau phần tử hiện tại trong dãytrạng thái ϕ (phần tử thứ n+1) có giá trị đúng (bằng 1)

Toán tử next thường được kí hiệu bằng chữ cái X

1.7.3 Toán tử eventually (cuối cùng sẽ xảy ra)

Toán tử eventually kí hiệu là ◊ Giả sử ϕ là một biểu thức logic và ϕ được coi như một dãy trạng thái mà mỗi phần tử chỉ có giá trị bằng 0 hoặc 1 Khi đó giá trị biểu thức ◊ϕ bằng 1 khi và chỉ khi ϕ có ít nhất một phần tử có giá trị bằng 1 Toán tử

◊ được định nghĩa thông qua toán tử □ như sau:

• LTL (linear-time-temporal logic): Logic thời gian tuyến tính Thời gian cócấu trúc tuyến tính, mỗi trạng thái chỉ có một trạng thái ngay tiếp sau nó

• CTL (branching-time-temporal logic): Logic thời gian rẽ nhánh Thời gian

có cấu trúc tuyến tính, mỗi trạng thái có nhiều trạng thái ngay 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 để mô tả các thuộc tính cần kiểm chứng

1.9 Sử dụng temporal logic để mô tả một số thuộc tính cần kiểm chứng

Trang 20

• Nhiệt độ của phản ứng không bao giờ quá 100 độ C.

• Bất kì lúc nào chìa khóa xe chưa vặn tới vị trí khởi động, xe sẽ không nổmáy

1.9.2 Liveness (tính chạy được)

Thuộc tính liveness của một chương trình đảm bảo rằng nó có thể thực thi đượcmột chức năng “tốt” nào đó đã đặt ra (“something good will happen eventually”).Thuộc tính liveness có thể được biểu diễn bằng các phép kết hợp AF hoặc Ftrong temporal logic:

Trang 21

• Bóng đèn sẽ chuyển sang màu xanh

Trang 22

Các mô tả của một hệ thống phức tạp có thể được chia nhỏ thành các module vàmỗi một module này có thể được thực thi nhiều lần.

1.11 Cấu trúc của chương trình viết bằng ngôn ngữ SMV

Một chương trình viết bằng ngôn ngữ SMV có các phần như sau:

MODULE tên_module VAR

Khai báo các biến.

ASSIGN

Mô tả các bước chuyển trạng thái của hệ thống.

Kết thúc câu lệnh là một dấu chấm phẩy (;)

1.12 Các kiểu dữ liệu

1.12.1 Khai báo kiểu dữ liệu

Các mô tả của một hệ thống phức tạp có thể được chia nhỏ thành các module vàmỗi một module này có thể được thực thi nhiều lần

Một biểu thức khai báo biến có định dạng như sau:

<tên_biến> : <kiểu_dữ_liệu>;

Ngày đăng: 25/04/2013, 10:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] R. C. Bjork. An Example of Object-Oriented Design: An ATM Simulation.http://www.math-cs.gordon.edu/courses/cs211/ATMExample Link
[1] B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A Petit, L. Petrucci, P.Schnoebelen. Systems and Software Verification: model-checking techniques and tools, 2001 Khác
[4] A. Cimatti, E. Clarke, F. Giunchiglia, M. Roveri. NuSMV: a new symbolic model checker Khác
[5] A. Cimatti, E. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore, M. Roveri, R. Sebastiani, A. Tacchella. NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In Proceedings of the 14th international Conference on Computer Aided Verification (July 27 - 31, 2002) Khác
[6] E. M. Clarke, Orna Grumberg and Doron A. Peled. Model Checking. MIT Press, 1999, ISBN 0-262-03270-8 Khác
[7] H. Giese, Safety – Critical computer systems, AG Softwaretechnik, SCCS-VI- 6x, 2003 Khác
[8] G. J. Holzmann. The Model Checker SPIN. IEEE Trans. Softw. Eng. 23, 5 (May. 1997), 279-295 Khác
[9] Krửger, Fred, Merz, Stephan, Temporal logic and state systems, Springer, 2008. ISBN: 978-3-540-67401-6 Khác
[10] M. Mansouri-Samani, S. Pasareanu, J. Penix, C. Mehlitz, O. Malley, C. Visser, P. Brat, Z. Markosian and T. Pressburger. Program model checking: A practitioner’s guide, Intelligent Systems Division NASA Ames Research Center. April 27, 2007, pages. 31 – 45 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Nguyên tắc họat động của kiểm chứng mô hình [7]. - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
Hình 2.1. Nguyên tắc họat động của kiểm chứng mô hình [7] (Trang 11)
Hình 2.2. Sơ đồ kiến trúc NuSMV [4]. - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
Hình 2.2. Sơ đồ kiến trúc NuSMV [4] (Trang 16)
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
nh 5.1. Biểu đồ ca sử dụng hệ thống máy ATM (Trang 32)
Hình  5.2. Biểu đồ trạng thái tổng thể hệ thống ATM. - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
nh 5.2. Biểu đồ trạng thái tổng thể hệ thống ATM (Trang 35)
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 - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
nh 5.3. Biểu đồ trạng thái quá trình thực hiện một phiên làm việc (Trang 36)
Hình  5.4. Biểu đồ trạng thái quá trình thực hiện giao dịch của hệ - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
nh 5.4. Biểu đồ trạng thái quá trình thực hiện giao dịch của hệ (Trang 37)
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
nh 5.5. Mô hình tổng thể hệ thống viết bằng ngôn ngữ SMV (Trang 38)
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ệ - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
nh 5.6. Mô hình quá trình thực hiện một phiên làm việc của hệ (Trang 40)
Hình  5.7. Mô hình quá trình thực hiện giao dịch của hệ thống ATM - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
nh 5.7. Mô hình quá trình thực hiện giao dịch của hệ thống ATM (Trang 42)
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
nh 5.8. Kết quả kiểm chứng mô hình tổng thể hệ thống (Trang 43)
Hình  5.10. Kết quả kiểm chứng mô hình thực hiện giao dịch hệ thống. - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
nh 5.10. Kết quả kiểm chứng mô hình thực hiện giao dịch hệ thống (Trang 43)
Hình  5.9. Kết quả kiểm chứng mô hình phiên làm việc của hệ thống. - KIỂM CHỨNG MÔ HÌNH PHẦN MỀM SỬ DỤNG NUSMV
nh 5.9. Kết quả kiểm chứng mô hình phiên làm việc của hệ thống (Trang 43)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w