Xem mẫu
LOGO
Đặc tả hình thức
JML nâng cao
Nguyễn Thị Minh Tuyền
Nội dung slide này được dịch từ các slide của David Cok, Joe Kiniry, Eric Poll
1
Từ khóa chính trong JML
v requires
v ensures
v signals
v assignable
v normal_behavior
v invariant
v non_null
v pure
v \old, \forall, \exists, \result
Nguyễn Thị Minh Tuyền
2
Đặc tả hình thức
Các tính năng nâng cao
v Visibility
v Đặc tả các ngoại lệ
v Mệnh đề assignable và nhóm dữ liệu
v Aliasing
v Thừa kế đặc tả, ensuring behavioural
subtyping
v Các trường chỉ ở mức đặc tả: ghost và
model
v Ngữ nghĩa của invariant
Nguyễn Thị Minh Tuyền
3
Đặc tả hình thức
v Visibility
Nguyễn Thị Minh Tuyền
4
Đặc tả hình thức
Visibility
v JML áp dụng các quy tắt về visibility
tương tự như Java.
v Ví dụ:
public class Bag{
...
private int n;
//@ requires n > 0;
public int extractMin(){ ... }
không phải là kiểu hợp lệ, vì visibility
của phương thức extractMin là public
chỉ đến trường n có visibility là private.
Nguyễn Thị Minh Tuyền
5
Đặc tả hình thức
nguon tai.lieu . vn