giáo trình môn Đặc tả hình thức-ictu

73
0 TRƯỜNG ĐẠI HC CÔNG NGHTHÔNG TIN VÀ TRUYN THÔNG KHOA CÔNG NGHTHÔNG TIN BMÔN CÔNG NGHPHN MM -------------o0o------------ GNG N Đ T N TC Số ỉ: 2TC Hđào ạo: Đại hc Ngành: Công nghphn mm Khoa: Công nghthông tin

Upload: ngo-tinh

Post on 18-Jan-2017

271 views

Category:

Education


8 download

TRANSCRIPT

Page 1: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

0

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

-------------o0o------------

G NG

N Đ T N T C

Số ỉ: 2TC

Hệ đào ạo: Đại học

Ngành: Công nghệ phần mềm

Khoa: Công nghệ thông tin

Page 2: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

-------------o0o------------

G NG

N Đ T N T

Số ỉ: 2TC

Hệ đào ạo: Đại học

Ngành: Công nghệ phần mềm

Khoa: Công nghệ thông tin

Năm ọc: 2015-2016

hoa

Page 3: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

2

Ụ LỤ

N Đ .......................................................................... 3

1.1. Mụ iêu mô ọ ................................................................................................ 3

1.2. Mộ số k ái iệm ơ bả ..................................................................................... 3

N 2 .................................................................................................................. 13

Á SỞ Đ ......................................................................................... 13

2 LO MỆN ĐỀ ........................................................................................... 13

2.2. LO Ị Ừ ................................................................................................... 21

2.3. LÝ UYẾ ẬP ỢP ................................................................................... 23

N 3 ................................................................................................................... 26

Đ Á ÀN P ẦN B N .................................................................... 26

3.1. Đ K ỂU DỮ L ỆU ................................................................................. 26

3.2. Đ ÀM .................................................................................................. 28

3.3. Đ ĐỆ QUY ............................................................................................ 30

3.4. Á QUY Ắ ÍN OÁN.......................................................................... 32

3.5. Á S ĐỒ ẠN Á ............................................................................. 33

3.6. Á ĐỐ ỢN ÌN Ọ ....................................................................... 35

3.7. Á ÀN BUỘ .......................................................................................... 38

N 4 ................................................................................................................... 43

Đ À ÍN ĐÚN ĐẮN ÀM ............................................................. 43

4.1. Á P N P ÁP K ỂM ÍN ĐÚN ĐẮN ................................. 43

4.2. CHỨN M N Ớ Á LUẬ SUY D ỄN ................................................ 46

N 5 ................................................................................................................... 52

N ÔN N Ữ Đ Z .............................................................................................. 52

5.1. á à p ầ ủa gô gữ ........................................................................... 52

5.2. iả đồ (s emas) ............................................................................................. 58

5.3. á p ép oá rê giả đồ ................................................................................ 67

Page 4: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

3

ƯƠNG 1. TR Đ T

1.1. ụ tiêu ọ

Cung cấp kiến thức cốt lõi:

Về á p ươ g p áp ì ức dựa rê ơ sở toán học chặt chẽ.

Một số kỹ thuậ đặc tả và ngôn ngữ đặc tả thông dụng.

iúp gười học:

Có khả ă g diễn tả được các yêu cầu bài toán từ quá trình phân tích

hệ thống.

Mô tả cách xử lý yêu cầu một cách chặt chẽ và đú g đắn.

Hệ thống hóa lại các kiểu dữ liệu vật lý và các kiểu dữ liệu trừu

ượng.

Giới thiệu ngôn ngữ đặc tả thông dụ g: DM, Z, …

1.2. t số k i iệ ơ bả

Các phương pháp hình thức (formal methods)

Trong tin học, thuật ngữ p ươ g p áp ì ức (ngôn ngữ hình thức,

đặc tả hình thứ , …) ườ g đượ dù g để chỉ các kỹ thuật dựa rê ơ sở

toán học dùng trong quá trình mô tả chi tiế (đặc tả), phát triển và kiểm

chứng các hệ thống phần mềm ũ g ư p ần cứng.

Cách tiếp cậ ày ườ g được áp dụng cho các hệ thống có kết cấu chặt

chẽ, đòi ỏi độ tin cậy và tính an toàn cao, đảm bảo rằng trong quá trình xây

dựng và phát triển hệ thống xảy ra ít lỗi nhất.

á p ươ g p áp ì ứ đặc biệt hiệu quả ro g á giai đoạ đầu của

quá xây dựng hệ thố g ( ường là ở giai đoạ xá định yêu cầu và đặc tả hệ

thống), tuy nhiên chúng có thể dùng trong toàn bộ quy trình phát triển hệ

thống.

á p ươ g p áp ì ức có thể được xếp loại theo 3 mứ độ khác nhau:

Page 5: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

4

Mức 0: Đặc tả hình thứ được sử dụ g để đặc tả hệ thố g rước khi phát

triển nó. Trong nhiều rường hợp thì việc sử dụ g p ươ g p áp ì ức

ở giai đoạn này tỏ ra đặc biệt hiệu quả, nhất là về mặt chi phí.

Mức 1: Phát triển và kiểm chứng hình thức có thể được áp dụ g để tạo ra

mộ ươ g rì ( ay một hệ thống) một cách tự động, dựa rê á đặc

tả hình thứ đã ó rướ đó Quá rì ày đặc biệt thích hợp đối với các

hệ thố g đòi ỏi độ tin cậy và tính an toàn cao.

Mức 2: Chứng minh tự động.

Đặc tả (specification)

Mô tả cấu trúc hoạ động của các sự vật hiệ ượ g, quá rì ào đó iệc

mô tả này có thể ở mứ độ k ái quá , ư g ũ g ó ể là những mô tả ở

mứ độ hết sức chi tiết.

Có nhiều ngôn ngữ o p ép đặc tả:

- Ngôn ngữ tự nhiên: tiếng Việt, tiếng Anh, tiế g P áp, …

- Ngôn ngữ loài vậ : ó, im, mèo, …

- Ngôn ngữ lập rì : Pas al, , ++, Java, S arp, isual Basi , …

- Ngôn ngữ hình thức: Là ngôn ngữ với bộ từ vựng, cú pháp, ngữ g ĩa

đượ đị g ĩa ặt chẽ dựa rê ơ sở của toán học.

Đặc tả hình thức (formal specification)

Đặc tả hình thứ là đặc tả với các tính chất:

- Chính xác và nhất quán.

- Ngắn gọ và đầy đủ.

- Có thể xử lý được bởi máy vi tính.

Đặc tả hình thức có các ứng dụ g ư sau:

- Sử dụ g ro g giai đoạn phân tích, thiết kế, nhằm mụ đ ạo ra các

phác hoạ chi tiết, cụ thể và chặt chẽ về hệ thống sẽ được xây dựng.

Page 6: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

5

- Trong quá trình xây dựng hệ thố g, á đặc tả này sẽ là công cụ định

ướ g để đảm bảo hệ thố g được xây dựng một cách phù hợp và đầy

đủ.

- Sau khi hệ thố g được xây dự g ì đặc tả sẽ đó g vai rò là ướ đo

để kiểm chứng, khẳ g định hệ thố g được tạo ra ó đú g đắn và tin

cậy hay không.

Ví dụ về mô tả quá trình xây dựng phần mề t eo ì t ước

Cách 1: Dùng ngôn ngữ tự nhiên

Quy trình xây dựng phần mềm được tiến hành tuần tự qua á bước:

Xá định yêu cầu

Phân tích

Thiết kế

Lập trình

Kiểm chứng

Bảo trì

Sau khi tiế à xo g bước sẽ chuyển giao kết quả o bước kế tiếp hoặc có

thể chuyể gược lại o á bướ rướ đó ếu còn phát hiện lỗi và sau quá trình

lại tiếp tục.

Page 7: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

6

Cách 2: Dùng sơ đồ

Đánh giá: Qua âm đến kết quả thực hiện và chuyển giao giữa á giai đoạn:

- Cách 1: + Độ chính xác không cao, có thể gây ra hiểu lầm.

+ Dài dòng nếu mô tả đầy đủ.

+ Thích hợp cho việc mô tả chi tiết.

- Cách 2: + Độ xá ă g lê

+ Trình bày ngắn gọn, trực quan.

+ Phù hợp cho việc mô tả một cách tổng quát.

1.3. Lịch sử r đời và phát triển c đặc tả hình thức

Các kỹ thuật về đặc tả hình thứ đã được sử dụng trong ngành Tin học trong suốt

ơ 30 ăm qua ( ừ nhữ g ăm đầu của thập niên 70). Có rất nhiều mô ì ũ g ư

ngôn ngữ đặc tả đượ ra đời và đa số ú g đều dựa rê ơ sở của toán học.

Các ngôn ngữ đặc tả được thiết kế và ra đời để sử dụng cho nhiều mụ đ k á

nhau. Các ngôn ngữ ày được phân loại theo 3 tiêu chí chính:

Mứ đ trừu tượng hoá: Việ đặc tả hệ thống có thể có nhiều mứ độ khác

nhau.có thể một ngôn ngữ đặc tả chỉ dù g để mô tả các hệ thống ĩ và ỏ,

Xá định

Phân tích

Thiết kế

Lập trình

Kiểm chứng

Bảo trì

iai đoạn

Chuyển kết quả

Page 8: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

7

ư g ũ g ó ể hệ thống cầ đặc tả rất to lớn và phức tạp cả về quy mô

ũ g ư oạ động. Mứ độ trừu ượng hoá quyế định một ngôn ngữ đặc tả

có thể dù g để mô tả hệ thống nào. Nếu bao quát quá nhiều thứ thì cồng kềnh,

