Kiểm chứng các thành phần Java tương tranh

143 11 0
Kiểm chứng các thành phần Java tương tranh

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trịnh Thanh Bình KIỂM CHỨNG CÁC THÀNH PHẦN JAVA TƯƠNG TRANH LUẬN ÁN TIẾN SỸ CÔNG NGHỆ THÔNG TIN Hà Nội - 2011 Mục lục Lời cam đoan i Lời cảm ơn ii Từ viết tắt vii Danh mục hình vẽ viii Danh mục bảng biểu x Mở đầu 1.1 Bối cảnh 1.2 Một số nghiên cứu liên quan 1.2.1 Kiểm chứng thiết kế 1.2.2 Kiểm chứng mã nguồn 1.3 Nội dung nghiên cứu 1.4 Cấu trúc luận án 1 3 9 9 10 11 11 12 13 14 15 17 17 17 Kiến thức sở 2.1 Kiểm chứng phần mềm 2.1.1 Kiểm chứng hình thức 2.1.1.1 Kiểm chứng mơ hình 2.1.1.2 Chứng minh định lý 2.1.2 Kiểm chứng thời điểm thực thi 2.2 Một số vấn đề chương trình tương tranh 2.3 Sự tương tranh Java 2.3.1 Mơ hình lưu trữ (JMM-Java Memory Model) 2.3.2 Ngơn ngữ mơ hình hóa cho Java (JML-Java Modeling guage) 2.3.3 Công cụ kiểm chứng mã Java (JPF-Java PathFinder) 2.4 Phương pháp hình thức với Event-B 2.4.1 Máy Ngữ cảnh 2.4.2 Sự kiện iii Lan 2.4.3 Phân rã kết hợp 2.4.4 Sinh mệnh đề cần chứng minh 2.5 Ngơn ngữ mơ hình hóa UML 2.5.1 Biểu đồ 2.5.2 Máy trạng thái giao thức 2.5.3 Biểu đồ thời gian 2.6 Lập trình hướng khía cạnh 2.6.1 Thực thi cắt ngang 2.6.2 Điểm nối 2.6.3 Hướng cắt 2.6.4 Mã hành vi 2.6.5 Khía cạnh 2.7 Kết luận Ràng buộc thứ tự tiến trình tương tranh 3.1 Giới thiệu 3.2 Đặc tả kiểm chứng ràng buộc thứ tự tiến trình tương tranh 3.2.1 Mô tả phương pháp 3.2.2 Vùng xung đột 3.2.3 Cung cấp tiêu thụ 3.2.4 Vấn đề đọc-ghi 3.2.5 Kết chứng minh 3.3 Kết luận Sự 4.1 4.2 4.3 đồng thuận hệ thống đa thành phần Giới thiệu Một số định nghĩa bổ đề Phương pháp đặc tả kiểm chứng thiết kế đồng thuận hệ thống đa thành phần 4.3.1 Đặc tả kiến trúc hệ thống 4.3.2 Giao thức 4.3.3 Giao thức song song 4.3.4 Hệ thống đa thành phần thực phép toán tập số nhị phân 4.3.4.1 Mô tả hệ thống 4.3.4.2 Đặc tả hệ thống với Event-B 4.3.4.3 Kết chứng minh 4.4 Phương pháp kiểm chứng đồng thuận hệ thống đa thành phần mức mã nguồn 4.4.1 Mô tả phương pháp 4.4.2 Sinh mã kiểm chứng JPF 4.4.3 Hệ thống cung cấp tiêu thụ 4.5 Kết luận iv 19 20 21 21 22 23 25 26 27 27 28 29 30 31 31 33 33 34 36 41 42 45 46 46 48 50 50 51 53 54 54 55 58 60 60 61 61 62 Sự tuân thủ thực thi đặc tả giao thức tương tác 5.1 Giới thiệu 5.2 Bài toán kiểm chứng tuân thủ thực thi đặc tả giao thức tương tác 5.3 Phương pháp đặc tả kiểm chứng tuân thủ thực thi đặc tả giao thức tương tác 5.3.1 Mô tả phương pháp 5.3.2 Đặc tả giao thức tương tác 5.3.2.1 Biểu thức quy mở rộng cho biểu diễn giao thức tương tác 5.3.2.2 Biểu đồ PSM cho biểu diễn giao thức tương tác 5.3.3 Sinh mã aspect 5.3.4 Đan mã aspect 5.4 Thực nghiệm 5.5 Kết luận 65 65 66 67 67 67 Ràng buộc thời gian thành phần chương trình tương tranh 6.1 Giới thiệu 6.2 Bài toán kiểm chứng ràng buộc thời gian thành phần tương tranh 6.3 Phương pháp đặc tả kiểm chứng ràng buộc thời gian 6.3.1 Mô tả phương pháp 6.3.2 Đặc tả ràng buộc thời gian 6.3.2.1 Biểu thức quy thời gian 6.3.2.2 Biểu đồ thời gian 6.3.3 Sinh mã aspect 6.4 Thực nghiệm 6.5 Kết luận 67 69 70 73 73 76 78 78 79 80 80 81 82 83 84 85 86 Kết luận 88 7.1 Các đóng góp luận án 88 7.2 Hướng phát triển 91 A Đặc tả ràng buộc thứ tự A.1 Vấn đề vùng xung đột A.1.1 Mơ hình khởi tạo A.1.2 Mơ hình làm mịn A.2 Vấn đề cung cấp tiêu thụ A.2.1 Mơ hình khởi tạo A.2.2 Mơ hình làm mịn A.3 Vấn đề đọc ghi A.3.1 Mơ hình khởi tạo tiến trình v tương tranh 104 104 104 105 107 107 108 111 111 A.3.2 Mơ hình làm mịn 112 B Đặc tả hệ thống đa thành phần thực phép toán nhị phân116 B.1 Đặc tả phép dịch bit 116 B.1.1 Ngữ cảnh phép dịch bit 116 B.1.2 Máy thực thi phép dịch bit 116 B.2 Đặc tả phép nhân xâu nhị phân với bit 118 B.2.1 Ngữ cảnh phép nhân xâu nhị phân với bit 118 B.2.2 Máy thực thi phép nhân xâu nhị phân với bit 118 B.3 Đặc tả phép cộng xâu nhị phân 119 B.3.1 Ngữ cảnh phép cộng xâu nhị phân 119 B.3.2 Máy thực thi phép cộng hai xâu nhị phân 120 B.4 Đặc tả hệ thống đa thành phần thực phép nhân hai xâu nhị phân 121 B.4.1 Ngữ cảnh hệ thống đa thành phần thực phép nhân hai xâu nhị phân 121 B.4.2 Máy thực thi hệ thống đa thành phần thực phép nhân hai xâu nhị phân 122 C Công cụ sinh mã kiểm chứng PVG C.1 Giới thiệu C.2 Hướng dẫn sử dụng C.2.1 Các yêu cầu C.2.2 Các chức C.2.3 Hướng dẫn thực C.2.3.1 Đặc tả giao thức C.2.3.2 Lưu mã Aspect C.2.3.3 Đan mã aspect vi 125 125 126 126 127 127 127 129 129 Thank you for evaluating AnyBizSoft PDF Splitter A watermark is added at the end of each output PDF file To remove the watermark, you need to purchase the software from http://www.anypdftools.com/buy/buy-pdf-splitter.html Từ viết tắt Dạng viết tắt Dạng đầy đủ Diễn giải AOP Aspect Oriented Programming Lập trình hướng khía cạnh CTL Computation Tree Logic Logic tính tốn IPC Interaction Protocol Giao thức tương tác JMM Java memory model Mơ hình lưu trữ Java JML Java modeling language Ngôn ngữ đặc tả cho Java JPF Java PathFinder Công cụ kiểm chứng mã Java LTL Linear Temporal Logic Logic thời gian tuyến tính MCS Multi-Component System Hệ thống đa thành phần PSM Protocol State Machine Máy trạng thái giao thức RE Regular Expression Biểu thức quy TD Timing Diagram Biểu đồ thời gian UML Unified Modeling Language Ngơn ngữ mơ hình hóa thống vii Danh sách hình vẽ 1.1 Kiểm chứng mức thiết kế cài đặt chương trình 1.2 Cấu trúc luận án 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 Kiểm chứng chương trình Java với JPF Cấu trúc tổng quát máy ngữ cảnh Cấu trúc tổng quát kiện Sự phân rã kết hợp Sự kiện sinh mệnh đề chứng minh để bảo toàn bất biến Biểu đồ biểu diễn giao thức rút tiền hệ thống ATM Máy trạng thái biểu diễn giao thức tương tác truy cập sở liệu Dạng trạng thái biểu đồ thời gian Dạng giá trị biểu đồ thời gian Biểu đồ thời gian dạng kết hợp 15 18 19 20 20 22 23 24 25 25 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 Kiến trúc tổng quát đặc tả tương tranh với Event-B Máy truy cập vào vùng xung đột Máy làm mịn để truy cập vào vùng xung đột Giao thức tương tác vấn đề cung cấp tiêu thụ Máy trừu tượng cho vấn đề cung cấp-tiêu thụ Máy làm mịn thứ cho vấn đề cung cấp-tiêu thụ Máy làm mịn thứ hai cho vấn đề cung cấp-tiêu thụ Máy trừu tượng cho vấn đề đọc-ghi Máy làm mịn cho vấn đề đọc-ghi Đặc tả kiện producer mơ hình khởi tạo làm mịn 35 35 36 37 38 39 40 41 43 44 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Sự kết hợp máy trừu tượng ngữ cảnh Giao thức biểu diễn UML Giao thức song song biểu diễn UML Đặc tả phép dịch bit UML Máy ngữ cảnh hệ thống Đặc tả kiện ShiftLeftIf thành phần bitshift Phương pháp kiểm chứng đồng thuận mức mã nguồn Kiểm chứng mã nguồn hệ thống cung cấp-tiêu thụ với JPF 50 52 53 55 57 59 60 63 5.1 Sơ đồ hoạt động hệ thống 68 5.2 Ví dụ chương trình cài đặt sai 74 viii 6.1 Biểu đồ thời gian giao thức rút tiền 6.2 Sinh mã aspect từ đặc tả ràng buộc thời gian 6.3 Ví dụ ca kiểm thử sai phương thức withdraw buộc thời gian thực thi [726082, 143658 ] nano giây C.1 C.2 C.3 C.4 80 84 với ràng 85 Giao diện cơng cụ sinh mã kiểm chứng PVG Khởi động PVG từ NetBeans Đặc tả giao thức tương tác hàng đợi tương tranh với UML Đặc tả giao thức hàng đợi tương tranh textbox bên trái mã AspectJ sinh bên phải C.5 Lưu mã aspect sinh C.6 Đan xen mã aspect với mã Java Eclipse ix 126 127 128 129 130 131 Danh sách bảng 2.1 Chứng minh định lý 10 2.2 Luật sinh mệnh đề cần chứng minh để bảo toàn bất biến 21 3.1 Kết chứng minh đặc tả ràng buộc thứ tự tiến trình tương tranh với RODIN 42 3.2 Mệnh đề cần chứng minh để bảo toàn bất biến kiện Producer chứng minh tự động 44 3.3 Mệnh đề cần chứng minh để bảo toàn bất biến kiện Producer chưa chứng minh tự động 45 4.1 Kết chứng minh đồng thuận hệ thống đa thành phần với RODIN 58 4.2 Mệnh đề cần chứng minh để bảo đảm tính định nghĩa kiện BitShiftLeftIf chứng minh tự động 59 4.3 Mệnh đề cần chứng minh để bảo toàn bất biến kiện BitShiftLeftIf chưa chứng minh tự động 60 5.1 Thực nghiệm kiểm chứng tuân thủ thực thi đặc tả giao thức tương tác 75 6.1 Thực nghiệm kiểm chứng ràng buộc thời gian 87 x

