Các công cụ kiểm chứng mô hình

Một phần của tài liệu Kết hợp phương pháp kiểm chứng mô hình và các kỹ thuật kiểm thử phần mềm làm tăng độ tin cậy của hệ thống phần mềm (Trang 34)

Từ khi kiểm chứng mô hình bắt đầu được phát triển cho đến nay, có rất nhiều công cụ để kiểm chứng mô hình. Theo thống kê của trang web

http://anna.fi.muni.cz/yahoda/ (trang được xây dựng và cập nhật bởi phòng thí nghiệm ParaDiSe của khoa Thông tin, đại học Masaryk University Brno, cộng hòa Séc) đến tháng 9/ 2012, khoa đã thống kê được 68 công cụ kiểm chứng trong đó có 53 công cụ kiểm chứng mô hình. Trong đó, chúng ta có thê kể đến một số công cụ phổ biến như là SPIN, NuSMV, Java Pathfinder, KRONOS

SPIN (Simple Promela Interpreter – Trình biên dịch Promela đơn giản) là công cụ hỗ trợ cho việc kiểm chứng mô hình cho các hệ phân tán. Phần mềm này được phát triển bởi phòng thí nghiệm Bell Labs trong nhóm các phương pháp hình thức và kiểm chứng bắt đầu từ năm 1980. SPIN cùng với ngôn ngữ Promela là một bộ công cụ mạnh mẽ, và được áp dụng rộng rãi trong kỹ thuật kiểm chứng mô hình.

NuSMV (A new symbolic model checker – bộ kiểm chứng mô hình biểu tượng mới) có ngôn ngữ đầu vào được thiết kế để cho phép mô tả các hệ thống hữu hạn trạng thái. Mục đích cơ bản của ngôn ngữ NuSMV là mô tả (sử dụng các biểu thức trong các phép tính mệnh đề) phép chuyển liên quan tới cấu trúc hữu hạn Kripke.

Java Pathfinder (JPF) là một hệ thống đánh giá các chương trình thực thi của Java bytecode. Java được phát triển bởi trung tâm nghiên cứu NASA và trở thành mã nguồn mở năm 2005.

KRONOS là một công cụ kiểm chứng mô hình với thời gian phân nhánh (branch time) và kiểm chứng tương đương dùng cho ngôn ngữ mô hình hóa Timed Automata. Trong KRONOS, các thành phần của hệ thống thời gian thực được mô hình hoá thành các automat thời gian, và các yêu cầu chính xác được biểu diễn trong logic thời gian thực TCTL (TCTL là một mở rộng của logic thời gian CTL – Computation Tree

Logic– Logic cây tính toán mà cho phép định lượng lý luận thời gian trên một khoảng thời gian liên tục.

Mỗi công cụ kiểm chứng đều có những ưu nhược điểm khác nhau, và được áp dụng trong những bài toán cụ thể. Luận văn lựa chọn SPIN là công cụ kiểm chứng bởi vì SPIN được ứng dụng rộng rãi trong việc kiểm chứng các hệ phân tán cả trong nghiên cứu và trong công nghiệp, có tính phổ quát, dễ ứng dụng, cộng đồng phát triển và nghiên cứu hoạt động tích cực và ngôn ngữ mô hình hóa PROMELA gần với ngôn ngữ lập trình C.

Chương 4. Ngôn ngữ Promela và công cụ kiểm chứng mô hình SPIN

Công cụ kiểm chứng mô hình SPIN là một công cụ được áp dụng rộng rãi trong nghiên cứu khoa học và trong công nghiệp. Ngôn ngữ Promela là ngôn ngữ để mô hình hóa hệ thống phần mềm để công cụ SPIN có thể hiểu và kiểm chứng mô hình cho hệ thống.

Mục tiêu của chương này là giới thiệu về ngôn ngữ Promela, để từ đó ta có thể sử dụng ngôn ngữ Promela để mô hình hoá được các hệ thống.

Một phần của tài liệu Kết hợp phương pháp kiểm chứng mô hình và các kỹ thuật kiểm thử phần mềm làm tăng độ tin cậy của hệ thống phần mềm (Trang 34)