ư g ếu đơ giản quá thì sẽ không có nhiều khả ă g ứng dụng.

Phạm vi ứng dụng: Mỗi ngôn ngữ đặc tả ường thiết kế nhằm mụ đ

phục vụ cho một hay một số lĩ vực cụ thể. Ví dụ: DM được thiết kế để sử

dụng trong thiết kế các mạch số; phép toán mệ đề được sử dụng tro g đặc tả

và chứng minh các thuậ oá oá ; UN Y đượ dù g ro g đặc tả và

kiểm chứng các hệ thố g so g so g;…

Mụ đí sử dụng: Một ngôn ngữ đặc tả ườ g được thiết kế nhằm phục vụ

cho mộ ro g ai đối ượ g là o gười và máy Điều k ó k ă ở

đây là p ải làm sao du g oà đượ điều này, vì nếu ngôn ngữ đó gầ gũi với

ngôn ngữ tự nhiên của o gười thì máy tính rất khó phân tích, xử lý và diễn

giải; gược lại, nếu nó quá gần với ngôn ngữ máy ì o gười gặp khó

k ă ro g quá trình sử dụng.

Lịch sử phát triển:

Các ngôn ngữ đặc tả không hình thức:

Thế hệ thứ nhất: Booch, Rumbaugh

Thế hệ thứ hai: UML

Thế hệ thứ ba: OOCL – Object-oriented Change and Learning (dùng trong

khoa học nhận dạng và trí tuệ nhân tạo – biểu diễn tri thức).

Các ngôn ngữ đặc tả hình thức:

OCL, Predicate Calculus, CDM, UNITY, VDM, Z

Object-Z (Z++), VDM++

1.4. Đặc tả hình thức và quy trình phát triển phần mềm

Page 9: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

8

1.4.1. Quy trình chung

Vấn đề xảy ra nếu qui trình phát triển phần mềm không sử dụng đặc tả hình thức

ới việ xá đị yêu ầu k ô g rõ rà g =>

- iểu á yêu ầu eo ữ g ướ g k á au giữa k á à g và gười

u g ấp, p á riể p ầ mềm

- K ó k ă ro g việ đá giá sự p ù ợp ủa iế kế và ươ g rì ự

i với á yêu ầu đã xá đị

Mô hình phần mềm được thiết kế không theo chuẩn =>

- Việc hiểu mô hình phần mềm eo ướng khác nhau của mỗi lập trình viên -

> ươ g rì sai

- Các thuộc tính của từng module thự i ro g ươ g rì sẽ k ô g được

mô tả rõ ràng.

Việc kiểm thử phần mềm chỉ phát hiện ra lỗi ư g k ô g ể chỉ được ra vị trí

lỗi.

Đá giá và đưa ra sản phẩm cho khách hàng muộn so với quy định.

Page 10: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

9

1.4.2. Qui trình phát triển phần mềm sử dụng đặc tả hình thức

Page 11: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

10

Ưu điểm :

Yêu cầu là nhữ g đị g ĩa rõ rà g về mặt hình thức:

- Khách hàng và nhà cung cấp có nhữ g rao đổi, qua điểm nhất quán.

- Xá định tố đầu vào cho pha thiết kế.

Tài liệu của hệ thống phần mềm rõ ràng, cụ thể.

á đị g ĩa ì ức của mô hình phần mềm sẽ là đầu vào cụ thể và rõ

ràng cho việc lập trình.

Sự chứng mình hình thức của các thuộc tính hệ thống.

Xây dựng phát triển nguyên mẫu nhanh.

Tự động sinh mã.

Làm mịn theo kiểu bậc thang từ nhữ g đặc tả trừu ượ g đến nhữ g đặc tả

cụ thể.

Đưa ra được nguồn gốc của việc kiểm tra dữ liệu từ nhữ g đặc tả hình thức.

Nhược điểm :

Page 12: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

11

Những hệ hình thức khó hiểu sẽ gây k ó k ă ro g việ rao đổi với khách

hàng.

Việc xây dựng ngôn ngữ hình thức là hết sứ k ó k ă và ó ỉ thích hợp

cho những phần của hệ thống phần mềm thiếu khả ă g ay đổi cấu hình

hay qui mô.

Việc sử dụ g p ươ g ứ đặc tả nào và ngôn ngữ đặc tả nào là yêu cầu khá

ao đối với gười phát triển.

Ngay cả việ đặc tả và chứng minh hình thức vẫn có thể có lỗi xãy ra.

Giới hạn công cụ hỗ trợ cho việ đặc tả.

1.4.3. Phân tích

a) Lập các mô hình thế giới thực

Mô hình dữ liệu

Các ràng buộc

Mô hình xử lý

Mô hình trạng thái

Mô hình thời gian

Mô hình không gian

b) Dù g đặc tả

á sơ đồ

Các phát biểu về ràng buộc

á quy định về công thức tính toán

Thiết kế dữ liệu

Các hàm kiểm tra ràng buộc

Page 13: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

12

1.4.4. Thiết kế

a) Lập mô hình phần mềm

Hệ thống dữ liệu

Hệ thống giao diện

Hệ thống xử lý

b) Dù g đặc tả

á sơ đồ

Các thao tác trên màn hình

Các hàm xử lý

1.4.5. Kiểm chứng

a) Kiểm ra đú g đắn

Dữ liệu

Hàm

Giao diện

b) Dù g đặc tả

Kiểm ra đú g đắn của hàm

Ứng dụng của đặc tả

Mô tả lại các kết quả đã đạ được trong từng giai đoạn của quy trình công nghệ

phần mềm. Ứng dụng dạ g ày ườ g được sử dụng trong các báo cáo.

Phát sinh kết quả o giai đoạn kế tiếp dựa vào đặc tả của giai đoạ rước.

Page 14: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

13

ƯƠNG 2.

Á Ơ SỞ Đ T

Các n i dung chính c ươ g:

2.1. Logi ệ đề

2.2. Logi ị từ

2. . L t u ết t ợ

2.1. LOG ỆN ĐỀ

2.1.1. ệ đề

Mệ đề là những phát biểu ( âu) đú g oặ sai, ứ không thể vừa đú g vừa

sai.

dụ : á âu sau là á mệ đề

+ à Nội là ủ đô ủa ướ iệ Nam

+ ro g ập số ự iê ì 1+1 =2

+ 1+2 = 2

+ 2 là mộ số guyê ố

+ ủ đô ủa ướ Mỹ là Lo do

dụ : á âu sau k ô g là mệ đề

+ x- 1 =3

+ Bây giờ là mấy giờ ?

+ x –y=z

Các mệ đề đú g được nói là có giá trị â lý đú g (hay chân trị đú g), á mệ đề

sai được nói là có giá trị chân lý sai.

Page 15: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

14

Người a ường dùng các chữ cái p,q,r,t, để đặt tên cho các mệ đề iá rị

â lý đú g đượ ký iệu là số oặ ( rue- Đú g), giá rị â lý sai đượ ký iệu

là 0 oặ (False - Sai).

2.1.2. é to trê ệ đề

a.Phép phủ định

Phủ định của mệ đề p là mộ mệ đề K ô g p ải là p và được ký hiệu là p

(đọc là KHÔNG p). Chân trị của p là 0 nếu chân trị của p là và gược lại.

P p

0

1

1

0

í ụ : o p là mệ đề 2 là mộ số guyê ố ì p là mệ đề 2 k ô g p ải là

số guyê ố N ư vậy p ó â rị 1 nên p ó â rị là 0.

í ụ: p 4 là số guyê ố ì p 4 k ô g p ải là số guyê ố p ó â

rị là 0 nên p ó â rị là 1.

b. Phép h i (phép AND - VÀ)

Mệ đề i của hai mệ đề p và q là mộ mệ đề được ký hiệu bởi pq (đọc là p

VÀ q). Chân trị của p q là 1 nếu chân trị của cả p và q đều bằng 1, trong tất cả các

rường hợp còn lại, p q có chân trị 0.

p q p q

0 0 0

Page 16: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

15

0

1

1

1

0

1

0

0

1

í ụ : p 2 là số guyê ố , q à ội là ủ đô ủa iệ Nam K i đó pq là

mệ đề ó â rị là 1.

í ụ : cho p = « Hôm nay trời mưa và q ôm ay là ứ Ba ậy pq là mệ

đề ôm ay rời mưa và là ứ Ba .

c. Phép tuyển ( phép OR- HOẶC)

Mệ đề tu ể của hai mệ đề p và q được ký hiệu bởi pq (đọc là p HO C q). Chân

trị của pq là 0 nếu chân trị của cả p và q đều bằng 0, trong tất cả á rường hợp còn

lại pq có chân trị 1.

p q p q

0

0

1

1

0

1

0

1

0

1

1

1

d.Phép kéo theo

Mệ đề nếu p thì q được ký hiệu là p q (đọc là p KÉO THEO q). Bảng chân trị của

mệ đề ày ư sau :

p q p q

0

0

1

1

0

1

0

1

1

1

0

1

Page 17: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

16

e.Phép tương đương Phép ké th hai chiều)

Mệ đề nếu p thì q và gược lại được ký hiệu p q (đọc là p KHI VÀ CHỈ KHI q).

Bảng chân trị của mệ đề ày ư sau :

p q p q

0

0

1

1

0

1

0

1

1

0

0

1

2.1.3. Dạ g ệ đề

Là các biểu thức logi được xây dựng bằng cách kết hợp các biến mệ đề với

nhau bởi các phép nối theo một thứ tự nhấ định. Mỗi dạng mệ đề có một chân trị

xá đị đối với từng bộ chân trị của các biến mệ đề. Tập tất cả các chân trị của dạng

mệ đề ứng với từng chân trị của các biến mệ đề lập thành bảng chân trị cùa dạng

