đặc tả và chứng minh tính đúng đắn của thiết kế cho các hệ đa tác tử

66 553 0
đặc tả và chứng minh tính đúng đắn của thiết kế cho các hệ đa tác tử

Đ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

Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi i ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN QUỲNH CHI ĐẶC TẢ VÀ CHỨNG MINH TÍNH ĐÚNG ĐẮN CỦA THIẾT KẾ CHO CÁC HỆ ĐA TÁC TỬ Chuyên ngành : BẢO ĐẢM TOÁN HỌC CHO MÁY TÍNH VÀ HỆ THỐNG TÍNH TOÁN Mã số : 60 46 35 LUẬN VĂN THẠC SĨ HƢỚNG DẪN KHOA HỌC: TS. Phạm Ngọc Hùng Hà Nội - 2010 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi ii LỜI CẢM ƠN Trước tiên tôi xin bày tỏ lòng biết ơn sâu sắc tới TS. Phạm Ngọc Hùng, giảng viên Bộ môn Công nghệ phần mềm - Khoa Công nghệ thông tin - Trường Đại học Công nghệ - ĐHQGHN. Trong thời gian học và làm luận văn tốt nghiệp, thầy đã dành nhiều thời gian quý báu và tận tình chỉ bảo, hướng dẫn tôi trong việc nghiên cứu, thực hiện luận văn. Xin cảm ơn bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động viên, cổ vũ tôi trong suốt quá trình học tập và nghiên cứu để hoàn thành tốt bản luận văn tốt nghiệp này. Nam định, Ngày 20 tháng 06 năm 2013 Học viên thực hiện Nguyễn Quỳnh Chi Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi iii LỜI CAM ĐOAN Tôi xin cam đoan rằng, đây là kết quả nghiên cứu của tôi trong đó có sự giúp đỡ rất lớn của thầy hướng dẫn và gia đình. Các nội dung nghiên cứu và kết quả trong đề tài này hoàn toàn trung thực. Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã được liệt kê tại phần tài liệu tham khảo ở cuối luận văn. Nam Định, Ngày 20 tháng 06 năm 2013 Học viên thực hiện Nguyễn Quỳnh Chi Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi iv BẢNG CÁC CHỮ VIẾT TẮT Viết tắt Tên đầy đủ MAS Multi-Agent System OTS Observation Transition System QLOCK Locking with queue Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi v Phụ lục Giới thiệu 1 1.1 Đặt vấn đề 1 1.2 Nêu bài toán 3 1.3 Kết quả 3 1.4 Cấu trúc luận văn 4 Chương 2 5 Tổng quan về CafeOBJ 5 2.1 Giới thiệu 5 2.2 Đặc tả và kiểm chứng trong CafeOBJ 10 2.2.1 Ví dụ 10 2.2.2 Đặc tả số tự nhiên 11 2.2.3 Đặc tả thuộc tính 12 2.2.4 Kiểm chứng thuộc tính 12 Chương 3 17 Đặc tả hệ thống đa tác tử 17 3.1. OTS (Observation transition system) 17 3.2 Mô tả bài toán QLOCK 18 3.4 Đặc tả bài toán QLOCK bằng ngôn ngữ cafeOBJ 22 Chương 4 29 Kiểm chứng hệ thống đa tác tử 29 4.1 Thuộc tính INV1 được mô tả 29 4.1.1 Kiểm chứng bằng phương pháp quy nạp trong ngôn ngữ tự nhiên 29 4.1.2. Kiểm chứng bằng phương pháp quy nạp trong ngôn ngữ CafeOBJ 30 4.2- Thuộc tính INV2 được mô tả 46 Chương 5 Error! Bookmark not defined. Kết luận 55 Tài liệu tham khảo 57 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi i DANH MỤC HÌNH VẼ Hình 2.1- Cú pháp của mô đun 6 Hình 2.2- Đặc tả 2 mô đun BASIC-NAT trong CafeOBJ 8 Hình 2.3. Đọc file nat+ps.mod trong CafeOBJ 9 Hình 2.4: Đọc chi tiết file cần chứng minh trong CafeOBJ 9 Hình 2.5. Mô tả eof trong CafeOBJ 10 Hình 2.6. Mô đun BASIC-NAT trong CafeOBJ 11 Hình 2.7 Đặc tả thuộc tính cho điều kiện (*) và điều kiện (**) 12 Hình 2.8 Chứng minh tính chất kết hợp của phép cộng các số tự nhiên 13 Hình 2.9 Chứng minh 0+j=j+0 16 Hình 2.10 Chứng minh lemma2: i + s(j) = s(i+j) 16 Hình 2.11 Chứng minh i+j = j + i 17 Hình 3.1 Mô tả bài toán Qlock 20 Hình 3.2. View of QLOCK 21 Hình 3.3 Mô hình QLOCK với OTS 22 Hình 3.4 Đặc tả (signature) cho hệ thống QLOCK 24 Hình 3.5 Đặc tả mô đun LABEL 25 Hình 3.6 Đặc tả mô đun PID 25 Hình 3.7 Kiểu biến tổng quát cho hàng đợi QUEUE 26 Hình 3.8 Hàng đợi QUEUE cho bài toán QLOCK. 27 Hình 3.9 Hành động want trong hệ thống QLOCK 28 Hình 3.10 Hành động try trong hệ thống QLOCK 28 Hình 3.11 Hành động exit trong hệ thống QLOCK 29 Hình 4.1 Kiểm tra giá trị của INV1 tại trạng thái init 31 Hình 4.2 Kiểm tra giá trị của INV1 với hành động want tại trạng thái s 32 Hình 4.3 Kiểm chứng INV1 với hành động want cho trường hợp ~(c-want) 32 Hình 4.4 Kiểm chứng INV1 với hành động want cho trường hợp (c-want) 33 Hình 4.5 Kiểm chứng INV1 với hành động want cho trường hợp (2) 34 Hình 4.6 Kiểm chứng INV1 với hành động want cho trường hợp (3) 35 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi ii Hình 4.7 Kiểm chứng INV1 với hành động want cho trường hợp (4) 36 Hình 4.8 Kiểm chứng INV1 với hành động want cho trường hợp (5) 36 Hình 4.9 Kiểm chứng istep1 với hành động want cho trường hợp (5) 37 Hình 4.10 Kiểm chứng istep 1 với hành động try cho trường hợp c-try (s,k) 38 Hình 4.11 Kiểm chứng istep 1 với hành động try cho trường hợp ~(c-try (s,k)) 38 Hình 4.12 Kiểm chứng istep 1 với hành động try cho trường hợp (2) 39 Hình 4.13 Kiểm chứng istep 1 với hành động try cho trường hợp (3) 40 Hình 4.14 Kiểm chứng istep 1 với hành động try cho trường hợp (4) 41 Hình 4.15 Kiểm chứng istep 1 với hành động try cho trường hợp (5) 42 Hình 4.16 Kiểm tra giá trị của INV1 với hành động exit tại trạng thái s 43 Hình 4.17 Kiểm tra istep1 với hành động exit cho trường hợp ~c-exit(s,k) 43 Hình 4.18 Kiểm tra istep1 với hành động exit cho trường hợp c-exit(s,k) 44 Hình 4.19 Kiểm tra istep1 với hành động exit cho trường hợp (2) 44 Hình 4.20 Kiểm tra istep1 với hành động exit cho trường hợp (3) 45 Hình 4.21 Kiểm tra istep1 với hành động exit cho trường hợp (4) 45 Hình 4.22 Kiểm tra istep1 với hành động exit cho trường hợp (5) 46 Hình 4.23 Kiểm tra giá trị của INV2 tại trạng thái init 47 Hình 4.24 Kiểm tra istep2 với hành động WANT cho trạng thái s 48 Hình 4.25 Kiểm tra istep2 với hành động WANT cho trường hợp ~c-want(s,k) 48 Hình 4.26 Kiểm tra istep2 với hành động WANT cho trường hợp c-want(s,k) 49 Hình 4.27 Kiểm tra istep2 với hành động WANT cho trường hợp i=k 49 Hình 4.28 Kiểm tra istep2 với hành động WANT cho trường hợp ~(i=k) 50 Hình 4.29 Kiểm tra istep2 với hành động WANT cho trường hợp ~(i=k) queue(s) = empty 51 Hình 4.30 Kiểm tra istep2 với hành động WANT cho trường hợp ~(i=k) queue(s) = j,q 51 Hình 4.31 Kiểm chứng inv1(s,i,k) implies istep2(i) với hành động exit cho trường hợp ~(i = k), pc(s,i) = cs, inv1 53 Hình 4.32 Kiểm chứng istep2 với hành động exit cho trường hợp ~(i = k), ~(pc(s,i) = cs 54 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi 1 Giới thiệu 1.1 Đặt vấn đề Đặc tả và kiểm chứng hình thức là một pha quan trọng nhằm nâng cao độ tin cậy và chất lượng của phần mềm. Có thể chia đặc tả phần mềm ra làm hai loại: đặc tả phi hình thức (ngôn ngữ tự nhiên) và đặc tả hình thức (dựa trên kiến trúc toán học). Đặc tả phi hình thức là đặc tả sử dụng ngôn ngữ tự nhiên. Tuy nó không được chặt chẽ bằng đặc tả hình thức nhưng được nhiều người biết và có thể dùng để trao đổi với nhau để làm chính xác hóa các điểm chưa rõ, chưa thống nhất giữa các bên phát triển hệ thống. Đặc tả hình thức là đặc tả mà ở đó các từ ngữ, cú pháp, ngữ nghĩa được định nghĩa hình thức dựa vào toán học. Đặc tả hình thức có thể coi là một phần của hoạt động đặc tả phần mềm. Các đặc tả yêu cầu được phân tích chi tiết. Các mô tả trừu tượng của các chức năng chương trình có thể được tạo ra để làm rõ yêu cầu. Đặc tả phần mềm hình thức là một đặc tả được trình bày trên một ngôn ngữ bao gồm: từ vựng, cú pháp và ngữ nghĩa được định nghĩa. Định nghĩa ngữ nghĩa đảm bảo ngôn ngữ đặc tả không phải là ngôn ngữ tự nhiên mà dựa trên toán học. Các chức năng nhận các đầu vào trả lại các kết quả. Các chức năng có thể định ra các điều kiện tiền tố và hậu tố. Điều kiện tiền tố là điều kiện cần thỏa mãn để có dữ liệu vào, điều kiện hậu tố là điều kiện cần thỏa mãn sau khi có kết quả. Có hai hướng tiếp cận đặc tả hình thức để phát triển các hệ thống tương đối phức tạp: -Tiếp cận đại số, hệ thống được mô tả dưới dạng các toán tử và các quan hệ -Tiếp cận mô hình, mô hình hệ thống được cấu trúc sử dụng các thực thể toán học như là các tập hợp và các thứ tự Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi 2 Kiểm thử một sản phẩm phần mềm là xây dựng một cách có chủ đích những tập dữ liệu và dãy thao tác nhằm đánh giá một số hoặc toàn bộ các tiêu chuẩn của sản phẩm phần mềm đó. Thử nghiệm có hai mục đích: chỉ ra hệ thống phù hợp với đặc tả và phơi ra được các khuyết tật của hệ thống. Trong khi việc kiểm thử phần mềm (software testing) chỉ có thể chỉ ra các lỗi phát hiện được nhưng không thể chỉ ra được phần mềm hoàn toàn không có lỗi ( phần mềm luôn đúng), các phương pháp kiểm chứng có thể đảm bảo hệ thống không có lỗi sau khi đã được kiểm chứng đúng đắn. Hiện này đã có nhiểu phương pháp và công cụ hỗ trợ cho việc đặc tả và kiểm chứng phần mềm như OBJ, Maude, CafeOBJ, SPIN, SMV, NuSMV…. Mỗi phương pháp có những ưu và nhược điểm riêng và bi hạn chế trong một số hệ thống nhất định. Mục đích của khóa luận là tìm hiểu về phương pháp đặc tả và kiểm chứng hình thức phần mềm trong CafeOBJ. Từ mô tả của hệ thống cần kiểm chứng, chúng ta cần đặc tả hệ thống một cách hình thức bằng ngôn ngữ CafeOBJ. Các thuộc tính cần kiểm chứng của hệ thống cũng được đặc tả một cách tương tự. Sử dụng ngữ nghĩa cú pháp trong ngôn ngữ CafeOBJ để thể hiện các đặc tả hệ thống cũng như các đặc tả thuộc tính của hệ thống cần kiểm chứng dưới dạng hình thức từ các phát biểu của ngôn ngữ tự nhiên. CafeOBJ có thể kiểm chứng hệ thống đa tác tử (MAS) với không gian trạng thái là vô hạn. Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi 3 1.2 Nêu bài toán Bài toán thực hiện trong khóa luận là bài toán đặc tả và chứng minh tính đúng đắn của hệ thống đa tác tử (MAS) sử dụng ngôn ngữ CafeOBJ. Quy trình sẽ được thực hiện như sau: Yêu cầu là phải đảm bảo thiết kế đúng trước khi lập trình, nếu không lỗi sẽ lan sang các bước sau và mất nhiều công hơn ( có thể là cấp mũ) mới tìm được ra lỗi. Hiện nay vẫn còn làm thủ công, xem từng thiết kế so sánh với đặc tả yêu cầu mới có thể tìm ra lỗi nên khó đảm bảo chất lượng. Một số sản phẩm sẽ đòi hỏi chất lượng cao ( bằng phần mềm điều khiển) Vì không biết trước số tác tử nên không biết được số trạng thái của hệ thống, ta coi không gian trạng thái là hộp đen, nên không thể áp dụng các phương pháp kiểm chứng bằng mô hình yêu cầu chứng minh lý thuyết không được làm thủ công, ngược lại sẽ không nghiệm thu thiết kế. Khóa luận của tôi sẽ tập trung vào chứng minh các thuộc tính của hệ thống đa tác tử bằng ngôn ngữ CafeOBJ; tư tưởng chứng minh là dùng phương pháp qui nạp, phân rã bài toán ra các trường hợp và thêm các bổ đề vào. Tư tưởng trên đã kiểm chứng được hệ thống đa tác tử (MAS) với không gian trạng thái là vô hạn. 1.3 Kết quả Luận văn đã đạt được các kết quả sau: -Tìm hiểu và nắm rõ phương pháp đặc tả phần mềm sử dụng ngôn ngữ đại số CafeOBJ. Thu thập yêu cầu Đặc tả yêu cầu Lập trình Thiết kế [...]... CafeOBJ, kỹ thuật đặc tả và kiểm chứng phần mềm bằng phương pháp hình thức được sử dụng trong CafeOBJ Chƣơng 3 Đặc tả hệ thống đa tác tử Chƣơng 4 Trình bày về phương pháp kiểm chứng hệ thống đa tác tử bằng ngôn ngữ CafeOBJ Kết luận Tóm tắt kết quả đã đạt được, kết luận, những hạn chế và hướng nghiên cứu phát triển trong tương lai 4 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi... close 12 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi Hình 2.8 : Chứng minh tính chất kết hợp của phép cộng các số tự nhiên Sử dụng chương trình kiểm chứng bằng ngôn ngữ toán học CafeOBJ kết quả của hình 2.8 trả về true, vậy thuộc tính (*) được chứng minh cụ thể như sau: **> Prove associativity: (i + j) + k = i +(j + k) chứng minh tính chất kết hợp của phép cộng các số tự... 6 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi  Using ( Thừa kế các mô đun có thể mở rộng hoặc thay đổi sự mô tả ban đầu Singnature: Khai báo các kiểu (sorts), các kiểu con (subsorts) và các toán tử (operators) Axioms: Bao gồm sự khai báo của các biến, các phương trình (equation), các sự dịch chuyển (transitions) và các biểu thức thể hiện hành vi của mô đun Thành phần của. . .Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi -Nắm vững phương pháp chứng minh tự động sử dụng tư tưởng qui nạp toán học để kiểm chứng các thuộc tính bất biến (invariant property) Với phương pháp này, để chứng minh một thuộc tính bất biến, chúng ta cần chứng minh nó đúng tại trạng thái khởi tạo của hệ thống Giả sử thuộc tính đúng tại một trạng thái bất kỳ s, chúng ta phải chứng. .. ta sẽ chứng minh tính chất giao hoán của phép cộng các số tự nhiên I+ J = J+ I , với I, J là số tự nhiên bất kỳ (**) 14 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi Sử dụng mô đun BASIC-NAT được mô tả ở (hình 2.6) để chứng minh cho thuộc tính (**) như hình sau, cũng với tư tưởng chứng minh là dùng phương pháp quy nạp, đầu tiên kiểm chứng (**), với i=0, và giả thiết (**) đúng. .. thay đổi và i đã có trong hàng đợi Chƣơng 4 Kiểm chứng hệ thống đa tác tử Kiểm chứng các hệ thống bất biến của hệ thống đa tác tử 4.1 Thuộc tính INV1 đƣợc mô tả Chúng ta cần phải kiểm chứng rằng mô hình được mô tả của hệ thống đa tác tử thỏa mãn với thuộc tính sau: INV1 ( Invariant) : Với mọi agent I, J tại mọi trạng thái S, nếu nhãn của I là cs (I đang sử dụng tài nguyên dùng chung) và nhãn của J là... 11 Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi 2.2.3 Đặc tả thuộc tính Với đặc tả hệ thống BASIC-NAT như trên (Hình 2.6) , chúng ta cần đặc tả thuộc tính cần kiểm chứng ( điều kiện (*) và điều kiện (**)) Trong đó i , j, k là các số tự nhiên bất kỳ, hàm bất biến INV nhằm kiểm chứng tính đúng đắn của thuộc tính ops i j k : -> Nat - Điều cần chứng minh eq inv (i,j,k)=(( i... hóa hệ thống với kỹ thuật đại số cho việc đặc tả và kiểm chứng của các hệ thống một cách rõ nét hơn Ưu điểm của phương pháp này: - Trình bày một mô hình hình thức để mô tả hệ thống, trong đó chú trọng đến các quan sát (observers) cũng như các hành động trong OTS - Phương thức OTS/CafeOBJ cung cấp một mô hình ngữ nghĩa và framework chúng cho một hệ thống phức tạp 17 Đặc tả và chứng minh tính đúng đắn hệ. .. s, chúng ta phải chứng minh nó đúng với mọi trạng thái tiếp theo của s -Áp dụng những kiến thức đã tìm hiểu để kiểm chứng 02 thuộc tính của hệ thống đa tác tử Trong hệ thống này, các tác tử chia sẻ một tài nguyên dùng chung Kết quả kiểm chứng cho thấy hệ thống đa tác tử thỏa mãn các thuộc tính cần kiểm tra tại mọi trạng thái của hệ thống 1.4 Cấu trúc luận văn Các phần còn lại của luận văn có cấu trúc... hiểu về đặc tả và kiểm chứng trong CafeOBJ, chúng ta tìm hiểu một ví dụ đơn giản về sự đặc tả hệ thống số tự nhiên, đặc tả thuộc tính cần chứng minh và kiểm chứng thuộc tính đó Trong ví dụ này chúng ta chỉ mô tả một số đặc tả cơ bản với phép toán cộng (“+”), phép so sánh (“=”), phép toán (“s”) tăng số tự nhiên lên một đơn vị, và đặc tả thuộc tính cần kiểm chứng chính là 2.2.1.1: Tính chất kết hợp của phép . NHIÊN NGUYỄN QUỲNH CHI ĐẶC TẢ VÀ CHỨNG MINH TÍNH ĐÚNG ĐẮN CỦA THIẾT KẾ CHO CÁC HỆ ĐA TÁC TỬ Chuyên ngành : BẢO ĐẢM TOÁN HỌC CHO MÁY TÍNH VÀ HỆ THỐNG TÍNH TOÁN Mã số : 60 46 35. Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi 3 1.2 Nêu bài toán Bài toán thực hiện trong khóa luận là bài toán đặc tả và chứng minh tính đúng đắn của hệ. nhiên lên một đơn vị, và đặc tả thuộc tính cần kiểm chứng chính là 2.2.1.1: Tính chất kết hợp của phép cộng các số tự nhiên Đặc tả và chứng minh tính đúng đắn hệ thống đa tác tử Nguyễn Quỳnh Chi

Ngày đăng: 07/01/2015, 12:44

Từ khóa liên quan

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

Tài liệu liên quan