Bài giảng Đặc tả hình thức Chương 0 do Nguyễn Thị Minh Tuyền biên soạn nhằm giúp các bạn nắm được mục tiêu của môn học là: Tập trung vào đặc tả hình thức, giới thiệu thêm về phương pháp hình thức, 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, học về mô hình hóa hình thức và các ngôn ngữ đặc tả, viết và hiểu các đặc tả yêu cầu hình thức, học về các phương pháp hình thức chính để kiểm định phần mềm, biết được sử dụng phương pháp hình thức nào và khi nào.
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 v Giảng viên lý thuyết: § § § § Nguyễn Thị Minh Tuyền FIT, trường ĐH Khoa học Tự nhiên 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: Nguyễn Thị Minh Tuyền Đặc tả hình thức Thơng tin mơn học tài liệu v Khơng có giáo trình v Slide mơn dựa vào slide môn Formal Methods in Software Engineering trường Đại học Iowa v Sách tham khảo 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 Đặc tả hình thức Mục tiêu môn học v Tập trung vào đặc tả hình thức v Giới thiệu thêm phương pháp hình thức v Hiểu phương pháp hình thức hỗ trợ cho việc tạo phần mềm có chất lượng cao v Học mô hình hóa hình thức ngơn ngữ đặc tả v Viết hiểu đặc tả yêu cầu hình thức v Học phương pháp hình thức để kiểm định phần mềm v Biết sử dụng phương pháp hình thức v Sử dụng công cụ tương tác tự động để kiểm định mơ hình mã nguồn Nguyễn Thị Minh Tuyền Đặc tả hình thức v Nội dung môn tập trung vào thiết kế ngữ nghĩa mức cao thuộc tính mức mã nguồn v Nhấn mạnh đặc tả dựa vào công cụ phương pháp thẩm định (validation methods) 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 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 cách hồn chỉnh § Nhắm vào việc diễn đạt hành vi ràng buộc cấu trúc phức tạp hệ thống phần mềm § Cơng cụ mơ hình hóa trực quan sử dụng logic bậc (first-order logic) § Phân tích tự động dùng SAT solving v Sau học xong, SV biết § Thiết kế mơ hình hóa hệ thống sử dụng ngơn ngữ Alloy § Kiểm tra mơ hình thuộc tính Alloy Analyzer § Hiểu khơng thể diễn đạt Alloy 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) … 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ả “nhúng” mã nguồn § Nhiều cơng cụ kiểm thử có sẵn v Sau học xong SV biết § Viết ràng buộc đặc tả hình thức dùng JML § Hiểu mã nguồn đặc tả biểu diễn logic § Kiểm thử thuộc tính hàm chương trình cơng cụ tự động 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 kỳ (15%) v Thi cuối kỳ (60%) v Chuyên cần tham gia xây dựng giảng (10%) Nguyễn Thị Minh Tuyền Đặc tả hình thức Quy định chung v Tuân thủ nghiêm túc nội quy quy định Khoa Trường v Không vắng buổi tổng số buổi học lý thuyết v Khơng gian lận q trình làm tập thi cử v Nộp tập thời hạn quy định § Trừ 15% tập cho ngày nộp trễ § Nộp trễ ngày => điểm 10 Đặc tả hình thức Quy định môn học v Tắt điện thoại để điện thoại chế độ im lặng v Không sử dụng điện thoại học v Khơng sử dụng máy tính bảng, máy tính xách tay thiết bị điện tử khác học v Không ăn vặt lớp 11 Đặc tả hình thức LOGO ... § Viết ràng buộc đặc tả hình thức dùng JML § Hiểu mã nguồn đặc tả biểu diễn logic § Kiểm thử thuộc tính hàm chương trình cơng cụ tự động Nguyễn Thị Minh Tuyền Đặc tả hình thức Đánh giá... Language)(C) … 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ả “nhúng”... Alloy § Kiểm tra mơ hình thuộc tính Alloy Analyzer § Hiểu khơng thể diễn đạt Alloy 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: §