mệ đề đó

Ví dụ : Dạng mệ đề: E(p, q, r) = p (q r) có bảng chân trị ư sau :

P q r q r E=p(qr)

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

1

1

0

1

1

1

0

0

0

0

0

1

1

1

Bài t p áp dụng: Lập bảng chân trị của các dạng mệ đề sau:

Page 18: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

17

a) p (q r)

b) (p q) (p r)

c) (p q) (p r)

d) (p q) (p r)

2.1.4. Tươ g đươ g logi

Hai dạng mệ đề E và được gọi là ươ g đươ g logi ếu chúng có cùng một bảng

chân trị. Khi ấy ta viết E F và mệ đề dạng E F luôn mang chân trị bằng 1 cho

dù các biến có lấy giá trị ào đi ữa.

Ví dụ: Xét 2 mệ đề: p q và p q

P q p p q p q

0

0

1

1

0

1

0

1

1

1

0

0

1

1

0

1

1

1

0

1

N ư vậy ta nói 2 mệ đề rê là ươ g đươ g logi , và được viết là:

(p q) (p q)

2.1.5. ệ quả logi

Dạng mệ đề được gọi là hệ quả logic của dạng mệ đề E nếu E F luôn

có chân trị đú g K i đó a viết là E F. Ta có thể nói cách khác: E có hệ quả logic là

F.

2.1.6. gu ê tắ t t ế

1. Quy tắc 1: trong dạng mệ đề E, nếu ta thay thế biểu thức con F bởi một dạng

mệ đề ươ g đươ g logi ì dạng mệ đề u được vẫ ò ươ g đươ g logi

với E.

Page 19: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

18

2. Quy tắc 2: Giả sử dạng mệ đề E(p, q, r,…) là một hằ g đú g Nếu ta thay thế

nhữ g ơi p xuất hiện trong E bởi một dạng mện đề tuỳ ý F (p’, q’, r’,…) ì dạng

mệ đề nhậ được theo các biế p, q, r,…, p’, q’, r’,… vẫn còn là một hằ g đú g

2.1.7. qu lu t logi

Với p, q, r là các biến mệ đề, 1 là hằ g đú g và 0 là ằ g sai, a ó á ươ g đươ g

logi ư sau:

1. Ph định c a ph định

p p

2. Quy tắc De Morgan

(p q) p q

và (p q) p q

3. Lu t giao hoán

p q q p

và p q q p

4. Lu t kết hợp

p (q r) (p q) r

và p (q r) (p q) r

5. Lu t phân bổ

p (q r) (p q) (p r)

và p (q r) (p q) (p r )

6. Luât luỹ đẳng

Page 20: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

19

p p p

và p p p

7. Lu t trung hoà

p 1 p

và p 0 p

8. Lu t về phần tử bù

p p 0

và p p 1

9. Lu t thống trị

p 0 0

và p 1 1

10. Lu t hấp thụ

p (p q) p

và p (p q) p

Ví dụ 1: Hãy chứng minh dạng mệ đề sau là một hằ g đú g:

[(r s) [(r s) (t u)]] (t u)

Chứng minh:

Thay r s bởi p và t u bởi q, a đưa về bài toán chứng minh dạng mệ đề sau là

một hằ g đú g:

[p (p q)] q

Page 21: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

20

Ta có: [p (p q)] q

[p (p q)] q

[(p p) (p q)] q

[0 (p q)] q

(p q) q

p q q

p 1 1

Ví dụ 2: Từ (p q) r, ta có:

(p q) r

p q r

p (q r)

p (q r)

p (q r)

N ư vậy : (p q) r p (q r)

2.1.8. qu tắ su iễ

1. Modus Ponens (khẳ g định)

[(p q) p] q

2. S llogis (T đoạn lu n)

[(p q) (q r)] (p r)

Page 22: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

21

3. Modus Tollens (ph định)

[(p q) q] p

4. T đoạn lu n rời

[(p q) p] q

5. Quy tắc mâu thuẫn

[(p1 p2 … pn) q] [(p1 p2 … pn q) 0]

6. Quy tắc chứ g i t eo trường hợp

[(p r) (q r)] (p q) r)

Ví dụ: Chứng minh f(n) = n3 + 2n luôn chia hết cho 3.

Ta có: f(n) = n(n2 + 2). Lấy n là một số nguyên tuỳ ý, k i đó ó 2 rường hợp xảy ra :

TH1 : n chia hết cho 3, ư vậy dễ thấy f(n) chia hết cho 3. (1)

TH2: n không chia hế o 3, k i đó đặt n = 3k 1 (k là số guyê ào đó), a ó:

n2 + 2 = (3k 1)

2 + 2 = 9k

2 6k + 3 = 3(k

2 2k +1)

suy ra f( ) ũ g ia ết cho 3. (2)

Từ (1) và (2), ta kết luận f(n) chia hết cho 3 trong mọi rường hợp.

2.2. LOG Ị TỪ

2.2.1. ị từ

Là một khẳ g định P(x, y,…) ro g đó ó ứa một số biến x, y, ... lấy giá trị trong

những tập hợp o rước A,B,... sao cho:

a) Bản thân P(x, y,...) không phải là một mệ đề.

Page 23: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

22

b) Nếu ay x, y,… bằng những phần tử cố đị ư g uỳ ý a A, b B,…thì ta

được một mệ đề P(a, b,…), ức là chân trị của ó oà oà xá đị K i đó x, y,…

gọi là các biến tự do của vị từ.

Nói một cách khác, một vị từ là một hàm số dạng:

f: X B

ro g đó: X B … và B = {0, 1}

Ví dụ: P( ) ‘‘ là một số nguyên tố’’ là một vị từ theo một biến tự do nN.

f: N B

Với n = 2, 5, 7, 11 ta có các mệ đề đú g P(2), P(5), P(7), P(11) : còn với n = 4, 8 thì

ta có các mệ đề sai P(4), P(8).

2.2.2. Lượ g từ

Giả sử p(x) là vị từ theo một biến tự do x , k i đó ó 3 rường hợp có thể xảy ra :

TH1 : khi thay x bởi một phần tử bất kỳ a , a đều được mệ đề đú g p(a)

TH2 : với một (hoặc một số) giá trị a A thì p(a) là mệ đề đú g, và với một số giá trị

b A thì p(b) là mệ đề sai.

TH3 : khi thay x bởi một phần tử bất kỳ a , a đều được mệ đề sai p(a).

Đối với TH1 thì mệ đề ‘‘với mọi x , p(x)’’ là một mệ đề đú g, ký iệu bởi

‘‘x , p(x)’’ Bản chất của mệ đề này là phép VÀ ()

Nếu TH1 hoặc TH2 xảy ra thì mệ đề ‘‘ ồn tại x , p(x)’’ là một mệ đề đú g, ký

hiệu bởi ‘‘ x , p(x)’’ Bản chất của mệ đề này là phép HO C ()

Các mệ đề x A, p(x) và x , p(x) được gọi là lượng từ hoá của vị từ p(x) bởi

lượng từ phổ dụng () và lượng từ tồn tại ().

Page 24: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

23

Chú ý:

a. Trong mệnh đề lượng từ hoá, x không còn là biến tự do nữa mà nó bị ràng

buộc bởi á lượng từ.

b. TH3 ở trên có thể được viết lại : x A,p(x) N ư vậy, phủ định của

mệ đề x A, p(x) xảy ra khi TH2 hoặc TH3 xảy ra,tức là mệ đề x

A, p(x) là mệ đề đú g ú ra :

Phủ định của x A, p(x) là mệ đề x A,p(x)

Phủ định của x A, p(x) là mệ đề x A, p(x)

2.3. LÝ T UYẾT TẬP ỢP

Ở đây a ỉ nhắc lại một số khái niệm ơ bản nhấ , ũ g ư á ký iệu dùng trong lý

thuyết tập hợp mà thôi :

a) Nếu a là một phần tử thuộc tập hợp A, ta viết a , gược lại ta viết a A.

b) Tập hợp A thoả một tính chấ ào đó, ất ở đây được biểu diễ dưới

dạng một vị từ p(x), ta viết : A = {x U /p(x)}, ro g đó U được gọi là tập vũ

trụ.

Ví dụ : A = {x N / x là số nguyên tố}

A = {x Z / x2 <5}

c) Ngoài ra có thể biểu diễn tập hợp bằng cách liệt kê tất cả các phần tử của nó,

ví dụ 2 ở trên có thể được viết lại A = {-2, -1, 0, 1, 2}

d) Tập hợp không có phần tử nào cả gọi là tập hợp rỗ g, được ký hiệu là

e) Giả sử A và B là 2 tập hợp con của tập vũ rụ U, ta nói A là tập con của B (

ay được bao hàm trong B, hay B bao hàm A), ký hiệu A B nếu:

x U,(x A) (x B)

Page 25: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

24

f) Nếu A B và B A, ta nói A bằ g B, được ký hiệu B N ư vậy rõ ràng

A = B khi và chỉ khi:

x U, (x A) (x B)

g) Hợp () , giao () và phần bù của tập hợp:

A B = {x U/ (x A) (x B)}

A B = {x U / (x A) (x B)}

Ā {x U / (x )}, Ā được gọi là phần bù của A trong U.

h) Một số tính chất trên tập hợp: Cho A, B, C là các tập con tuỳ ý của U, ta có:

i. Tính giao hoán:

A B = B A

A B = B A

ii. Tính kết hợp:

A (B C) = (A B) C

A (B C) = (A B) C

iii. Lu t De Morgan:

A B Ā B

A B Ā B

iv. Tính phân bố:

A (B C) = (A B) (A C)

A (B C) = (A B) (A C)

v. Phần tử trung hoà:

A = A

Page 26: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

