Cấu trúc mô hình kiểm chứng SPIN

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng của spin để kiểm chứng sự tuân thủ thể thức tương tác của chương trình (Trang 34 - 35)

SPIN là một công cụ hỗ trợ tự động gia tăng số lượng các tiến trình hoặc rút gọn số lượng các tiến trình. Nó hỗ trợ các quá trình mô phỏng dựa trên việc chứng minh cục bộ và tổng thể, dựa trên tìm kiếm theo chiều sâu để có thể kiểm soát được kích cỡ bài toán lớn có hiệu quả. SPIN khai thác kỹ thuật giản lược thứ tự từng phần và lưu trữ để tối ưu hóa khi xác thực. Để xác thực một mô hình phần mềm, mô hình đó phải là một mô hình hình thức được xây dựng bằng ngôn ngữ

Promela - ngôn ngữ mô hình hóa của bộ công cụ SPIN. Sử dụng công cụ SPIN

với ngôn ngữ Promela có thể: Mô phỏng tương tác phỏng ngẫu nhiên cho một hệ thống; Xác thực và chứng minh tính đúng đắn so với yêu cầu đặc tả của người sử dụng; Chứng minh sự xấp xỉ của các mô hình hệ thống lớn với việc bao phủ không gian trạng thái.

Cấu trúc và cách thức hoạt động của bộ công cụ SPIN dùng để kiểm tra mô hình có thỏa mãn hay không thỏa mãn tính chất có một số bước cụ thể. Tuy nhiên trong nội dung của luận văn này chỉ xét đến khía cạnh kiểm chứng sự tuân thủ hoặc không tuân thủ thể thức tương tác của chương trình nên ta thực hiện hai bước: mô hình hóa thể thức tương tác của chương trình bằng một tiến trình đồng thời mô hình hóa thể thức tương tác của một thành phần cũng bằng một tiến trình trong SPIN, hai tiến trình này chạy song song và sử dụng một kênh dữ liệu chung; thực hiện chạy SPIN để xác minh (verification). Kết quả sẽ được báo cáo trong

Thông báo lỗi cú pháp

Phân tích cú pháp Giao diện SPIN

Phân tích cú pháp LTL và dịch

Kiểm tra xác thực

Tối ưu bộ kiểm tra mô hình

Thực hiện xác thực on-the-fly Phản ví dụ

cửa sổ pan.out của ISPIN ngay sau khi chạy xác minh: nếu không có deadlock

(không báo Invalid EndState depth ( )) thì chương trình tuân thủ thể thức tương tác của thành phần, nếu có deadlock (báo Invalid endState depth ( )) thì thành phần không tuân thủ thể thức tương tác của chương trình. Cần phải yêu cầu bên thiết kế xây lại thể thức của chương trình.

2.2.3. Công cụ ISPIN

Bộ công cụ ISPIN có giao diện thân thiện, dễ sử dụng trong quá trình thực hiện kiểm chứng mô hình [19].

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng của spin để kiểm chứng sự tuân thủ thể thức tương tác của chương trình (Trang 34 - 35)

Tải bản đầy đủ (PDF)

(69 trang)