Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
1,83 MB
Nội dung
NGÔN NGỮ ĐẶC TẢ Z GVHD: Lê Thị Mỹ Hạnh Nhóm:13.NH11 SVTH: -Nguyễn Khắc Ẩn – 13T2 -Nguyễn Văn Vũ – 13T2 Ngôn ngữ đặc tả Z • 1.GIỚI THIỆU • 2.CÁC KIỂU DỮ LIỆU • 3.SƠ ĐỒ • 4.QUAN HỆ • 5.FUNCTION Giới thiệu • Ngôn ngữ Z ngôn ngữ đặc tả hình thức cho hệ thống máy tính dựa sở lý thuyết tập hợp, logic vị từ sử dụng sơ đồ để biểu diễn • Ngôn ngữ đặc tả hình thức sử dụng ký hiệu toán học để mô tả xác thuộc tính mà không phụ thuộc vào cách thuộc tính thực • Chúng mô tả hệ thống phải làm không nói rõ chúng thực Giới thiệu Gồm có thành phần bản: • Các kiểu liệu (types) – Dựa khái niệm tập hợp • Sơ đồ trạng thái (state schemas) – Mô tả biến ràng buộc biến • Sơ đồ thao tác (operation schemas) – Mô tả thao tác(thay đổi trạng thái) • Các toán tử sơ đồ (schemas operations) – Định nghĩa sơ dồ từ sơ đồ có Kiểu liệu Mỗi kiểu liệu tập hợp phần tử • Các ví dụ tập hợp: { 3, 6, } { windows, unix, mac } { false, true } (logic) N (the set of natural numbers) Z (the set of integers) R (the set of real numbers) {} (the empty set) Kiểu liệu Các phép toán tập hợp: Union (Hội): A ∪ B Intersection (Giao): A ∩ B Difference(Hiệu): A\ B Subset(Tập con): A ⊆ B -ví dụ: {c, b} ⊆ {a, b, c} Power Set: P A (set of subsets of A) -ví dụ: P{a, b, c} = { {}, {a}, {b}, {c},{a, b}, {b, c}, {a, c},{a, b, c} } Kiểu liệu Một số kiểu liệu định nghĩa từ trước: Kiểu số nguyên Z Kiểu số tự nhiên N Kiểu số thực R Định nghĩa kiểu liệu cách đặt tên dấu ngoặc vuông [] [Name,Addresss] Nếu biết xác giá trị kiểu sử dụng khai báo liệt kê VD:Answer=yes|no Khai báo kiểu x:T => x phần tử T Vị từ • Một vị từ (predicate) sử dụng để định nghĩa tính chất biến/giá trị – Ví dụ • x>0 • π∈R • Có thể sử dụng toán tử logic để định nghĩa vị từ phức tạp – Phép and: A∧B – Phép Or : A∨B – A⇒B – Not ¬ A Vị từ • Các toán tử khác – (∀x : T • A) • A với x thuộc T • Ví dụ: (∀x: N • x - x =0) – (∃x : T • A) • A với số giá trị x thuộc T • Ví dụ: (∃x : R • x + x = 4) – {x : T | A} • biểu diễn phần tử x T thỏa mãn A • Ví dụ: N = {x : Z | x ≥ 0} Sơ đồ trạng thái Cấu trúc sơ đồ trạng thái gồm: • Tên sơ đồ • Khai báo biến • Định nghĩa vị từ SchemaName x:X Predicate Toán tử sơ đồ • Các sơ đồ có: • Tạo sơ đồ – Schema3 == Schema1 ∧ Schema2 – Schema4 == Schema1 ∨ Schema2 v • Ví dụ:Cải tiến thao tác CheckIn –Mở rộng thao tác cho trường hợp ghi nhận thành công –Xử lý thêm hai trường hợp lỗi •name? ghi nhận(đã kiểm tra) •name? chưa đăng ký(không phải nhân viên) • Khai báo biến: • CheckInReply == ok | already_in | not_registered • Ghi nhận thành công • Đã ghi nhận • Chưa đăng ký • Khi đó: – GoodCheckIn == CheckIn ∧ Success – RobustCheckIn == GoodCheckIn ∨ BadCheckIn1 ∨ BadCheckIn2 Quan hệ Cặp phần tử có thứ tự biểu diễn (x,y) Tích đề hai kiểu T1 T2 T1 x T2 (x,y):T1 x T2 Quan hệ Quan hệ (relation) tập cặp phần tử có thứ tự Có thể ký hiệu quan hệ • + T ↔ S == P • Directory: person (TXS) ↔ Number Quan hệ • Domain Range – Tập hợp phần thứ quan hệ gọi domain • Ký hiệu: dom • Ví dụ: – – dom(directory) = {mary, john, jim, jane} Tập hợp thành phần thứ hai quan hệ gọi range • Kí hiệu: ran • Ví dụ: – ran(directory) = {287373, 398620, 829483, 493028} Quan hệ • Phép trừ miền (domain subtraction) – – Ký hiệu: Function • Xét quan hệ R tập X Y, phần tử thuộc tập X có nhiều ảnh y thuộc tập Y qua R ta nói quan hệ R hàm từ tập X đến tập Y • Hàm chia làm loại chính: – Hàm riêng phần.(Partial function) – Hàm toàn phần (Total function) Partial Function • quan hệ mà phần tử domain cho giá trị range • Ký hiệu: • Nghĩa • Có thể áp dụng cho toàn tử hàm Partial Function • Toán tử tải hàm (Function Overriding) – Thay mục vào mục – Ký hiệu – Ví dụ: – Lưu ý: TOTAL FUNCTION • Total Function – Định nghĩa ánh xạ từ tất giá trị domain đến range – Ký hiệu: TOTAL FUNCTION -Ví dụ: Thank you [...]...Sơ đồ trạng thái Đặc tả Z chứa: • Biến trạng thái • Khởi gán biến • Các thao tác trên biến • Biến trạng thái có thể có các bất biến – Điều kiện mà luôn đúng,Counter biểu diển bởi các vị từ ctr: N 0 ≤ ctr ≤ max Sơ đồ thao tác -Khởi gán biến: Sơ đồ thao tác -Khai báo thao tác trên biến •Kí hiệu ∆ biểu diễn biến trạng thái bị thay đổi bởi thao tác... dụ:Cải tiến thao tác CheckIn –Mở rộng thao tác cho trường hợp ghi nhận thành công –Xử lý thêm hai trường hợp lỗi •name? đã được ghi nhận(đã kiểm tra) •name? chưa được đăng ký(không phải nhân viên) • Khai báo biến: • CheckInReply == ok | already_in | not_registered • Ghi nhận thành công • Đã ghi nhận • Chưa đăng ký • Khi đó: – GoodCheckIn == CheckIn ∧ Success – RobustCheckIn == GoodCheckIn ∨ BadCheckIn1