25

A U = A

vi. Phần bù:

A Ā U

A Ā

vii. Tính thống trị:

A U = U

A =

Page 27: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

26

ƯƠNG

Đ T Á T N P ẦN Ơ N 3.1. Đ T ỂU DỮ L ỆU

Một kiểu dữ liệu bao gồm:

o Tập hợp các giá trị

o Hệ thố g á p ép oá ơ sở

Dựa trên các phép toán này, ta có thể đặc tả các phép toán còn lại.

Một phép toán (có thể được gọi là 1 hàm) là một ánh xạ riêng phần trên tập D

X :

yx

YXf

:

Domain : điều kiện x D

Where: y là ảnh của x.

D được gọi là miề xá định của f.

Ta có các kiểu dữ liệu ơ bả ư sau:

Ký hiệu Tên kiểu é to ơ sở

N Các số tự nhiên (số nguyên không âm)

+, –, *, /

>, >=, <, <=, =, !=

Z Các số nguyên

Q Các số hữu tỉ

R Các số thực

B Kiểu logic, gồm 2 giá trị True và

False , , , , , ,

Page 28: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

27

C Kiểu các ký tự >, >=, <, <=, =, !=

S Các chuỗi ký tự

Xét kiểu dữ liệu chuỗi (S):

o Là tập hợp tất cả các chuỗi ký tự.

o á àm (p ép oá ) ơ sở bao gồm:

1. bs

BSRong

:

Domain:

Where: b=True s là chuỗi rỗng

2. sc

SCKhoitao

:

Domain:

Where: s là chuỗi gồm đú g ký ự là c

3. tsc

SSCChendau

),(

:

Domain:

Where: được tạo lập bằng cách chèn ký tự vào đầu chuỗi s

4. ts

SSXoadau

:

Domain: Rong(s)

W ere: được tạo lập bằ g á xóa đi ký ự đầu của s.

5. cs

CSPTdau

:

Page 29: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

28

Domain: Rong(s)

Where: c là ký tự đầu tiên của chuỗi s

3.2. Đ T

3.2.1. ú u g k i đặ tả à ( ù g g gữ to ọ ) :

yx

YXf

:

Domain : điều kiện x D

Where: y là ảnh của x.

X: tập các giá trị nguồn

Y: tập các giá trị đ

D: Miề xá định của hàm

3.2.2. í ụ 1:

Đặc tả các hàm sau:

1. ìm ă bậc 2 của 1 số thực

2. Tìm phần nguyên của 1 số thực

3. Hàm DIV (2 số không âm)

4. Hàm MOD (2 số không âm)

Giải:

1.

)*()0(:

0:

:

xyyyWhere

xDomain

yx

RRf

Page 30: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

29

2.

)1()0(

)1()0(:

:

:

kxkx

kxkxWhere

Domain

kx

ZRg

3.

)/(:

0!:

),(

:

bagkWhere

bDomain

kba

NNNDIV

4.

bbaDIVakWhere

bDomain

kba

NNNMOD

*),(:

0!:

),(

:

3.2.3. í ụ 2

Dựa vào á àm ơ sở trên kiểu dữ liệu chuỗi, ãy đặc tả các hàm sau:

1. f: xóa 2 ký tự đầu của 1 chuỗi

2. g:Tìm phần tử thứ 2 của 1 chuỗi

3. h:Chèn 1 ký tự vào ví trí thứ 2 của chuỗi

Giải:

1.

))((:

))((:

:

sXoadauXoadautWhere

sXoadauRongDomain

ts

SSf

2.

))((:

))((:

:

sXoadauPTdaucWhere

sXoadauRongDomain

cs

CSg

Page 31: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

30

3.

)))((,(,(

)(:

)(:

),(

:

sXoadaucChendauchChendaut

sPTDauchCchWhere

sRongDomain

tcs

SCSh

Câu này còn có thể đượ đặc tả bằ g á k á ư sau (dựa vào 2 hàm

f và g của câu 1 và câu 2):

))()((

))((

))()((:

)(:

),(

:

sXoadautf

ctg

sPTDautPTDauWhere

sRongDomain

tcs

SCSh

hay có thể triể k ai đầy đủ ư sau:

))())(((

))(((

))()((:

)(:

),(

:

sXoadautXoadauXoadau

ctXoadauPTdau

sPTDautPTDauWhere

sRongDomain

tcs

SCSh

3.3. Đ T ĐỆ QUY

Đặc tả đệ quy thực chất là cách thứ đặc tả hàm theo dạng truy hồi. Mộ đặc tả

được gọi là đệ quy nếu trong phần biểu thức Where của hàm có sử dụ g đến

chính bả â àm đa g đượ đặc tả.

Ví dụ 1 : a xé àm ìm k ước của một chuỗi ký tự bất kỳ:

Page 32: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

31

))((1)((

)0)((:

:

:

sXoadauLennsRong

nsRongWhere

Domain

ns

NSLen

Ví dụ 2 : Xét hàm tính tổng các phần tử trong mả g a, k ước n

MANG = Zn

)1,(]1[]!1[0(

)00(:

:

),(

:

naTongnatxnan

tnWhere

Domain

tna

NZNMANGTong

Ví dụ 3 : Xé àm đếm số lần xuất hiện của 1 số nguyên x trong mảng a, kích

ước n

),1,(1]1[0(

),1,(]!1[0(

)00(:

:

),,(

:

xnaDemdxnan

xnaDemdxnan

dnWhere

Domain

dxna

NZNMANGDem

Ví dụ 4 : Hàm kiểm tra mả g ă g dần

))1,(]2[]1[1(

)]2[]1[1(

)1(

)0(:

:

),(

:

naKTTangbnanan

Falsebnanan

Truebn

FalsebnWhere

Domain

bna

BNMANGKTTang

Page 33: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

32

3.4. Á QUY TẮ TÍN TOÁN

Trong quá trình xây dựng các hệ thống phần mềm, đặc biệt là các hệ thống quản

lý luôn có 1 yêu cầu không thể thiếu là thực hiện việc tính toán theo 1 hoặc 1 số quy

tắc nhấ đị ào đó Do vậy, việ đặc tả các quy tắc này là cần thiế , để nhằm đảm bảo

cho việ oá được chính xác và đầy đủ.

Nguyên tắ u g k i đặc tả các quy tắc tính toán:

1. Đặ ê o á đại lượ g ó liê qua đến quá trình tính toán

2. Xá định kiểu dữ liệu của á đại lượng này

3. Đặc tả hàm tính toán cho từng quy tắc

Ví dụ : Ta xét phần mềm quả lý ư viện với yêu cầu tính toán tiền phạt cho

mỗi quyển sách khi trả sách trễ hạn với các yêu cầu khác nhau có thể ó ư sau :

a) Mỗi ngày trả trễ phạ 000đ

b) Mỗi ngày trả trễ phạ 000đ, ư g ừ ngày trễ thứ 5 trở đi ì p ạt

2000đ/ gày

c) Có 2 loại sách A và B. Hình thức phạt ư âu b), ư g mức phạt

khác nhau cho mỗi loại sách :

Loại A : 000đ và 2000đ

Loại B : 500đ và 2500đ

Giải :

Gọi t : số tiền phạt (t N)

n: số ngày trả trễ hạn (n N)

l: loại sách (l {A, B})

Page 34: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

33

a)

ntWhere

Domain

tn

NNPhat

*1000:

:

:

b)

))4(*20004000()5((

)*1000)5((:

:

:

ntn

ntnWhere

Domain

tn

NNPhat

c)

))4(*25006000()5()((

)*1500)5()((

))4(*20004000()5()((

)*1000)5()((:

:

:

ntnBl

ntnBl

ntnAl

ntnAlWhere

Domain

tn

NNPhat

3.5. Á SƠ ĐỒ TRẠNG T Á

Mộ sơ đồ trạ g ái ường dùng các hình vẽ để mô tả trạng thái và hoạ động

của mộ đối ượ g, quá rì ào đó uy iê , việc sử dụng hình vẽ khi xử lý trên

máy tính lại tỏ ra hết sứ k ó k ă , độ chính xác lại không cao.

Ví dụ 1 : Sơ đồ hoạ động của 1 thang máy

Đi lê

Dừng

Đi xuống

Page 35: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

34

Nguyên tắ u g k i đặc tả 1 sơ đồ trạng thái :

1. Gán các giá trị , 2, 3, … o á rạ g ái ó ro g sơ đồ

2. Gọi t1 : trạng thái hiện hành (t1N)

t2 : trạng thái có thể chuyể đến trực tiếp từ t1 (t2N)

3. Xây dựng các ràng buộc trên t1 và t2 dưới dạng một mệ đề

để mô tả các tình trạng có thể có của sơ đồ.

Để đặc tả sơ đồ trong ví dụ rê , a đặt :

1 : Đi lê

2 : Dừng

3 : Đi xuống

t1 : trạng thái hiện hành t2 : trạng thái có thể chuyể đến từ t1

a ó đặc tả :

))22(31(

))3212(21(

)2211(

tt

ttt

ttS

Ví dụ 2: Sơ đồ mô trả trạng thái của 1 quyể sá ro g ư viện

Page 36: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

35

Để đặc tả sơ đồ trong ví dụ rê , a đặt :

1 : Trạng thái chuẩn bị

2 : Sẵn sàng

3 : Tu bổ

4 : o mượn

5 : Mất

t1 : trạng thái hiện hành t2 : trạng thái có thể chuyể đến từ t1

a ó đặc tả :

))5251(

))5222(41(

))22(31(

))524232(21(

))5222(11((

tt

ttt

tt

tttt

tttS

3.6. Á ĐỐ TƯỢNG N Ọ

Mộ điểm trên mặt phẳ g được biểu diễ dưới dạ g (x, y) ro g đó x và y là 2 số

thực biểu diễ oà độ và tu g độ của điểm đó a đị g ĩa kiểu dữ liệu :

Chuẩn bị

Sẵn sàng

Tu bổ

Mất

o mượn

Page 37: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

36

DIEM = R R

M DIEM

Ký hiệu : M.x oà độ của M

M.y u g độ của M

Đặc tả đối ượng hình học trên mặt phẳ g là đặc tả hàm kiểm ra á điểm có

liên quan có thỏa á điều kiện ràng buộ để tạo ê đối tượng hay không.

Dạng thức chung :

,...,:

:

,...),(

:

21

21

MctrênMcácràngbuôbWhere

Domain

bMM

BDIEMDoituong N

Ví dụ: o , B, , D là á điểm Đặc tả các phát biểu sau :

a) , B là 2 điểm trùng nhau

b) , B, là 3 điểm thẳng hàng

c) , B, là 3 đỉnh của 1 tam giác

d) AB // CD

e) AB CD

