Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

phương pháp kiểm chứng tính đúng đắn của một chương trình java đa luồng thông qua sử dụng logic
PREMIUM
Số trang
64
Kích thước
945.3 KB
Định dạng
PDF
Lượt xem
1100

phương pháp kiểm chứng tính đúng đắn của một chương trình java đa luồng thông qua sử dụng logic

Nội dung xem thử

Mô tả chi tiết

- 1 -

TRƯỜNG ………………….

KHOA……………………….

----------

Báo cáo tốt nghiệp

Đề tài:

Phương pháp kiểm chứng tính đúng đắn của một chương

trình Java đa luồng thông qua sử dụng logic Hoare

- 2 -

TÓM TẮT KHÓA LUẬN

Có rất nhiều phương pháp để kiểm chứng tính đúng đắn của một chương trình Java đa

luồng. Một trong các phương pháp đó là sử dụng logic Hoare. Kiểm chứng tính đúng

đắn của một chương trình Java đa luồng sử dụng logic Hoare yêu cầu ta cần phải

chứng minh một chương trình được bổ sung và chú thích dưới sự thi hành của các lệnh

phải thỏa mãn: Nếu bước tính toán thi hành một phép gán, thì ta sử dụng các điều kiện

tính đúng đắn cục bộ để chứng minh tính quy nạp của sự thi hành các thuộc tính của

cấu hình cục bộ, và kiểm tra tính không có can thiệp đối với tất cả các cấu hình cục bộ

khác và các bất biến lớp khác. Đối với giao tiếp, tính bất biến đối với thi hành các đối

tác và bất biến toàn cục được chứng tỏ thông qua kiểm tra sự hợp tác đối với giao tiếp.

Giao tiếp với chính nó không ảnh hưởng trạng thái toàn cục; tính bất biến của các

thuộc tính còn lại dưới các quan sát tương ứng được chứng tỏ thông qua kiểm tra tính

không có can thiệp. Cuối cùng, đối với tạo đối tượng, tính bất biến đối với bất biến

toàn cục, tạo cấu hình cục bộ, bất biến lớp của đối tượng được tạo được đảm bảo các

điều kiện của kiểm tra hợp tác đối với tạo đối tượng; tất cả các thuộc tính khác được

chứng tỏ là bất biến thông qua sử dụng kiểm tra tính không có can thiệp.

- 3 -

MỤC LỤC

TÓM TẮT KHÓA LUẬN................................................................................................- 1 -

MỞ ĐẦU ..........................................................................................................................- 4 -

CHƯƠNG 1. LOGIC HOARE........................................................................................- 6 -

1.1. Logic vị từ..................................................................................................................- 6 -

1.2. Các tiên đề của Logic Hoare .....................................................................................- 9 -

1.2.1. Các công thức đúng cú pháp cho chứng minh chương trình................................- 9 -

1.2.2. Tiên đề của phép gán............................................................................................- 10 -

1.2.3. Các quy tắc bổ sung..............................................................................................- 10 -

CHƯƠNG 2. NGÔN NGỮ TUẦN TỰ..........................................................................- 12 -

2.1. Cú pháp ...................................................................................................................- 13 -

2.2. Ngữ nghĩa ................................................................................................................- 16 -

2.2.1. Trạng thái và các cấu hình...................................................................................- 16 -

2.2.2. Các ngữ nghĩa toán tử..........................................................................................- 18 -

2.3. Ngôn ngữ khẳng định..............................................................................................- 20 -

2.3.1. Cú pháp ................................................................................................................- 20 -

2.3.2. Ngữ nghĩa..............................................................................................................- 21 -

2.4. Hệ chứng minh ........................................................................................................- 25 -

2.4.1. Phác thảo chứng minh..........................................................................................- 26 -

2.4.2. Kiểm chứng các điều kiện ....................................................................................- 31 -

CHƯƠNG 3. NGÔN NGỮ TƯƠNG TRANH .................... Error! Bookmark not defined.

3.1. Cú pháp ...................................................................................................................- 42 -

3.2. Ngữ nghĩa ................................................................................................................- 42 -

3.3. Hệ chứng minh ........................................................................................................- 43 -

3.3.1. Phác thảo chứng minh..........................................................................................- 43 -

3.3.2. Kiểm chứng các điều kiện ....................................................................................- 43 -

CHƯƠNG 4. BỘ ĐIỀU PHỐI LẶP LẠI............................. Error! Bookmark not defined.

4.1. Cú pháp ...................................................................................................................- 47 -

4.2. Ngữ nghĩa ................................................................................................................- 47 -

4.3. Hệ chứng minh……………………………………………………………………….- 48-

4.3.1. Phác thảo chứng minh..........................................................................................- 49 -

4.3.2. Kiểm chứng các điều kiện ....................................................................................- 51 -

CHƯƠNG 5. PHÉP TOÁN ĐIỀU KIỆN TRƯỚC YẾU NHẤT..................................- 53 -

5.1. Các phép toán thay thế............................................................................................- 54 -

5.2. Kiểm chứng các điều kiện…………………………………………………………...- 54-

CHƯƠNG 6. TÍNH ĐÚNG ĐẮN......................................... Error! Bookmark not defined.

6.1. Tính đúng đắn .........................................................................................................- 59 -

KẾT LUẬN………………………………………………………………………………..- 62-

