LOGO
Đặc tả hình thức
Giới thiệu về Java Modeling Language
Nguyễn Thị Minh Tuyền
Nguyễn Thị Minh Tuyền
1
Nội dung
v Giới thiệu về JML
v Công cụ hỗ trợ cho JML
v ESC/Java2: Cách sử dụng và thuộc
tính
v ESC/Java2: các cảnh báo
v Một số chỉ dẫn về đặc tả và điểm yếu
v JML nâng cao
Nguyễn Thị Minh Tuyền
2
Đặc tả hình thức
Java Modeling Language
v Java Modeling Language (JML)
§ http://www.eecs.ucf.edu/~leavens/JML/index.shtml
v Tài liệu:
§ http://www.kindsoftware.com/products/opensource/ESCJava2/
docs.html
v Ngôn ngữ đặc tả hình thức cho Java
§ đặc tả hành vi của các lớp trong Java
§ ghi lại các quyết định về thiết kế và cài đặt
bằng cách thêm vào trong mã nguồn Java các assertion
§ điều kiện trước (pre-condition)
§ điều kiện sau (post-condition)
§ bất biến (invariant)
v Mục tiêu: người lập trình Java nào cũng có thể
sử dụng dễ dàng.
Nguyễn Thị Minh Tuyền
3
Đặc tả hình thức
v JML assertion được thêm vào dưới
dạng các chú thích trong file .java
§ /*@ ... @*/ hoặc //@
v Các thuộc tính được đặc tả dưới dạng
các biểu thức boolean và được mở
rộng với một số toán tử (\old, \forall,
\result, ...).
v sử dụng một số từ khóa ( requires,
ensures, signals, assignable, pure,
invariant, non_null, ...)
Nguyễn Thị Minh Tuyền
4
Đặc tả hình thức
Điều kiện trước và sau
(pre- và post-condition)
v Điều kiện trước của một phương thức
là điều kiện phải đúng trước khi gọi
phương thức đó.
§ Sử dụng từ khóa requires.
v Điều kiện sau của một phương thức là
điều kiện phải đúng khi nó kết thúc.
§ Điều kiện sau bình thường đặc tả cái gì phải đúng khi
phương thức trả về bình thường, nghĩa là không có
ngoại lệ. Sử dụng từ khóa ensures.
§ Điều kiện sau đặc tả những gì xảy ra khi có ngoại lệ.
Sử dụng từ khóa signals.
Nguyễn Thị Minh Tuyền
5
Đặc tả hình thức
nguon tai.lieu . vn