f) là ru g điểm của AB

g) Hàm tính độ dài của đoạn thẳng AB

h) Hàm tính khoảng cách từ điểm đế đường thẳng qua BC

Giải :

Page 38: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

37

a)

)....(:

:

),(

:

yByAxBxAbWhere

Domain

bBA

BDIEMDIEMTrung

b)

)0)!..(*)..()..(*)..((:

:

),,(

: 3

xAxCyAyByAyCxAxBbWhere

Domain

bCBA

BDIEMThangHang

c)

),,(:

:

),,(

: 3

CBAThangHangbWhere

Domain

bCBA

BDIEMTamGiac

d)

)0)..(*)..()..(*)..((:

),(),(:

),,,(

: 4

xDxDyAyByCyDxAxBbWhere

DCTrungBATrungDomain

bDCBA

BDIEMCungPhuong

e)

)0)..(*)..()..(*)..((:

),(),(:

),,,(

: 4

yDyDyAyBxCxDxAxBbWhere

DCTrungBATrungDomain

bDCBA

BDIEMVuongGoc

f)

)),(),(),,((:

),(:

),,(

: 3

CBDodaiCADodaiCBAThangHangbWhere

BATrungDomain

bCBA

BDIEMTrungDiem

g)

)..(*)..()..(*)..(:

:

),(

:

yAyByAyBxAxBxAxBrWhere

Domain

rBA

RDIEMDIEMDodai

Page 39: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

38

h)

)),(

),,,(),,(

),,((

)0),,((:

),(:

),,(

: 3

HADodaid

CBHAVuongGocHCBThangHangDIEMH

CBAThangHang

dCBAThangHangWhere

CBTrungDomain

dCBA

RDIEMKhoangCach

3.7. Á R NG UỘ

3.7.1. Rà g bu trê kiểu ữ liệu

Gọi T là tập hợp nền của kiểu dữ liệu T

Ràng buộc trên kiểu dữ liệu T là hàm kiểm tra tính hợp lệ :

bt

BTf

:

Domain:

Where: b t thỏa ràng buộc

Ví dụ : Kiểu dữ liệu NGAY, biểu diễn một ( gày, á g, ăm) Kiểu có thể có

các tập hợp nề ư sau :

a) NGAY NNZ dNGAY d = (ng, t, n)

b) NGAY {1..31}{1..12}Z dNGAY d = (ng, t, n)

c) NGAY NZ dNGAY d = (stt, n)

d) NGAY {1..366}Z dNGAY d = (stt, n)

Đặc tả hàm kiểm tra ngày hợp lệ dựa trên 4 tập hợp nền ở trên.

Giải :

Page 40: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

39

rướ iê , a đặc tả hàm kiểm ra ăm uận :

))0)!100,(()0)4,((

)0)400,(((:

:

:

nModnMod

nModbWhere

Domain

bn

BZNhuan

Sau đó đặc tả các hàm kiểm tra tính hợp lệ đối với từng tập hợp nền:

a) NGAY NNZ

))29).(2.(

)28).(2.(

)30.}11,9,6,4{.(

)12.1.(

)31.1.((:

:

:

dndNhuantd

dndNhuantd

ngdtd

tdtd

ngdngdbWhere

Domain

bd

BNGAYHopLe

b) NGAY {1..31}{1..12}Z

))29.).(2.(

)28.).(2.(

)30.}11,9,6,4{.((:

:

:

ngdndNhuantd

ngdndNhuantd

ngdtdbWhere

Domain

bd

BNGAYHopLe

c) NGAY NZ

))365.).((

)366.1.((:

:

:

sttdndNhuan

sttdsttdbWhere

Domain

bd

BNGAYHopLe

Page 41: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

40

d) NGAY {1..366}Z

)365.).((:

:

:

sttdndNhuanbWhere

Domain

bd

BNGAYHopLe

3.7.2. Rà g bu trê sơ đồ logi

Các ràng buộ rê sơ đồ logic chính là các ràng buộc toàn vẹ ro g ơ sở dữ

liệu. Việ đặc tả các ràng buộ rê sơ đồ logic sử dụng ngôn ngữ đại số quan hệ (các

vị từ và lượng từ).

Các ràng buộc toàn vẹn bao gồm :

o Các ràng buộc khóa nội, khóa ngoại

o Ràng buộc thuộc tính

o Ràng buộc thời điểm

o Ràng buộc liên thuộc tính

o v.v...

Ví dụ 1 : Xét phần mềm quả lý ư viện với sơ đồ logi ư sau :

Độc giả (MĐ , MLĐ , ọ ê , Địachỉ, Điệnthoại)

Loại Đ (MLĐ , Tên, Ghichú)

Thể loại (MTL, Tên, Ghichú)

Độc giả

Loại Đ

Mượn Mượn

Sách Thể loại

Page 42: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

41

Sách (MS, M L, ê , NămXB, á giả)

Mượn (MMượn, MĐ , Ngàymượn)

Mượn (MMượn, MS, Ngàytrả)

ãy đặc tả các ràng buộc sau :

o Ràng buộc về khóa nội, khóa ngoại

a) MĐ là duy ấ ro g Độc giả

b) MTL của Sách phải có trong Thể loại

o Ràng buộc thuộc tính :

c) Ngày mượn phải khác rỗng

o Ràng buộc thời điểm :

d) Tại 1 thời điểm, sách chỉ có thể o độc giả mượn

o Ràng buộc liên thuộc tính :

e) Ngày trả sau gày mượn

Giải :

a) MDGdMDGdddDocgiadd .2.1212,1

b) MTLlMTLdTheloailDocgiad ..|

c) NULLNgaymuonmMuonm .

d)

))..1(

)..1(

)..1(

))..1..1(

1.1(

...

NgaytractmNgaymuonm

NgaymuonmNgaymuonm

MSctmMSctm

MMuonctmMMuonctmMMuonmMMuonm

CTMuonctmMuonm

MMuonctmMMuonmCTMuonctmMuonm

Page 43: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

42

e) NgaytractmNgaymuonm

MMuonctmMMuonmCTMuonctmMuonm

..

...

Ví dụ 2: Xét phần mềm quản lý giải bó g đá với sơ đồ sau :

Đặc tả các ràng buộc :

a) Các trọng tài trong cùng 1 trậ đấu phải cùng thuộc 1 quốc gia

b) Trong 1 trậ đấu chỉ có 1 trọng tài chính

c) Trọ g ài và á đội i đấu không cùng thuộc 1 quốc gia

d) Mội trậ đấu chỉ ó 2 đội tham gia

Đội bóng

Tham gia

Trậ đấu Điều khiển

Trọng tài

Page 44: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

43

ƯƠNG 4

Đ T TÍN ĐÚNG ĐẮN

4.1. Á P ƯƠNG P ÁP Ể TR TÍN ĐÚNG ĐẮN

4.1.1. Đặt ấ đề

Ta xét hàm f với đặc tả ư sau:

yx

YXf

:

Domain : P(x)

Where: Q(x, y)

Với ài đặ ươ g ứng:

Y f(X)

{

//…

}

Bài oá đặt ra ở đây là ãy o biế ài đặt trên có phù hợp với đặc tả đã ó ay

không?

Đây là bài oá về kiểm ra đú g đắn của hàm. Nếu ài đặt cụ thể của hàm f

là phù hợp với đặc tả, a ói ài đặ đó là đú g, gược lại, ài đặ đó là ưa xá

Để kiểm ra đú g đắn của àm sau k i ài đặ , gười ta sử dụng một số p ươ g

pháp khác nhau, hoặc cũng có thể kết hợp đồng thời á p ươ g p áp ày ro g á

phần tiếp theo của ươ g, ú g ôi sẽ giới thiệu các tiếp cận của 1 số p ươ g p áp

phổ biến hiện nay.

Page 45: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

44

4.1.2. iể tr đ g

P ươ g p áp kiểm ra độ g (dy ami es i g), ay ò được gọi là p ươ g p áp hử

nghiệm được thực hiệ ư sau :

1. Lập các bộ số làm thử nghiệm, ay ò được gọi là các bộ dữ liệu thử

