C ông cụ sinh mã kiểm chứng PVG
4.6 Đặc tả sự kiện ShiftLeftIf của thành phần bitshift
Bảng 4.2 –Mệnh đề cần chứng minh để bảo đảm tính định nghĩa được của sự kiện BitShiftLeftIf đã được chứng minh tự động
kk−numShift ≥0 kk−numShift ≤1 numShift >0 ppr ∈N1→0..1 kk >0 ShiftLeftIf/act1/WD kk >numShift ` kk−numShift ∈dom(ppr)
Bảng4.3 mô tả một mệnh đề cần chứng minh được sinh ra để thỏa mãn bất biến và chưa được chứng minh tự động bằng công cụ RODIN. Mệnh đề này được chứng minh bằng cách bổ sung thêm tiên đề kk−numShift ∈ dom(ppr). Kết quả chứng minh cho thấy hiện tại công cụ RODIN chưa hỗ trợ chứng minh tự động hoàn toàn, tuy nhiên các mệnh đề chưa được chứng minh tự động có thể được chứng minh bằng cách bổ sung các tiên đề hoặc chứng minh thủ công.
Bảng 4.3 – Mệnh đề cần chứng minh để bảo toàn bất biến của sự kiện Bit- ShiftLeftIf chưa được chứng minh tự động
ppr ∈N1→0..1 size pp >0 numShift >0 numShift <size pp kk ∈N ShiftLeftIf/inv4/INV kk >0 kk >numShift ` ppr /{kk →ppr(kk−numShift)} ∈N1→0..1
4.4 Phương pháp kiểm chứng sự đồng thuận củahệ thống đa thành phần tại mức mã nguồn hệ thống đa thành phần tại mức mã nguồn 4.4.1 Mô tả phương pháp
Phương pháp kiểm chứng sự đồng thuận của hệ thống đa thành phần tại mức mã nguồn được mô tả như sau (Hình4.7).
– Bản thiết kế hệ thống đa thành phần được đặc tả bằng các biểu đồ UML hoặc Event-B,
– Người lập trình cài đặt (sinh mã) Java dựa trên các đặc tả hệ thống,
– Sinh mã cho giao diện của lớp VMListener trong JPF để kiểm chứng sự tuân thủ của hệ thống đa thành phần so với đặc tả của nó.