.1 Các phép toán logic

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm chứng giao diện phần mềm bằng phương pháp mô hình hóa event b (Trang 25 - 28)

Tên phép toán Ký hiệu

Tuyển 

Hội 

Phủ định 

Kéo theo 

Tương đương 

Lượng từ với mọi 

Các phép toán tập hợp: phép hợp , phép giao , phép hiệu \, quan hệ bao hàm , quan hệ thuộc .

Các kiểu dữ liệu

 Kiểu nguyên là kiểu dữ liệu số được ký hiệu là ℤ.

 Kiểu logic ký hiệu là BOOL chỉ nhận một trong 2 giá trị BOOL={TRUE, FALSE}.

 Kiểu tập hợp do người dùng định nghĩa.

 Kiểu tập con của một tập ký hiệu là ℙ.

2.3.4 Tinh chỉnh

Tinh chỉnh (refinement) là giai đoạn cài đặt hay cụ thể hóa một machine hoặc một context trừu tượng thành một machine hoặc một context cụ thể hơn, chi tiết hơn bằng việc bổ sung vào các đặc tả [9] [4]. Một machine có thể refines một machine trừu tượng, một context có thể extends một context trừu tượng nào đó. Một event trong machine trừu tượng có thể được refines thành một hoặc một số sự kiện trong machine cụ thể. Các thành phần của machine và context trừu tượng được sử dụng trong các machine và context tương ứng refines và extends từ chúng. Hình 2.10 là ví dụ mô tả mối quan hệ giữa machine và context trừu tượng và các tinh chỉnh của chúng.

Hình 2.10 Ví dụ về mối quan hệ Refinement trong Event-B

M0 M2 M1 C01 C01 C1 refines extends sees sees sees sees refines extends

2.3.5 Mệnh đề chứng minh

Mệnh đề chứng minh POs (Proof Obligations) là những biểu thức logic mà cần phải được chứng minh trong mô hình Event-B, việc chứng minh nhằm đảm bảo các machine là an toàn. POs được thực hiện một cách tự động nhờ công cụ Rodin Platform vì vậy người ta còn gọi là chứng minh tự động. Rodin thực hiện kiểm tra tĩnh (bao gồm phân tích từ vựng, phân tích cú pháp, loại kiểm tra) các machine và context và sau đó đưa ra những mệnh đề cần chứng minh và đưa vào trong một file để chứng minh tự động [4].

Các mệnh đề chứng minh trong Event-B được mô tả thành các luật chứng minh và được định nghĩa thành các loại khác nhau như: Invariant preservation (INV), Variant (VAR), Deadlock Freeness (DLF), Theorem (THM), well- definedness (WD),…, chúng được sinh ra tự động trong Rodin. Để xác định các luật theo từng sự kiện thì có thể sử dụng hệ thống sơ đồ định nghĩa sự kiện như Hình 2.11 [9].

Hình 2.11 Sơ đồ định nghĩa sự kiện

 Ví dụ Invariant preservation proof obligation rule (INV): luật chứng minh này đảm bảo rằng mỗi bất biến invariant trong machine được bảo quản bởi một sự kiện event. Nếu cho một sự kiện evt và một bất biến

inv(s, c, v) thì mệnh đề chứng minh có tên là “evt / inv / INV” và với sự

kiện được định nghĩa như Hình 2.12 thì sẽ có luật tương ứng sẽ được thể hiện trong Bảng 2.2 [4]. evt any x where G(s, c, v, x) then v:| BA(s, c, v, x, v’) end

Hình 2.12 Định nghĩa sự kiện evt

Một phần của tài liệu (LUẬN văn THẠC sĩ) kiểm chứng giao diện phần mềm bằng phương pháp mô hình hóa event b (Trang 25 - 28)