Nghiên cứu về chứng minh tự động (Theorem Proving) trong CafeOBJ

4 326 0
Nghiên cứu về chứng minh tự động (Theorem Proving) trong CafeOBJ

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

Thông tin tài liệu

Nghiên cứu về chứng minh tự động (Theorem Proving) trong CafeOBJ

Nghiên cứu về chứng minh tự động (Theorem Proving) trong CafeOBJ Tạ Thị Thu Hiền Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Công nghệ phần mềm; Mã số: 60 48 10 Người hướng dẫn: TS. Phạm Ngọc Hùng Năm bảo vệ: 2010 Abstract: Chương 1: Giới thiệu. Chương 2: Tổng quan về ngôn ngữ 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ử và các thuộc tính. Chương 4: Mổ tả về phương pháp kiểm chứng hệ thống đa tác tử bằng ngôn ngữ CafeOBJ, với tưởng quy nạp, có thể kiểm chứng với không gian trạng thái là vô tận. Chương 5: 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 Keywords: Ngôn ngữ lập trình; Phần mềm; Hệ thống đa tác tử Content 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 là đặc tả dựa trên ngôn ngữ tự nhiên và đặc tả hình thức là đặc tả dựa trên kiến trúc toán học. Đặc tả phi hình thức 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. Trong đặc tả hình thức 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ả. 2 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ự 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) [4] 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, 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. Theo hướng tiếp cận mô hình, chúng ta có phương pháp kiểm chứng mô hình (Model checking) [3], với đầu vào là một otomat hữu hạn trạng thái và thuộc tính cần kiểm chứng, sẽ cho kết quả đầu ra là true hoặc false. Hiện nay có nhiều phương pháp hỗ trợ đặc tả và kiểm chứng phần mềm theo hướng tiếp cận trên như SPIN [5], SMV [6], NuSMV [7] . Khác với kiểm chứng mô hình, chứng minh tự động (Theorem Proving) có thể kiểm chứng các hệ thống với mô hình là vô hạn trạng thái; CafeOBJ [2] là một ngôn ngữ hỗ trợ đặc tả và kiểm chứng theo tưởng của chứng minh tự động. 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. 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à kiểm chứng hệ thống đa tác tử (MAS) sử dụng ngôn ngữ CafeOBJ. Tài liệu [1] đã giải quyết được trường hợp xung đột tài nguyên, tại một thời điểm chỉ có một tiến trình (agent) được sử dụng tài nguyên dùng chung. Khóa luận của tôi sẽ tập trung vào chứng minh các thuộc tính khác của hệ thống đa tác tử bằng ngôn ngữ CafeOBJ; 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ưở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: 3 - 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. - Nắm vững phương pháp chứng minh tự động sử dụng 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 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 04 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. Số lượng tác tử trong hệ thống là vô hạn vì vậy không gian trang thái là vô hạn. Với hệ thống này, chúng ta không thể áp dụng các phương pháp kiểm chứng mô hình vì lý do trên. 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 như sau: - Chương 2 trình bày tổng quan về ngôn ngữ 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. - Một hệ thống đa tác tử và 5 thuộc tính được đặc tả trong chương 3. - Chương 4 mô tả về phương pháp kiểm chứng hệ thống đa tác tử bằng ngôn ngữ CafeOBJ, với tưởng quy nạp, có thể kiểm chứng với không gian trạng thái là vô hạ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 sẽ được trình bày trong chương 5. References Tiếng Việt [1] Phạm Ngọc Thắng (2010), Đặc tả và kiểm chứng phần mềm sử dụng CafeOBJ, luận văn tốt nghiệp đại học, trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội . Tiếng Anh [2] http://www.ldl.jaist.ac.jp/cafeobj/ [3] E. M. Clarke, O. Grumberg, and D.Peled, Model Checking, The MIT Press, (1999). [4] Roger S. Pressman. Software Engineering - A practitioner’s approach, sixth edition, McGraw-Hill Companies (2005). 4 [5] http://spinroot.com/spin/whatispin.html [6] K. L. McMillan. “The SMV system*”. [7] http://nusmv.irst.itc.it/ [8] Silva, A. L., M. M. Menezes and L.Silva, Using CafeOBJ to implement a reduction strategy in the context of hardware/software partitioning., Electronic Notes in Theoretical Computer Science 95 (2004). [9] Kazuhiro Ogata and Kokichi Futatsugi. Proof scores in the OTS/CafeOBJ method. In Proc. Of The 6 th IFIP WG6.1 International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS 2003). Springer (2003). [10] P. N. Hung, T. Aoki and T. Katayama: ``Modular Conformance Testing and Assume-Guarantee Verification for Evolving Component-Based Software'', IEICE Trans. on Fundamentals, Special Issue on Theory of Concurrent Systems and Its Applications, Vol. E92-A, No.11, pp. 2772-2780 (2009)

Ngày đăng: 19/09/2013, 11:47

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan