LOGO
Đặc tả hình thức
Tuần 1: Giới thiệu
Nguyễn Thị Minh Tuyền
Nguyễn Thị Minh Tuyền
1
v Giảng viên lý thuyết:
§
§
§
§
Nguyễn Thị Minh Tuyền
FIT, trường ĐH Khoa học Tự nhiên tp Hồ Chí Minh
Email:
Website: o/teaching.html
• Được cập nhật thường xuyên.
v Giảng viên thực hành:
Nguyễn Thị Minh Tuyền
2
Đặc tả hình thức
Thơng tin về mơn học và tài liệu
v Khơng có giáo trình
v Slide của mơn này dựa vào slide của
mơn Formal Methods in Software
Engineering của trường Đại học Iowa.
v Sách tham khảo về kiến thức logic
§ Logic in Computer Science. M. Huth and M. Ryan.
Cambridge University Press, 2004 (2nd edition).
§ Handbook of Practical Logic and Automated Reasoning.
John Harrison. Intel Corporation, Portland, Oregon.
Nguyễn Thị Minh Tuyền
3
Đặc tả hình thức
Mục tiêu của môn học
v Tập trung vào đặc tả hình thức.
v Giới thiệu thêm về phương pháp hình thức.
v Hiểu được phương pháp hình thức hỗ trợ cho việc tạo
ra các phần mềm có chất lượng cao như thế nào.
v Học về mơ hình hóa hình thức và các ngôn ngữ đặc
tả.
v Viết và hiểu các đặc tả yêu cầu hình thức.
v Học về các phương pháp hình thức chính để kiểm
định phần mềm.
v Biết được sử dụng phương pháp hình thức nào và khi
nào.
v Sử dụng các cơng cụ tương tác và tự động để kiểm
định mơ hình và mã nguồn.
Nguyễn Thị Minh Tuyền
4
Đặc tả hình thức
v Nội dung chính của mơn này tập trung vào thiết
kế ngữ nghĩa ở mức cao và các thuộc tính ở mức
mã nguồn.
v Nhấn mạnh và đặc tả dựa vào công cụ và các
phương pháp thẩm định (validation methods)
Nguyễn Thị Minh Tuyền
5
Đặc tả hình thức
Phần I: Thiết kế ở mức cao
v Kiến thức chung về logic
v Ngơn ngữ Alloy
§ Là ngơn ngữ mơ hình hóa đơn giản cho thiết kế phần mềm.
§ Dễ dàng phân tích tự động một cách hồn chỉnh
§ Nhắm vào việc diễn đạt các hành vi và ràng buộc cấu trúc phức
tạp trong một hệ thống phần mềm.
§ Cơng cụ mơ hình hóa trực quan sử dụng logic bậc nhất (first-order
logic).
§ Phân tích tự động dùng SAT solving.
v Sau khi học xong, SV sẽ biết
§ Thiết kế và mơ hình hóa các hệ thống sử dụng ngơn ngữ Alloy
§ Kiểm tra mơ hình và các thuộc tính của nó bằng Alloy Analyzer
§ Hiểu cái gì có thể và khơng thể diễn đạt được bằng Alloy.
Nguyễn Thị Minh Tuyền
6
Đặc tả hình thức
Phần II: Đặc tả ở mức mã nguồn
v Một số ngôn ngữ đặc tả ở mức mã
nguồn:
§
§
§
§
§
JML (Java Modeling Language) (Java)
Dafny (C#)
Krakatoa (Java/C)
ACSL (ANSI/ISO C Specification Language)(C)
…
Nguyễn Thị Minh Tuyền
7
Đặc tả hình thức
Phần II: Đặc tả ở mức mã nguồn
v Ngôn ngữ : JML (Java)
§ Dựa vào mơ hình thiết kế dựa vào ràng buộc (design by
contract).
§ Đặc tả được “nhúng” trong mã nguồn.
§ Nhiều cơng cụ kiểm thử có sẵn.
v Sau khi học xong SV sẽ biết
§ Viết các ràng buộc và đặc tả hình thức dùng JML.
§ Hiểu mã nguồn và đặc tả được biểu diễn bằng logic như
thế nào.
§ Kiểm thử các thuộc tính hàm của chương trình bằng các
cơng cụ tự động.
Nguyễn Thị Minh Tuyền
8
Đặc tả hình thức
Đánh giá môn học
v Thực hành (30%).
v Thi giữa kỳ (15%).
v Thi cuối kỳ (60%).
v Chuyên cần và tham gia xây dựng bài
giảng (10%).
Nguyễn Thị Minh Tuyền
9
Đặc tả hình thức
Quy định chung
v Tuân thủ nghiêm túc các nội quy và
quy định của Khoa và Trường.
v Không được vắng quá 3 buổi trên tổng
số các buổi học lý thuyết.
v Không gian lận trong quá trình làm
bài tập và trong thi cử.
v Nộp bài tập đúng thời hạn quy định
§ Trừ 15% bài tập cho mỗi ngày nộp trễ.
§ Nộp trễ trên 4 ngày => 0 điểm.
10
Đặc tả hình thức
Quy định của môn học
v Tắt điện thoại hoặc để điện thoại ở
chế độ im lặng.
v Không sử dụng điện thoại trong giờ
học.
v Khơng sử dụng máy tính bảng, máy
tính xách tay và các thiết bị điện tử
khác trong giờ học.
v Không ăn vặt trong lớp.
11
Đặc tả hình thức
LOGO