luận văn: phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực (đh quốc gia hà nội)

71 389 1
luận văn: phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực (đh quốc gia hà nội)

Đ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

luận văn: phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực luận văn: phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực luận văn: phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực luận văn: phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN TUẤN PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT KIỂM CHỨNG MỘT HỆ THỜI GIAN THỰC LUẬN VĂN THẠC SỸ HÀ NỘI – 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN TUẤN PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT KIỂM CHỨNG MỘT HỆ THỜI GIAN THỰC Ngành : Công nghệ thông tin Chuyên ngành: Kỹ thuật Phần mềm Mã số: 60 48 01 03 LUẬN VĂN THẠC SĨ CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS. PHẠM HỒNG THÁI HÀ NỘI - 2014 i LỜI CẢM ƠN Trước tiên tôi xin chân thành cảm ơn TS. Phạm Hồng Thái, người đã tận tình hướng dẫn và giúp đỡ tôi trong suốt quá trình thực hiện luận văn tốt nghiệp. Tôi xin cảm ơn các Thầy, Cô giáo ở khoa Công nghệ thông tin, Phòng Đào tạo - Trường Đại học Công nghệ - ĐHQGHN đã giảng dạy và truyền thụ cho tôi những kiến thức quý báu trong suốt thời gian tôi học tập và nghiên cứu tại trường. Nhân đây cho phép tôi gửi lời cảm ơn tới 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ũ, giúp đỡ, chia sẻ kinh nghiệm, cung cấp các tài liệu hữu ích trong suốt thời gian tôi học tập và nghiên cứu tại Trường. Tuy đã rất cố gắng nhưng do thời gian và trình độ có hạn nên chắc chắn luận văn vẫn còn những thiếu sót và hạn chế nhất định. Kính mong nhận được sự góp ý của Thầy Cô và các bạn để luận văn được hoàn thiện hơn. Tôi xin chân thành cảm ơn! Hà Nội, tháng 10 năm 2014 Tác giả luận văn Phạm Văn Tuấn ii LỜI CAM ĐOAN Tôi xin cam đoan bản luận văn “Phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực” là công trình nghiên cứu của tôi dưới sự hướng dẫn khoa học của TS. Phạm Hồng Thái. Tất cả tài liệu tham khảo đã chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo. Toàn bộ chương trình, mã nguồn là do tôi thiết kế và xây dựng trong quá trình làm luận văn hoặc được kế thừa từ “Luận án Tiến sĩ Toán học” của TS. Phạm Hồng Thái, không sao chép của người khác, những phần tham khảo đã có trích dẫn rõ ràng. Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan của mình, nếu có điều gì sai tôi xin chịu mọi hình thức kỷ luật theo qui định của nhà trường và pháp luật. Hà Nội, tháng 10 năm 2014 Tác giả luận văn Phạm Văn Tuấn iii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC CÁC HÌNH v DANH MỤC CÁC BẢNG vi DANH MỤC TỪ VIẾT TẮT vii MỞ ĐẦU 1 Chương 1. HỆ THỜI GIAN THỰC VÀ BÀI TOÁN KIỂM TRA TÍNH ĐÚNG ĐẮN CỦA HỆ THỜI GIAN THỰC 3 1.1. Hệ thời gian thực 3 1.1.1. Khái niệm về hệ thời gian thực 3 1.1.2. Phân loại hệ thời gian thực 5 1.1.3. Đặc điểm của hệ thời gian thực 5 1.2. Đặc tả thiết kế và yêu cầu của hệ thống 6 1.3. Kiểm tra tính đúng đắn của hệ thống 6 Chương 2. CÁC CÔNG CỤ ĐẶC TẢ 8 2.1. Ôtômat thời gian 8 2.1.1. Định nghĩa 8 2.1.2. Dáng điệu và đường chạy của ôtômat thời gian 9 2.1.3. Ôtômat hợp song song 10 2.2. Kỹ thuật phân vùng 11 2.2.1. Vùng của ôtômat thời gian 11 2.2.2. Đồ thị vùng 11 2.3. Kỹ thuật phân miền 13 2.3.1. Định nghĩa 13 2.3.2. Các phép toán thực hiện trên miền 13 2.3.3 Đồ thị miền 14 2.4. Công thức bất biến khoảng tuyến tính (LDI) 15 2.5. Bài toán bếp ga 16 iv Chương 3. PHÂN TÍCH, THIẾT KẾ BỘ CÔNG CỤ KIỂM CHỨNG MÔ HÌNH 17 3.1. Các thuật toán 17 3.1.1. Thuật toán xây dựng ôtômat hợp song song 17 3.1.2. Thuật toán xây dựng đồ thị vùng đạt được nguyên 20 3.1.3. Thuật toán xây dựng đồ thị trọng số G phục vụ kiểm chứng LDI 21 3.1.4. Thuật toán kiểm chứng LDI 22 3.2. Các chi tiết kỹ thuật 24 3.3. Đầu vào và đầu ra của bộ kiểm thử 25 3.4. Cấu trúc dữ liệu 26 3.4.1. File dữ liệu đầu vào 26 3.4.2. Ôtômat 28 3.4.3. Công thức LDI 29 3.4.4. Đồ thị vùng đạt được nguyên 29 3.4.5. Đồ thị trọng số phục vụ kiểm chứng LDI 30 3.4.6. Đường đi của đồ thị 31 3.5. Thiết kế chương trình 32 3.5.1. Biểu đồ use case 32 3.5.2. Biểu đồ lớp 33 3.5.3. Biểu đồ tuần tự 34 3.5.4. Biểu đồ hoạt động 35 Chương 4. KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH 36 4.1. Cách sử dụng bộ kiểm chứng 36 4.2. Kiểm chứng LDI đối với bài toán 1 36 4.3. Kiểm chứng LDI đối với bài toán bếp ga 38 4.4. Đánh giá về bộ công cụ kiểm chứng 39 4.5. Hướng cải tiến chương trình 40 KẾT LUẬN 42 TÀI LIỆU THAM KHẢO 44 PHỤ LỤC 45 Phụ lục A. Một số mô đun chương trình của bộ kiểm chứng 45 Phụ lục B. Một số hình ảnh về giao diện của bộ kiểm chứng 58 v DANH MỤC CÁC HÌNH Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian 4 Hình 1.2: Sơ đồ bộ kiểm chứng mô hình 7 Hình 2.1: Đồ thị vùng 12 Hình 2.2: Phép giao 13 Hình 2.3: Thiết lập lại giá trị đồng hồ 14 Hình 2.4: Phép trôi 14 Hình 2.5: Đồ thị miền 15 Hình 2.6: Ôtômat thời gian của bếp ga 16 Hình 3.1: Xây dựng đồ thị G từ đồ thị vùng đạt được nguyên RG 22 Hình 3.2: Cấu trúc thư mục source code 25 Hình 3.3: Ôtômat thời gian 27 Hình 3.4: Biểu đồ use case mức 1 32 Hình 3.5: Biểu đồ use case mức 2 32 Hình 3.6: Biểu đồ lớp 33 Hình 3.7: Biểu đồ tuần tự danh sách bài toán 34 Hình 3.8: Biểu đồ tuần tự hiển thị danh sách mô hình 34 Hình 3.9: Biểu đồ tuần tự kiểm chứng mô hình 35 Hình 3.10: Biểu đồ hoạt động 35 Hình 4.1: Kết quả kiểm chứng của bài toán 1 37 Hình 4.2: Kết quả kiểm chứng của bài toán bếp gas 39 vi DANH MỤC CÁC BẢNG Bảng 3.1: Thuật toán xây dựng ôtômat hợp song song từ 2 ôtômat 19 Bảng 3.2: Thuật toán xây dựng ôtômat hợp song song tổng quát 20 Bảng 3.3: Thuật toán xây dựng đồ thị vùng đạt được nguyên 21 Bảng 3.4: Thuật toán kiểm chứng LDI với đỉnh xuất phát cố định 24 Bảng 3.5: Thuật toán kiểm chứng LDI tổng quát 24 Bảng 3.6: Xác định các lớp tham gia use case 34 vii DANH MỤC TỪ VIẾT TẮT Viết tắt Tên đầy đủ - mô tả TA Timed Automaton – Ôtômat thời gian RTA Real-Time Automaton – Ôtômat thời gian thực MC Model Checking – Kiểm chứng mô hình DC Duration Calculus - Lôgic khoảng LDI Linear Duration Invariant - Bất biến khoảng tuyến tính LDP Linear Duration Property –Tính chất khoảng tuyến tính LTL Linear Temporal Logic - Lôgic thời gian tuyến tính TCTL Timed Computational Tree Logic – Lôgic cây tính toán thời gian 1 MỞ ĐẦU Ngày nay, các hệ thống thời gian thực ngày càng phát triển, ứng dụng và phổ biến rộng rãi, chẳng hạn các hệ thống nhúng thời gian thực trong các thiết bị điện tử chuyên dụng, từ các đồ điện tử trong gia đình như tivi, máy giặt, lò vi sóng đến những hệ thống lớn như máy bay, tên lửa, vệ tinh nhân tạo, v.v… Các hệ thời gian thực hoạt động rất phức tạp và dù chỉ một lỗi nhỏ cũng có thể phá hủy toàn bộ hệ thống và gây ra những hậu quả nghiêm trọng, đáng tiếc, hao tốn nhiều thời gian, tiền của và công sức để khắc phục. Chi phí để phát triển hệ thống thời gian thực cả về phần mềm lẫn phần cứng thường lớn hơn nhiều so với các hệ thống ứng dụng khác và đòi hỏi tính chính xác cao, không thể chấp nhận những ứng dụng có thể có lỗi dù là nhỏ nhất, vì vậy, việc tìm hiểu về các mặt của một hệ thời gian thực từ phân tích, thiết kế mô hình đến kiểm tra tính đúng đắn các hoạt động của hệ thống trước khi đưa chúng vào sản xuất là điều rất thiết thực và cấp thiết. Để phân tích, thiết kế mô hình của hệ thống thời gian thực có thể sử dụng nhiều công cụ như các văn phạm, ôtômat, và các lôgic liên quan đến thời gian thực như lôgic thời gian tuyến tính, lôgic khoảng, v.v… Xuất phát từ yêu cầu thực tiễn, và cũng để nâng cao kỹ năng thực hành và củng cố lý thuyết, đề tài “Phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực” được chọn làm đề tài luận văn của tôi với mục tiêu: – Tìm hiểu các phương pháp đặc tả và kiểm tra tính đúng đắn của hệ thống thời gian thực. – Tìm hiểu kỹ thuật kiểm tra tính đúng đắn của hệ thống thời gian thực bằng phương pháp kiểm chứng mô hình. – Phân tích, thiết kế và cài đặt một công cụ kiểm chứng mô hình cho các đặc tả sử dụng công cụ ôtômat thời gian và lôgic khoảng. Luận văn gồm phần mở đầu, kết luận, 4 chương và phụ lục. Phần mở đầu đặt vấn đề về ý nghĩa, tính cấp thiết và tính thực tế của đề tài. Chương 1 giới thiệu khái quát về hệ thời gian thực và bài toán kiểm tra tính đúng đắn của hệ. Chương 2 trình bày về các công cụ đặc tả hệ thống và bài toán bếp ga. Trong chương 3, luận văn mô tả bản thiết kế và xây dựng một công cụ cho phép kiểm chứng tính đúng đắn của các hệ được đặc tả dưới dạng công thức tính chất khoảng tuyến tính hoặc công thức bất biến khoảng tuyến tính của lôgic khoảng. Đây cũng là mục tiêu và là kết quả chính của luận văn. [...]... thường vào khoảng dưới 1 giây mới đảm bảo được yêu cầu mong muốn Khoảng thời gian này bao gồm: thời gian tiếp nhận kích thích, thời gian xử lý thông tin và thời gian đáp ứng kích thích 5 1.1.2 Phân loại hệ thời gian thực Hệ thời gian thực thường được chia thành hai loại, hệ thời gian thực cứng (Hard real time system) và hệ thời gian thực mềm (Soft real time system) Hệ thời gian thực cứng: Trong một số hệ. .. thường tăng theo hàm mũ đối với số thành phần hợp thành của hệ thống Do vậy đối với các hệ thống lớn phương pháp kiểm chứng mô hình khó được áp dụng Do thời gian của các hệ thời gian thực được lấy trên tập R+ nên bài toán kiểm chứng mô hình hệ thời gian thực gặp phải tình trạng bùng nổ không gian trạng thái mới đó là tham số thời gian Tuy vậy, cho đến nay nhiều bộ kiểm chứng mô hình thời gian thực hiệu quả... người đọc hiểu được một cách tổng quan về hệ thời gian thực và về bài toán kiểm tra tính đúng đắn của hệ tức kiểm tra sự thỏa mãn của thiết kế so với yêu cầu của hệ thống 1.1 Hệ thời gian thực 1.1.1 Khái niệm về hệ thời gian thực Trong đời sống hàng ngày chúng ta đã sử dụng và tiếp xúc với rất nhiều hệ thống được gọi là hệ thời gian thực, ví dụ từ máy tính cá nhân đơn giản, các hệ thống điều khiển... giới thực thường xảy ra rất nhanh, mỗi hệ thống thời gian thực phải thực hiện việc xử lý và đưa ra kết quả trong một khoảng thời gian xác định hay thời điểm kết thúc (deadline) Khoảng thời gian này được xác định từ thời điểm bắt đầu và thời điểm hoàn tất công việc Trong thực tế, nhiều yếu tố kích thích xảy ra trong khoảng thời gian rất ngắn, ví dụ vào khoảng vài mili giây, và khi đó thời gian mà hệ thống... ra các kết quả chính xác trong khoảng thời gian đã xác định trước Hệ thời gian thực mềm: Ngược lại với hệ thời gian thực cứng là hệ thời gian thực mềm Kết quả đưa ra của một hệ thống chấp nhận một sai số nhất định cả về giá trị và thời gian so với yêu cầu dự kiến Tuy nhiên, nếu sự sai lệch này không được đảm bảo nó cũng không gây ra điều gì nghiêm trọng Trong trường hợp này, người ta nói rằng hệ thống... trò chơi điện tử Sự phân biệt giữa khoảng thời gian bắt buộc cứng hay mềm của hệ thời gian thực thường tùy thuộc vào trạng thái định lượng những giới hạn mang lại kết quả hữu dụng Tuy nhiên, trong thực tế, sự phân chia này nhiều khi không cần thiết, mang tính tương đối 1.1.3 Đặc điểm của hệ thời gian thực Một hệ thống thời gian thực có các đặc trưng tiêu biểu [1] sau: – Tính bị động: Hệ thống thường phải... Đối với hệ thời gian thực có thể sử dụng các công cụ như lôgic thời gian, lôgic khoảng, ôtômat thời gian Trong luận văn sử dụng công cụ ôtômat thời gian để phân tích và đặc tả hệ thống 1.3 Kiểm tra tính đúng đắn của hệ thống Để kiểm tra tính đúng đắn của một hệ thống ta có nhiều phương pháp, chẳng hạn:  Chứng minh bằng toán học: Sử dụng các tiên đề, luật dẫn trong các hệ toán học để từ giả thiết của... môi trường Dạng hệ thời gian thực thứ hai rất phổ biến là các hệ thời gian thực nhúng (Embedded Real Time System), là hệ dùng để điều khiển các phần cứng chuyên dụng mà trong nó có cài đặt hệ thống tính toán Ví dụ, hệ vi xử lý dùng để điều khiển hỗn hợp nhiên liệu/khí trong các bộ chế hoà khí của ô tô là một hệ nhúng Như vậy, một hệ thời gian thực là một hệ thống mà sự hoạt động tin cậy và hiệu quả không... tính chất của hệ thời gian thực khác với các phần mềm khác là khả năng đáp ứng của nó đối với các sự kiện môi trường trong một khoảng thời gian nhất định (thường là khoảng thời gian ngắn) nên nó được định nghĩa như sau: Một hệ thời gian thực là một hệ thống mà trong đó tính đúng đắn của nó không chỉ phụ thuộc vào các kết quả lôgic được tạo ra mà còn phụ thuộc vào thời điểm mà tại đó các kết quả được... giới hạn về thời gian cho phép có thể gây ra những ảnh hưởng trầm trọng, như đến sinh mạng con người Trong trường hợp này, yêu cầu đáp ứng về mặt thời gian của hệ thống là rất khắt khe Chính vì vậy, người ta đưa ra định nghĩa về hệ thời gian thực cứng như sau: Một hệ thời gian thực cứng là một hệ thống mà hoạt động không đúng đắn của nó sẽ để lại hậu quả nghiêm trọng Do đó hệ thời gian thực cứng buộc . Chương 1. HỆ THỜI GIAN THỰC VÀ BÀI TOÁN KIỂM TRA TÍNH ĐÚNG ĐẮN CỦA HỆ THỜI GIAN THỰC 3 1.1. Hệ thời gian thực 3 1.1.1. Khái niệm về hệ thời gian thực 3 1.1.2. Phân loại hệ thời gian thực 5 . muốn. Khoảng thời gian này bao gồm: thời gian tiếp nhận kích thích, thời gian xử lý thông tin và thời gian đáp ứng kích thích. 5 1.1.2. Phân loại hệ thời gian thực Hệ thời gian thực thường. đưa ra các kết quả chính xác trong khoảng thời gian đã xác định trước. Hệ thời gian thực mềm: Ngược lại với hệ thời gian thực cứng là hệ thời gian thực mềm. Kết quả đưa ra của một hệ thống chấp

Ngày đăng: 10/05/2015, 17:03

Từ khóa liên quan

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

Tài liệu liên quan