1. Trang chủ
  2. » Công Nghệ Thông Tin

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

Đ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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 304,35 KB

Nội dung

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