TÀI LIỆU THAM KHẢO………………………………………………………………..- 63-

- 4 -

MỞ ĐẦU

Yêu cầu của người dùng đối với một phần mềm ngày nay là không những nó phải có

giao diện đẹp, tốc độ xử lý dữ liệu nhanh, tốc độ phản ứng của chương trình với người

dùng cũng là một yêu cầu không thể bỏ qua. Một chương trình yêu cầu vừa có giao

diện đẹp, vừa xử lý nhanh chạy trên một máy cấu hình bình thường thì cần có một cơ

chế để quản lý cấp phát tài nguyên của máy một cách phù hợp. Và cơ chế quản lý đa

luồng chính là một giải pháp cho các yêu cầu trên. Ngôn ngữ lập trình Java là một

ngôn ngữ lập trình bậc cao hỗ trợ rất mạnh cho lập trình đa luồng, được sử dụng nhiều

trong các hệ thống lớn cũng như trong các phần mềm có quy mô vừa và nhỏ.

Trong các hệ thống lớn, chỉ một lỗi rất nhỏ cũng có thể dẫn tới những kết quả tai

hại, hoặc thậm chí là phá hủy hệ thống. Do đó ta thấy được tính quan trọng đối với

việc kiểm chứng tính đúng đắn của một chương trình. Việc kiểm chứng tính đúng đắn

của một chương trình Java đa luồng là không thể thiếu được trong việc phát triển hệ

thống. Ta cần có một phương pháp kiểm chứng tính đúng đắn của một chương trình

Java đa luồng. Đó chính là phương pháp thông qua sử dụng logic Hoare.

Logic Hoare là một hệ thống hình thức được phát triển bởi các nhà khoa học máy

tính Anh C.A.R.Hoare, và về sau được cải tiến bởi Hoare và các nhà nghiên cứu khác.

Mục đích của hệ thống này là cung cấp một tập các quy tắc logic để lý luận về tính

đúng đắn của các chương trình máy tính với tính chính xác của các logic toán học.

Logic Hoare là cơ sở để định nghĩa tính đúng đắn của hệ thống.

Trong khóa luận tốt nghiệp này em sẽ trình bày về phương pháp kiểm chứng tính

đúng đắn của một chương trình Java đa luồng thông qua sử dụng logic Hoare.

Khóa luận sẽ có sáu chương với nội dung chính như sau:

 Chương 1: Logic Hoare

 Chương 2: Ngôn ngữ tuần tự

- 5 -

 Chương 3: Ngôn ngữ tương tranh

 Chương 4: Bộ điều phối lặp lại

 Chương 5: Phép toán trước yếu nhất

 Chương 6: Tính đúng đắn

Tuy nhiên do còn nhiều hạn chế về thời gian cũng như kiến thức của bản thân,

khóa luận này không thể tránh khỏi những thiếu sót. Em rất mong nhận được sự quan

tâm góp ý của các thầy, cô giáo cũng như các anh, chị và các bạn, những người quan

tâm đến vấn đề này.

Em xin chân thành cảm ơn thầy giáo, tiến sỹ Đặng Văn Hưng, người đã hướng

dẫn trực tiếp, động viên và giúp đỡ em rất nhiều để hoàn thành khóa luận này.

Cuối cùng, em xin bày tỏ lòng biết ơn sâu sắc tới gia đình, bạn bè, các thầy cô

giáo, những người đã quan tâm, giúp đỡ em rất nhiều trong suốt những năm ngồi trên

ghế nhà trường.

Hà Nội, tháng 5 năm 2009

Sinh viên

LÊ VĂN VIỄN

- 6 -

CHƯƠNG 1. LOGIC HOARE

1.1. Logic vị từ

Định nghĩa: Vị từ là một hàm nhận một giá trị Bool.

Một vị từ thực sự là một giá trị logic được biểu hiện bằng tham số. Nó có thể đúng với

một số đối số, và sai với một số đối số khác. Chẳng hạn x > 0 là một vị từ với một đối

số, ta có thể đặt tên nó là gt0(x). Do vậy mà gt0(5) là đúng và gt0(0) là sai.

Định nghĩa: Các thành phần của logic vị từ wffs gồm có các thành phần sau:

• Các định danh biến – một tập (thường là vô hạn) của các tên biến, thường

là , , ,..., , , ,... 1 2 1 2

x x x y y y

• Các định danh hằng – một tập (hữu hạn, vô hạn, hoặc rỗng) của các tên hằng,

thường là , , ,..., , , ... 1 2 1 2

a a a b b b

• Các định danh vị từ – một tập (không rỗng) của các tên vị từ, thường

là , , , ..., , , ... p p1 p 2 q q1 q2

• Các định danh hàm – một tập các tên hàm, thường

là , , , ..., , , , ... 1 2 g g1 g 2

f f f

Mỗi định danh hàm và định vị từ có một số cố định của các đối số mà nó chấp nhận là

arity.

Định nghĩa: Các toán hạng của logic vị từ được định nghĩa một cách đệ quy như sau:

(i) các tên biến và các tên hằng là toán hạng, và

(ii) nếu k

t ,...,t

1

là các toán hạng và f là một tên hàm có số các đối số cố định là k,

thì   k

f t ,t ,...,t

1 2

là một toán hạng

Tải ngay đi em, còn do dự, trời tối mất!