L: Trạng thái ban đầu của hệ thống
3.2.2 Công cụ XSpin
Có giao diện thân thiện người dùng cửa sổ soạn thảo chính với khả năng chỉnh sửa và tìm kiếm là đơn giản. XSpin là công cụ thuận tiện để tiếp cận với Spin.
Hình 3: Màn hình cửa sổ chính của XSpin. • Run Syntax Check
Kiểm tra cú pháp ngôn ngữ Promela.
Hình 4: Cửa sổ chức năng Run Slicing algorithm. • Run Slicing Algorithm
Xác định những thành phần không liên quan của mô hình.
Biểu diễn sự phân tích lưu lượng dữ liệu.
• Set Simulation Parameters (Hỗ trợ gỡ lỗi quan trọng nhất) Thiết lập thông số hiển thị:
Message Sequence Chart (MSC) Panel: Cung cấp quá trình giao tiếp theo thời gian. Kiểm soát cách trình bay các liên kết giữa MSC và Promela bên trong của sổ văn bản chính được hỗ trợ thông qua bảng điều khiển này.
Time Sequence Panel: Cung cấp quá trình giao tiếp theo thời gian.
Data Values Panel: Trình bay dữ liệu theo thời gian. Tùy chọn gồm các kênh đệm các biến địa phương và biến toàn cục.
Random : Yêu cầu người sử dụng cung cấp một giá trị seed.
Hình 5: Cửa sổ chính chức năng Set Simulation Parameters. • Run Simulation
Việc thiết lập các thông số hiển thị phải được thực hiện ít nhất một lần trước khi thực hiện chạy Simulation.
Việc thiết lập mặc định thông số hiển thị sẽ sinh ra 3 của sổ sau:
Simulation Output: Cung cấp 2 phương thức : Chạy từng bước (Single Step) hoặc chạy liên tục (Run).
Data Values.
Hình 6: Cửa sổ khi chạy chức năng Run Simulation. • Thiết lập thông số Verification
Kiểm tra mô hình.
Đảm bảo thực hiện an toàn và xác minh tính chất.
Correctness Properties: Safety, Liveness.
Search mode.
A full queue.
Verify an LTL property.
Hình 7: Cửa sổ chính chức năng Set Verification Parameters. • Run Verification
Set verification parameters.
Hình 8: Cửa sổ khi chạy chức năng Run Verification. • LTL Temporal Logic Formulae
LTL = Mệnh đề Logic + toán tử điều khiển thời gian. Giúp chỉnh sửa và bảo trì các công thức logic.
Theo thời gian trong Spin
Bước 1: Chạy “LTL Property Manager”
Bước 2: Nhập vào đặc tính thời gian mà bạn muốn thẩm định. Chú ý phải là biểu thức bất biến và tên bằng chữ thường.
Bước 3: Chỉ ra là có hay không đặc tính thời gian cần giữ: all executions (desired behaviour) hoặc
no executions (error behaviour)
Bước 5: Ấn vào nút “Run Verification” và tiếp tục ấn vào nút “Run” trong của sổ “LTL Verification”
Chú ý là những thông số của LTL có thể lưu lại để sử dụng trong tương lai bằng nút “Save As” và “Load”
Hình 9: Của sổ khi chạy chức năng LTL Property Manager.
CHƯƠNG 4
SINH CA KIỂM THỬ TỰ ĐỘNG VÀ THỰC NGHIỆM
Sau khi thiết kế mô hình hệ thống bằng ngôn ngữ mô hình Promela, kết hợp nhúng mã C vào đặc tả promela và sử dụng công cụ hỗ trợ kiểm chứng Spin để tự động sinh các ca kiểm thử. Kitchen Timer là một ví dụ nhỏ được tiến hành để đánh giá các phương pháp đã đề xuất.