nghiệm (test case) : YXyx ),( .

2. Lầ lượt cho thực hiện hàm f với các giá trị x đã ọn, ghi nhận lại kết

quả y0.

3. So sánh y và y0.

P ươ g p áp ày là p ươ g p áp kiểm thử chủ đạo được áp dụng trong giai

đoạn lập rì và giai đoạn kiểm thử của quy trình phát triển phần mềm trên thế giới

hiện nay.

Các công cụ hỗ trợ p ươ g p áp kiểm ra động (thử nghiệm) :

Công cụ phát sinh các dữ liệu thử nghiệm.

Công cụ cho phép thực thi hàm và ghi nhận kết quả.

Công cụ kiểm tra tính phù hợp của ài đặt hàm so với đặc tả.

Các công cụ tự động phát sinh hàm từ đặc tả, cho thực hiện hàm phát

sinh và tự động kiểm tra kết quả thực hiện. Những công cụ tự động dạng

này hiện vẫ ưa p ổ biến, số lượng lẫn chấ lượng của các công cụ này

vẫ ưa đáp ứ g được sự mo g đợi của giới Công nghệ phần mềm.

P ươ g p áp kiểm ra độ g ày ò được biế đến với 1 tên gọi khác là

"kiểm thử hộp đe " (bla k box es i g), vì p ươ g p áp k ô g ú rọng

đế ài đặt bên trong của các hàm, nó chỉ qua âm đến kết quả thực hiện

của àm để khẳ g đị àm đó ó p ù ợp với đặc tả không mà thôi,

oà oà ưa đề cập đến việc sửa chữa ài đặt của hàm lại sao cho phù

hợp.

Page 46: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

45

4.1.3. iể tr tĩ

P ươ g p áp kiếm ra ĩ , ò được gọi là "kiểm thử hộp trắng" (white box testing).

P ươ g p áp ày ực hiệ eo ơ ế lầ lượ đọc các lệ ro g ươ g rì guồn

(phầ ài đặt của àm), sau đó ứng mình bằng tay, hoặc chứng minh tự động tính

đú g đắn của hàm sau từng lệnh.

Cho hàm f với đặc tả và ài đặ ươ g ứng :

yx

YXf

:

Domain : P(x)

Where: Q(x, y)

Y f(X)

{

lệnh 1;

lệnh 2;

lệnh k;

From P(x)

Q1(x, y) lệ 1 được thực hiện.

Q2(x, y) lệ 2 được thực hiện.

...

Qk(x, y) lệ k được thực hiện.

Infer Q(x, y)

Page 47: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

46

4.2. CH NG N Ớ Á LUẬT SUY D ỄN

4.2.1. ở đầu

Cho E1, E2 là 2 mệ đề. Trong quá trình chứng minh, nếu suy diễ được E1

ì ũ g suy diễ được E2, ta ký hiệu :

21 EE hay 2

1

E

E

Nếu 21 EE và 12 EE thì ta ký hiệu :

1

2

2

1

2

1

E

Evà

E

E

E

E

4.2.2. lu t su iễ

4.2.2.1. Các luật suy diễn trên phép phủ định )

E

Evà

E

E

(-1)

4.2.2.2. Các luật suy diễn trên phép tuyển ()

1. Suy diễn mở r ng: Nếu đã ó E rồi thì có thể suy diễn là có E

hoặc là có bất cứ thứ gì khác nữa.

XE

E

;

EX

E

(-MR)

Ví dụ : ôi đã ó à ậy có thể ói " ôi đã ó à oặc xe",

ay " ôi đã ó xe oặc nhà", bất kể là ôi đã ực sự có xe hay

ưa

2. Suy diễ t eo trường hợp : a đã ó E oặc E2 (ít nhất 2 trong

2 thứ). Nếu từ E1 suy diễ ra được X, từ E2 ũ g suy diễ ra được

X N ư vậy ta suy diễ ra được X.

X

XEXEEE 2;1;21

(-TrH)

Page 48: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

47

Ví dụ : Nếu đi làm êm ì ôi sẽ có tiền.

Nếu được nhận học bổng thì tôi ũ g sẽ có tiền

Mà hiện giờ ôi đã đi làm êm oặ đã ận học

bổng.

Vậy tôi có tiền.

3. De Morgan:

1

)21(

E

EE

;

2

)21(

E

EE

(-DM)

hay : 21

)21(

EE

EE

(chiều thuận)

Ví dụ : Tôi không có xe hay nhà gì cả. Vậy tôi không có xe, mà

ũ g ẳng có nhà.

4. Tổng hợp trên phép tu ể :

)21(

2;1

EE

EE

(-TH)

hay : )21(

21

EE

EE

(chiều đảo)

Ví dụ : Ngược lại, ôi k ô g ó xe, ôi ũ g ẳng có nhà. Vậy tôi

chẳng có xe hay nhà gì cả.

5. Thay thế trê é tu ể :

XE

XEEE

1

2;21 ;

2

1;21

EX

XEEE

(-TT)

6. Gi o o trê é tu ể :

12

21

EE

EE

(-GH)

7. Kết hợ trê é tu ể :

3)21(

)32(1

EEE

EEE

(-KH)

Page 49: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

48

8. Phân phối trê é tu ể :

)31()21(

)32(1

EEEE

EEE

;

)32(1

)31()21(

EEE

EEEE

(-PP)

4.2.2.3. Các luật suy diễn trên phép h i ()

a)

21

)21(

EE

EE

)21(

21

EE

EE

(-1)

Ví dụ : ôi đã ó ả xe lẫn nhà. Vậy không thể có chuyện tôi

k ô g ó xe ay k ô g ó à, và gược lại.

b) Suy diễn thu hẹp (rút gọn) :

1

21

E

EE và

2

21

E

EE (-RG)

Ví dụ : ôi đã ó ả xe lẫn nhà. Vậy tôi có xe.

ôi đã ó ả xe lẫn nhà. Vậy tôi có nhà.

c) Tổng hợp trên phép i :

21

2;1

EE

EE

(-TH)

Ví dụ : ôi đã ó xe ôi ũ g ó à ậy tôi có cả xe lẫn nhà.

d) Thay thế trê é i:

XE

XEEE

1

2;21 ;

2

1;21

EX

XEEE

(-TT)

Ví dụ : ôi đã ó ả xe lẫn nhà. Nếu ó à ì ôi ó đất. Vậy tôi

có cả xe lẫ đất.

e) Phân phối trên phép i:

)31()21(

)32(1

EEEE

EEE

;

)32(1

)31()21(

EEE

EEEE

(-PP)

Page 50: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

49

4.2.2.4. Các luật suy diễn trên phép kéo theo ()

a) Suy diễn theo lu t bài tam :

1EE (BT)

b) Suy diễn dựa trên mẫu thuẫn :

X

EE 1 (MT)

c) Suy diễn kéo theo :

21

21

EE

EE

;

21

21

EE

EE

(-1)

d) Suy diễ tươ g đươ g:

21

)12()21(

EE

EEEE

(-2)

4.2.3. ứ g i lu t su iễ

4.2.3.1. Dạng thức :

Để chứng minh luật suy diễn : F

E, ta áp dụng dạng thứ ư sau :

From E

Kết quả 1 Luật suy diễn áp dụng(các kết quả sử dụng)

Kết quả 2 Luật suy diễn áp dụng(các kết quả sử dụng)

...

Infer F

Page 51: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

50

4.2.3.2. Ví dụ

Chứng minh lại các luật suy diễn sau :

1. 1

21

E

EE

Giải :

1. From 21 EE (h)

1. )21( EE -1(h)

2. 1E -DM(1)

Infer E1 -1(2)

2. 21

2;1

EE

EE

From 2;1 EE (h)

1. 2;1 EE -1(h)

2. )21( EE -TH(1)

Infer 21 EE -1(2)

3. XE

XEEE

1

2;21

From XEEE 2;21 (h)

1. 1E -RG(h)

2. 2E -RG(h)

Page 52: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

51

3. X h(1)

Infer XE 1 -TH(1,3)

4. XE

XEEE

1

2;21

From XEEE 2;21 (h)

1. From 1E (h1)

Infer XE 1 -MR(h1)

2. From 2E (h2)

2.1 X h(h2)

Infer XE 1 -MR(2.1)

Infer XE 1 -TrH(h,1,2)

Page 53: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

52

ƯƠNG 5

NG N NGỮ Đ T Z Giới t iệu

Ký p áp Z, ay ò được gọi là ngôn ngữ Z được xây dựng dựa trên lý thuyết tập

hợp và logic toán họ Đây là một ngôn ngữ toán học chặt chẽ, được sử dụng chủ yếu

ro g đặc tả hình thứ để đặc tả các yêu cầu chứ ă g ủa 1 hệ thố g, đặc biệt là hệ

thống phần mềm.

Ngôn ngữ Z k ô g được thiết kế để mô tả các yêu cầu phi chứ ă g ủa hệ

thống, ví dụ ư ô g dụng, hiệu ă g, k ước hay độ tin cậy của hệ thống. Ngôn

ngữ ũ g k ô g được thiết kế o á đặc tả theo thời gian hay xử lý song song. Muốn

làm đượ điều này, ta phải kết hợp Z cùng với các công cụ khác nữa.

5.1. t à ầ g gữ

5.1.1. Logi to ọ

5.1.1.1. L gic mệnh đề

Các khái niệm về logic mệ đề ũ g ư ệ thống ký hiệu của logic mệ đề

trong ký pháp Z hoàn toàn giống với ngôn ngữ toán họ ô g ường.

Có 5 phép toán mệ đề trong ngôn ngữ Z được liệt kê trong bả g dưới đây, với

độ ưu iê giảm dần từ trên xuố g dưới :

Phép toán Ý g ĩa

Phủ định

Tuyển

Hội

Kéo theo

ươ g

đươ g

Page 54: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

53

Ý g ĩa ủa mỗi p ép oá đã đượ rì bày ro g ươ g 2 ( á ơ sở của

đặc tả). Do vậy, phầ ày xi được phép không nhắc lại chi tiết nữa.

5.1.1.2. L gic vị từ

Các khái niệm và đị g ĩa ủa logic vị từ ũ g oà oà giố g ư ro g

toán học, ngoại trừ ký hiệu có khác biệt.

a) Cú pháp chung c a 1 vị từ sử dụ g lượng từ:

Q x : A | p q

ro g đó:

Q : lượng từ ( hoặc ).

x : biến ràng buộc.

A : tập các giá trị của x.

p : ràng buộc trên biến.

q : vị từ.

x : A | p q được phát biểu ư sau: “ ồn tại 1 giá trị x thuộc về tập A, sao

cho x thỏa p ì a ó q”

x : A | p q được phát biểu ư sau: “ ới mọi giá trị x thuộc về tập A, sao

cho x thỏa p ì a ó q”

Ta có các phát biểu ươ g đươ g ư sau:

qpAxqpAx :|:

qpAxqpAx :|:

Ví dụ 1: Vị từ “ ồn tại 1 số tự nhiên x lớ ơ 5” được viế ư sau ro g ký

pháp Z:

5: xNx

N ư vậy, ký hiệu thuộc về 1 tập hợp trong Z là dấu hai chấm (:), thay vì là dấu

ư rong toán học.

Page 55: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

54

Ký hiệu “sao o” sử dụng dấu gạ đứng ( | ), và ký hiệu “ ì” sử dụng dấu

chấm tròn ().

Ví dụ 2: ươ g ự ư ế đối với lượng từ “với mọi” “ ới mọi y thuộc về

tập số tự nhiên, y lớ ơ ay bằ g 0”

0: yNy

b) “Tồn tại ít nhất 2 giá trị thỏ điều kiệ ” được biểu diễ ư sau:

qpyxAyx )(|:,

“Tồn tại duy nhất 1 giá trị thỏ điều kiệ ” được biểu diễ ư sau:

qpAx |:1

Ví dụ 3: Phát biểu “ ó duy ất 1 quyể sá rê bà ” được biểu diễ dưới

dạng vị từ ư sau:

)|:():( bcDeskcBookscDeskbBooksb

Deskx ó g ĩa là quyển sách x nằm trên bàn.

c) Ký pháp-:

Để xá đị đối ượng duy nhất trong tập hợp thỏa điều kiện, ngôn ngữ Z dùng 1

ký p áp được gọi là ký pháp-, cụ thể ư sau:

pAx |:

và đượ đọc là: “ ó u ất 1 giá trị x thu c về t s o o ”.

