bài giảng công nghệ phần mềm chương 5 đặc tả z - nguyễn thanh bình

28 597 0
bài giảng công nghệ phần mềm chương 5 đặc tả z - nguyễn thanh bình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 ðặc tả Z (5) Nguyễn Thanh Bình Khoa Công nghệ Thông tin Trường ðại học Bách khoa ðại học ðà Nẵng 2 Giới thiệu  ñược ñề xuất bởi Jean René Abrial ở ðại học Oxford  ngôn ngữ ñặc tả hình thức ñược sử dụng rộng rãi nhất  dựa trên lý thuyết tập hợp  ký hiệu toán học  sử dụng các sơ ñồ (schema)  dễ hiểu 2 3 Giới thiệu  Gồm bốn thành phần cơ bản  các kiểu dữ liệu (types) • dựa trên khái niệm tập hợp  các sơ ñồ trạng thái (state schemas) • mô tả các biến và ràng buộc trên các biến  các sơ ñồ thao tác (operation schemas) • mô tả các thao tác (thay ñổi trạng thái)  các toán tử sơ ñồ (schema operations) • ñịnh nghĩa các sơ ñồ mới từ các sơ ñồ ñã có 4 Kiểu dữ liệu  mỗi kiểu dữ liệu là một tập hợp các phần tử  Ví dụ  {true, false} : kiểu lô-gíc  N: kiểu số tự nhiên  Z: kiểu số nguyên  R: kiểu số thực  {red, blue, green} 3 5 Kiểu dữ liệu  Các phép toán trên tập hợp  Hội: A ∪ B  Giao: A ∩ B  Hiệu: A ⁄ B  Tập con: A ⊆ B  Tập các tập con: P A • ví dụ: P {a, b} = {{}, {a}, {b}, {a, b}} 6 Kiểu dữ liệu  một số kiểu dữ liệu cơ bản ñã ñược ñịnh nghĩa trước  kiểu số nguyên Z  kiểu số tự nhiên N  kiểu số thực R   có thể ñịnh nghĩa các kiểu dữ liệu mới  ANSWER == yes | no  [PERSON] • sử dụng cặp ký hiệu [ và ] ñể ñịnh nghĩa kiểu cơ bản mới 4 7 Kiểu dữ liệu  Khai báo kiểu  x : T • x là phần tử của tập T  Ví dụ • x : R • n : N • 3 : N • red : {red, blue, green} 8 Vị từ  Một vị từ (predicate) ñược sử dụng ñể ñịnh nghĩa các tính chất của biến/giá trị  Ví dụ  x > 0  π ∈ R 5 9 Vị từ  Có thể sử dụng các toán tử lô-gíc ñể ñịnh nghĩa các vị từ phức tạp  Và: A ∧ B  Hoặc: A ∨ B  Phủ ñịnh: ¬ A  Kéo theo: A ⇒ B  Ví dụ  (x > y) ∧ (y > 0)  (x > 10) ∨ (x = 1)  (x > 0) ) ⇒ x/x = 1  ( ¬ (x ∈ S)) ∨ (x ∈ T) 10 Vị từ  Các toán tử khác  (∀x : T • A) • A ñúng với mọi x thuộc T • Ví dụ: (∀x : N • x - x =0)  (∃x : T • A) • A ñúng với một số giá trị x thuộc T • Ví dụ: (∃x : R • x + x = 4)  {x : T | A} • biểu diễn các phần tử x của T thỏa mãn A • Ví dụ: N = {x : Z | x ≥ 0} 6 11 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ừ 12 Sơ ñồ trạng thái  ðặc tả Z chứa  các biến trạng thái  khởi gán biến  các thao tác trên các 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, biểu diễn bởi các vị từ 7 13 Sơ ñồ thao tác  Khởi gán biến  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  kí hiệu ‘ (dấu nháy ñơn) biểu diễn giá trị mới của biến 14 Sơ ñồ thao tác  Thao tác có thể có các tham số vào và ra  tên tham số vào kết thúc bởi kí tự “?”  tên tham số ra kết thúc bởi kí tự “!” 8 15 Sơ ñồ thao tác  Kí hiệu Ξ mô tả thao tác không thể thay ñổi biến trạng thái 16 Ví dụ 1  ðặc tả hệ thống ghi nhận các nhân viên vào/ra tòa nhà làm việc  Kiểu dữ liệu [Staff] là kiểu cơ bản mới của hệ thống  Trạng thái của hệ thống bao gồm • tập hợp các người sử dụng hệ thống user • tập hợp các nhân viên ñang vào in • tập hợp các nhân viên ñang ra out bất biến của hệ thống 9 17 Ví dụ 1  ðặc tả thao tác ghi nhận một nhân viên vào 18 Ví dụ 1  ðặc tả thao tác ghi nhận một nhân viên ra 10 19 Ví dụ 1  ðặc tả thao tác kiểm tra một nhân viên vào hay ra  Thao tác này cho kết quả là phần tử của kiểu QueryReply == is_in | is_out  ðặc tả thao tác 20 Ví dụ 1  Khởi tạo hệ thống [...]... 50 25 Ví d 3 Tìm ngày sinh c a m t ngư i thông báo khi tìm th y khi ñó 51 Ví d 3 Tìm nh ng ngư i cùng ngày sinh 52 26 Total Function ñ nh nghĩa ánh x t t t c giá tr c a domain ñ n range ký hi u nghĩa là 53 Total Function Ví d 54 27 Total Function S d ng ñ ñ nh nghĩa h ng s Ví d 55 Các ký hi u Toán t lô-gíc T ph p Quan h và Hàm 56 28 ... ký hi u ví d lưu ý 45 Ví d 3 ð c t h th ng qu n lý ngày sinh s d ng ki u cơ b n m i [Person, Date] m i ngư i ch có m t ngày sinh duy nh t kh i t o h th ng 46 23 Ví d 3 Thêm m t ngư i vào h th ng 47 Ví d 3 ði u gì x y ra n u name? ∉ dom(bb) Ch nh s a ngày sinh Xóa m t ngư i 48 24 Ví d 3 Tìm ngày sinh c a m t ngư i 49 Ví d 3 Tìm ngày sinh c a m t ngư i trư ng h p tìm không th y 50 25 Ví d 3 Tìm ngày sinh... p l i • name? ∉ users 25 Ví d 1 (ti p) C i ti n thao tác StaffQuery ð c t l i ki u QueryReply QueryReply == is_in | is_out | not_registered Khi ñó RobustStaffQuery == StaffQuery ∨ BadStaffQuery 26 13 Ví d 1 (ti p) 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 27 Ví d 1 (ti p) 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 Khi ñó GoodCheckIn... chưa ñư c ñăng ký 29 Ví d 1 (ti p) C i ti n thao tác CheckIn X lý thêm hai trư ng h p l i 30 15 Ví d 1 (ti p) C i ti n thao tác CheckIn Khi ñó CheckInReply == ok | already_in | not_registered RobustCheckIn == GoodCheckIn ∨ BadCheckIn1 ∨ BadCheckIn2 31 Quan h C p ph n t di n có th t ñư c bi u (x, y) Tích ð -các c a hai ki u T1 và T2 T1 x T2 (x, y) : T1 x T2 32 16 Quan h Quan h (relation) là t p các... hi u: dom • ví d : dom(directory) = {mary, john, jim, jane} t p h p các thành ph n th hai trong m t quan h ñư c g i là range • kí hi u: ran • ví d : ran(directory) = {287373, 398620, 829483, 493028} 35 Quan h Phép tr mi n (domain subtraction) ký hi u: bi u di n quan h R v i các ph n t trong mi n S ñã b lo i b Nghĩa là: 36 18 Quan h Phép tr mi n (domain subtraction) Ví d : Khi ñó: 37 Ví d 2 ð c t danh . 1 ðặc tả Z (5) Nguyễn Thanh Bình Khoa Công nghệ Thông tin Trường ðại học Bách khoa ðại học ðà Nẵng 2 Giới thiệu  ñược ñề xuất bởi Jean René Abrial ở ðại học Oxford  ngôn ngữ ñặc tả hình. tả thao tác ghi nhận một nhân viên vào 18 Ví dụ 1  ðặc tả thao tác ghi nhận một nhân viên ra 10 19 Ví dụ 1  ðặc tả thao tác kiểm tra một nhân viên vào hay ra  Thao tác này cho kết quả là phần. (∀x : N • x - x =0)  (∃x : T • A) • A ñúng với một số giá trị x thuộc T • Ví dụ: (∃x : R • x + x = 4)  {x : T | A} • biểu diễn các phần tử x của T thỏa mãn A • Ví dụ: N = {x : Z | x ≥ 0} 6 11 Sơ

Ngày đăng: 17/10/2014, 07:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan