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: ntmtuyen@fit.hcmus.edu.vn § Website: http://www.tuyennguyen.info/teaching.html
• Được cập nhật thường xuyên. v Giảng viên thực hành:
2 Nguyễn Thị Minh Tuyền Đặ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.
3 Nguyễn Thị Minh Tuyền Đặ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.
4 Nguyễn Thị Minh Tuyền Đặ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)
5 Nguyễn Thị Minh Tuyền Đặ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 hoà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.
6 Nguyễn Thị Minh Tuyền Đặ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) § …
7 Nguyễn Thị Minh Tuyền Đặ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.
8 Nguyễn Thị Minh Tuyền Đặ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%).
9 Nguyễn Thị Minh Tuyền Đặ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