Ngày đăng: 23/09/2020, 22:10

Mục lục

  • Danh sách hình vẽ

  • 1.2 Một số nghiên cứu liên quan

  • 1.2.1 Kiểm chứng thiết kế

  • 1.2.2 Kiểm chứng mã nguồn

  • 1.3 Nội dung nghiên cứu

  • 1.4 Cấu trúc luận án

  • Chương 2. Kiến thức cơ sở

  • 2.1 Kiểm chứng phần mềm

  • 2.1.1 Kiểm chứng hình thức

  • 2.1.2 Kiểm chứng tại thời điểm thực thi

  • 2.2 Một số vấn đề trong chương trình tương tranh

  • 2.3 Sự tương tranh trong Java

  • .3.1 Mô hình lưu trữ (JMM-Java Memory Model)

  • 2.3.3 Công cụ kiểm chứng mã Java (JPF-Java PathFinder)

  • 2.4 Phương pháp hình thức với Event-B

  • 2.4.1 Máy và Ngữ cảnh

  • 2.4.3 Phân rã và kết hợp

  • 2.4.4 Sinh mệnh đề cần chứng minh

  • 2.5 Ngôn ngữ mô hình hóa UML

  • 2.5.1 Biểu đồ tuần tự

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

Tài liệu liên quan