Kiến trúc của HIP/SLEEK

Một phần của tài liệu Nghiên cứu về separation logic và ứng dụng vào hệ thống kiểm định tự động (Trang 63 - 64)

Tổng quan kiến trúc về hệ thống HIP/SLEEK được mô tả như hình dưới đây:

Hình 5- Tổng quan kiến trúc HIP/SLEEK

Kiến trúc hệ thống HIP/SLEEK gồm hai thành phần chính: Front-End và Back-End.Phần Front-End của hệ thống (HIP), chương trình người dùng sẽ được đặc tả dưới dạng ngôn ngữ đặc tả dựa trên Separation Logic, trong đó người dùng sẽ định nghĩa các vị từ dưới dạng công thức Separation để đặc tả cấu trúc dữ liệu dạng Shape và các thuộc tính cơ bản của nó như Size, Bag. Các thủ tục chương trình và vòng lặp chương trình bắt buộc viết dưới dạng chú thíchmột hoặc nhiều đặc tả tiền điều kiện/hậu điều kiện (Pre/Post Conditions) trước khi thực hiện việc kiểm định tính đúng đắn chương trình.HIP thực hiện việc biến đổi các suy diễn đặc tảdưới dạng công thức thuần túy mà có thể được chứng minhtính đúng đắn bởi SLEEK.

Phần Back-End của hệ thống (SLEEK), hay nói cách khác HIP làm việc dựa trên các chứng minh của SLEEK hoặc HIP thực hiện việc gọi SLEEK hoàn toàn trong suốt với người dùng.SLEEK thực hiện việc chứng minh hoàn toàn tự động cho Separation Logic bởi khả năng suy diễn Frame.SLEEK làm việc với dữ liệu đầu

Học viên thực hiện: Nguyễn Đức Cường – Lớp 11BCNTT Trang64

vào là hai trạng thái Heap được biểu diễn dưới dạng thức Separation, sau đó thực hiện việc kiểm tra một công thức (Antecedent) là suy diễn ra công thức còn lại (Consequent).Công thức Antecedent có thể bao hàm nhiều hơn trạng thái Heap của công thức Consequent, chính vì vậy phần trạng thái Heap dư thừa này là thể hiện cho các điều kiện Frame và là kết quả trả lại của quá trình chứng minh.

Một phần của tài liệu Nghiên cứu về separation logic và ứng dụng vào hệ thống kiểm định tự động (Trang 63 - 64)

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

(94 trang)