Khi ta ký hiệu: )|:( pAxy tức là y là giá trị duy nhất thuộc tập A sao cho p

đú g

Ví dụ 4: a ói “2 là số duy nhất thuộc về tập số tự nhiên thỏa 4+ 6”

Page 56: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

55

)64|:(2 nNn

5.1.2. L t u ết t ợ

ũ g ươ g ự ư ro g p ần Logic toán họ đã rì bày ở trên, các khái niệm

trong lý thuyết tập hợp của ngôn ngữ Z hoàn toàn giống với ngôn ngữ toán học

ô g ường.

1. Tập hợp được biểu diễ dưới dạng liệt kê :

S == {a, b, c}

2. Tập hợp được biểu diễ dưới dạng vị từ :

S == {x :X | p(x)}

3. Tập hợp rỗng :

S ==

4. Để biểu diễn phát biểu : ‘giá rị x thuộc về tập S’, a dù g ký iệu :

x S

5. Để biểu diễn phát biểu : ‘giá rị x không thuộc thuộc về tập S’, a

dùng ký hiệu :

x S (x S)

6. Các phép toán trên tập hợp

a. Giao : A B = {x :U | xA xB}

b. Hợp : A B = {x :U | xA xB}

c. Hiệu : A \ B = {x :U | xA xB}

d. Tập con : BxAxBA

Page 57: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

56

e. Tập chứa trong : AxBxBA

f. Tập bằng nhau : ABBABA

g. BABABA

h. BABABA

7. Tập tất cả các tập con của 1 tập hợp (Power set)

Ký hiệu : P X

Ví dụ : X == {1, 2}

P X = {, {1}, {2}, {1, 2}}

8. Tích Decartes của 2 hay nhiều tập hợp.

5.1.3. à à qu ệ

5.1.3.1. Quan hệ 2 ngôi

Nếu X, Y là các tập hợp, ta ký hiệu : XY là tập tất cả các quan hệ 2 ngôi giữa

X và Y.

Ta có: XY == P(XY)

Mỗi phần tử của XY là một bộ có thứ tự (x, y) ro g đó x được lấy từ tập X

và y được lấy từ tập Y

5.1.3.2. Miền xác định và miền giá trị

Miề xá định của 1 quan hệ được ký hiệu là dom, là tập hợp tất cả các giá trị x

thuộc về tập X sao cho x có ảnh y thuộc Y qua R.

dom R }|;{ xRyxYyXx

hay ta có thể biểu diễ eo á k á ư sau:

Page 58: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

57

dom R }:|:{ RyxYyXx

Miền giá trị của quan hệ được ký hiệu là ran, là tập hợp tất cả các giá trị của y

thuộc về tập Y sao cho y là ảnh của 1 giá trị x thuộc tập X qua R.

ran R }|;{ yRyxYyXx

hay ta có thể biểu diễ eo á k á ư sau:

ran R }:|:{ RyxXxYy

5.1.3.3. Hàm

Xét quan hệ R trên 2 tập hợp X và Y, nếu mỗi phần tử thuộc tập X có nhiều nhất

1 ảnh y thuộc tập Y qua R thì ta nói quan hệ là àm đi ừ tập X đến tập Y.

àm được phân chia thành 2 loại chính: hàm riêng phần và hàm toàn phần.

5.1.3.4. Hàm riêng phần

Một hàm riêng phần từ tập X đến tập Y là 1 quan hệ trên tập X và tập Y, biến

mỗi giá trị xX thành nhiều nhất m t giá trị yY. Ký hiệu:

}:,;:|:{ 212121 yyfyxfyxYyyXxYXfYX

5.1.3.5. Hàm t àn phần

}:{ Xdom oYXfYX

Page 59: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

58

5.2. Giả đồ (s e s)

5.2.1. Giới t iệu u g

Trong ngôn ngữ Z có 2 thành phần ngôn ngữ chính : ngôn ngữ toán và ngôn ngữ

giả đồ. Ngôn ngữ toán họ được sử dụng trong nhiều phần khác nhau của giai đoạn

thiết kế : đặc tả á đối ượ g, đặc tả các ràng buộc và mối quan hệ giữa chúng, v.v...

ro g k i đó, gô gữ giả đồ đượ dù g để tạo nên các bảng mô tả, kết hợp, đó g

gói các phầ ô g i k á au, đồng thời đặ ê o ú g để sử dụng lại cho các

mụ đ k á

Việ đị g ĩa và đặ ê , ũ g ư k ả ă g ái sử dụng 1 thành phầ , đối

ượ g ào đó là ết sức cần thiế o quá rì đặc tả Nó giúp o á đặc tả ngắn gọn,

chính xác, tránh trùng lắp và rõ ràng, dễ hiểu.

5.2.2. Đị g ĩ

Giả đồ (schema) là cú pháp của Z o p ép gười đặc tả đị g ĩa k ái

niệm, 1 yếu tố mới gồm nhiều thành phần thông tin khác nhau, có ràng buộc với nhau,

giố g ư k ái iệm cấu trúc trong các ngôn ngữ lập rì ; đồng thời đặt tên cho cấu

trúc này.

Một giả đồ bao gồm 2 phần: phần khai báo các biến và phần vị từ diễn tả các

ràng buộc trên những biến này. Ta có thể biểu diễn một giả đồ theo 1 trong 2 dạng

sau :

Theo chiều ngang :

[khai báo | ràng bu c]

Theo chiều dọc :

Page 60: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

59

khai báo

ràng bu c

Ví dụ :

hay :

5.2.3. To tử đặt tê

Nhằm mụ đ đặt tên cho 1 giả đồ, tiện cho việc sử dụng lại sau này, ngôn

ngữ Z cung cấp 1 toán tử riê g, được ký hiệu là : , để thuận lợi cho việc soạn thảo,

ký hiệu ày được viết lại thành ^=

Tên ^= [khai báo | ràng bu c]

khai báo

ràng bu c

Ví dụ :

hay :

Tên

Page 61: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

60

5.2.4. Giả đồ tươ g đươ g

Hai giả đồ được gọi là ươ g đươ g au ếu chúng có cùng các biến và có

cùng ràng buộc giống nhau trên các biến này.

Ví dụ : 2 giả đồ sau đây là ươ g đươ g :

5.2.5. t số g i ú

Để giả đồ đơ giản và dễ đọ ơ , a ó ể thực hiện ngắt các khai báo ra thành

nhiều dòng khác nhau, mỗi khai báo trên 1 dòng và giả lược các dấu chấm phẩy

( ; ) gă á K i đó p ép ối giữa các dòng này mặc nhiên là phép nối liền -

(conjunction)

Ví dụ : giả đồ trong ví dụ ở phần trên

có thể được biểu diễn lại ư sau :

Page 62: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

61

Nếu 1 giả đồ đơ giản chỉ khai báo các biến mà không nêu ra ràng buộc cụ thể

trên các biến này thì ta có thể bỏ phần vị từ bê dưới đi dụ :

K i đó, giản đồ sẽ ươ g đươ g với giả đồ sau :

5.2.6. Giả đồ đượ sử ụ g ư 1 kiểu ữ liệu

Trong ngôn ngữ Z, một kiểu dữ liệu có thể là 1 tập o rước (N, Z, Q, R, ...), 1

tập Power set, 1 kiểu tự do hoặc là 1 tích Decartes của nhiều tập hợp. Ngoài ra, ta có

thể sử dụng giả đồ ư kiểu dữ liệu, sau k i đã đặt tên cho giả đồ đó bằng phép

oá đặt tên ^=.

Ví dụ ta có giả đồ :

N ư vậy khi khai báo :

s : SchemaOne

tức là s là một biến, 1 phần tử thuộc kiểu SchemaOne, s sẽ bao gồm 2 thành phần: a là

1 số nguyên và c là 1 tập con gồm các số nguyên.

Page 63: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

62

Ví dụ 2 : a đị g ĩa kiểu dữ liệu Date, bao gồm 2 ô g i là ( á g, gày) ư

sau :

rước hế , a ó đị g ĩa kiểu dữ liệu tự do để mô tả các tháng, bao gồm 12 giá trị

hằng riêng lẻ ư sau :

Sau đó a đị g ĩa kiểu Date :

5.2.7. Giả đồ đượ sử ụ g tro g k i b o

Một giả đồ, sau k i đượ đị g ĩa và đặt tên, có thể được sử dụng trong bất

kỳ 1 khai báo nào. Kết quả là các biến có trong giả đồ sẽ có mặ ro g k ai báo đó,

cùng với những ràng buộ ươ g ứ g đã quy định trên giả đồ.

Xét ví dụ sau, với giả đồ SchemaTwo, gần giống với S emaO e ư g ó

thêm 1 số ràng buộc, tập c phải khác rỗ g, đồng thời a phải là 1 phần tử của c.

K i đó ập hợp :

Page 64: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

63

sẽ bao gồm tất cả các tập con c Z và c có chứa phần tử số 0. Ta có thể biểu diễn tập

hợp ày eo á ô g ường, không sử dụng giả đồ ư sau :

hoặ ũ g ó ể biểu diễn theo 1 cách khác, sử dụ g đối ượng thuộc kiểu

SchemaTwo :

Ví dụ 2 : Trở lại giả đồ mô tả kiểu Date ở trên :

Nếu ta có thể định g ĩa ập á á g ó 3 gày ư sau :

ay ói á k á , đó là ập :

5.2.8. Giả đồ đượ sử ụ g tro g biểu t ứ lượ g từ

N ư đã k ẳ g định, một giả đồ có thể được sử dụ g ư kiểu dữ liệu nên nó

có thể xuất hiện trong các biểu thứ lượng từ. Ví dụ :

hay

Page 65: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

64

Vị từ

còn có thể được phát biểu eo á k á ư sau :

5.2.9. Giả đồ đượ sử ụ g ư 1 ị từ

Xét giả đồ S ema ree ư sau :

Ta có thể phát biểu :

để diễn tả rằng bất kỳ số nguyên a và tập số c nào thỏa ràng buộc trong SchemaThree

ì ũ g ỏa ràng buộc trong SchemaTwo.

Phát biểu rê ươ g đươ g với phát biểu sau :

N ư vậy, ta nhận thấy toàn bộ phần khai báo của 2 giả đồ đã đượ lược bỏ, chỉ có

phần ràng buộ là được giữ lại.

Page 66: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

65

5.2.10. Dạ g uẩ 1 giả đồ

K i đị g ĩa giả đồ, phần khai báo của giả đồ bả â ó đã ứa sẵn 1

số ràng buộc nhấ định. Chính vì vậy, khi sử dụng giả đồ ư vị từ thì các ràng buộc

ày ũ g dễ bị "bỏ quên", do phần khai báo của giả đồ đã được giả lược (xem phần

trên).

Vì vậy, để tránh gây nhầm lẫn, ta nên chuyển giả đồ về một dạng mới sao cho

tất cả các ràng buộ đều nằm ở phần ràng buộ bê dưới. Một giả đồ theo dạng này

được gọi là giả đồ chuẩn, và thao tác chuyển toàn bộ ràng buộc xuống phầ dưới của

giả đồ được gọi là chuẩn hóa giả đồ.

Ví dụ : Xét giả đồ sau :

Thoạt nhìn, ta có thể g ĩ giả đồ ày ươ g đươ g với giả đồ SchemaTwo,

tuy nhiên, ngay trên bản thân kiểu số tự iê N đã ó rà g buộc rồi. Do vậy, ta chuẩn

hóa nó lại ư sau :

Ví dụ 2 : Xét giả đồ Date ở trên :

Page 67: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

66

Ta chuẩn hóa giả đồ này lại ư sau :

5.2.11. Đặt lại tê t à ầ tro g giả đồ

ro g quá rì đặc tả, đôi k i ần phải đặt lại tên các thành phần trong 1 giản

đồ. Bằng cách này ta có thể tạo nên 1 giả đồ mới có cùng kết cấu và ràng buộc với

giả đồ ũ ư g ó á à p ần với ê và ý g ĩa k á đi

ú p áp để đổi tên 1 giả đồ :

Nếu Schema là 1 giả đồ, ta ký hiệu :

là giả đồ được tạo nên bằ g á đổi tên thành phần tên là old trong Schema thành

new.

Ví dụ : trong giả đồ SchemaTwo, nếu thay a bằng q và c bằng s, ta có :

k i đó, giả đồ kết quả sẽ ươ g đươ g với giả đồ :

Page 68: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

67

ươ g ự ư vậy, nếu muố đị g ĩa kiểu dữ liệu StartDate từ kiểu dữ liệu Date, ta

có thể làm ư sau :

K i đó, giả đồ sẽ ươ g đươ g :

Nếu a đị g ĩa êm giả đồ FinishDate :

K i đó, S ar Da e và i is Da e đượ xem ư 2 kiểu dữ liệu khác nhau, mặc dù

ú g đều có 2 thành phần và có các ràng buộ ươ g ự ư au

5.3. é to trê giả đồ

5.3.1. P é ối liề ( o ju tio )

Cho 2 giả đồ S và được thể hiệ ư sau, với P và Q là 2 vị từ diễn tả các ràng buộc

lên các biế ươ g ứng:

Page 69: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

68

Ta ký hiệu :

S T

để biểu diễn phép nối liền của 2 giả đồ S và T. Kết quả sẽ là 1 giả đồ mới được tạo

nên bằng cách gộp các biến trong S và T lại, đồng thời thực hiện phép nối liền trên 2 vị

từ ràng buộc P và Q.

Lưu : Nếu trong 2 giả đồ S và T có 1 thành phần giống nhau thì thành phần này

phải có kiểu giống nhau ở cả 2 giả đồ. Nếu không giả đồ S T sẽ k ô g xá định.

5.3.2. P é đổi tê (De or tio )

Giả sử ta có giả đồ State mô tả 1 trạng thái của hệ thống, có 2 thành phần a, b với ràng

buộc là P

Mỗi đối ượng s : State biểu diễn 1 trạng thái hợp lệ của hệ thống.

Để biểu diễn 1 thao tác lên 1 trạ g ái ào đó, a ần sử dụng 2 trạng thái : trạng thái

rước khi thực hiện thao tác và trạng thái sau khi thực hiệ ao á đó Để phân biệt 2

trạ g ái ày, a dù g p ép đặ ê để tạo nên 1 giả đồ mới, bằng cách thêm dấu nháy

(’) vào sau ê giả đồ ũ g ư ê ất cả các biế được khai báo trong giả đồ :

Page 70: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

69

Để đặc tả thao tác, ta có thể đưa ả 2 trạ g ái S a e và S a e’ vào p ần khai báo của

giả đồ. Một giả đồ thao tác sẽ có dạng :

Ngôn ngữ Z quy định 1 cách thức biểu diễn cả 2 giả đồ S a e và S a e’, á ức biểu

diễ đó ư sau :

5.3.3. P é ối rời (Disju tio )

Cho 2 giả đồ S và được thể hiệ ư sau, với P và Q là 2 vị từ diễn tả các ràng buộc

lên các biế ươ g ứng:

Ta ký hiệu :

S T

Page 71: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

70

để biểu diễn phép nối rời của 2 giả đồ S và T. Kết quả sẽ là 1 giả đồ mới được tạo

nên bằng cách gộp các biến trong S và T lại, đồng thời thực hiện phép nối rời trên 2 vị

từ ràng buộc P và Q.

ươ g ự ư rê p ép ối liền, tất cả các thành phần (các biến) xuất hiện ở cả 2 giản

đồ thành phần phải có cùng kiểu dữ liệu. Tất cả các ràng buộc nếu có xuất hiện ở phần

k ai báo đều phải được chuyển sang phần vị từ ràng buộc của mỗi giả đồ thành phần

rước khi thực hiện phép nối rời.

5.3.4. P é đị (Neg tio )

Cho giả đồ S được thể hiệ ư sau, với P là vị từ diễn tả các ràng buộc lên các biến

ươ g ứng:

k i đó giả đồ phủ định S sẽ có dạng :

Lưu ý : phép phủ định chỉ áp dụng cho các giả đồ đã được chuẩn hóa (tức là tất cả các

ràng buộ đều phải được chuyển sang phần vị từ ràng buộ bê dưới).

Page 72: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

71

Ví dụ : Giả đồ Date biểu diễn những ngày tháng hợp lệ, do đó Date sẽ biểu diễn tất

cả những cặp (month, day) nào không phải là một ngày tháng hợp lệ.

5.3.5. P é lượ g từ ó

Ta có thể lượng từ hóa 1 số thành phần của 1 giả đồ để tạo ra 1 giả đồ mới. Nếu Q là

lượng từ và dec là phầ k ai báo, k i đó giả đồ đượ lượng từ hóa sẽ có dạng :

Giả đồ ày được tạo thành bằng cách bỏ đi á à p ần có trong phần khai báo dec

và lượng từ hóa chúng bằ g lượng từ Q trong phần vị từ ràng buộ bê dưới.

Ví dụ : Cho giả đồ ư sau :

K i đó, SBb : là giả đồ :

và SBb : là giả đồ :

Page 73: Giáo Trình Môn Đặc Tả Hình Thức-ICTU

72