(LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

71 6 0
(LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Đ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Ệ 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 TIEU LUAN MOI download : skknchat@gmail.com ĐẠ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 TIEU LUAN MOI download : skknchat@gmail.com i LỜI CẢM ƠN Trước tiên 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 giúp đỡ tơi suốt q trình thực luận văn tốt nghiệp Tơi xin cảm ơn 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 truyền thụ cho kiến thức quý báu suốt thời gian học tập nghiên cứu trường Nhân cho phép gửi lời cảm ơn tới bạn bè, đồng nghiệp thành viên gia đình tạo điều kiện tốt nhất, động viên, cổ vũ, giúp đỡ, chia sẻ kinh nghiệm, cung cấp tài liệu hữu ích suốt thời gian tơi học tập nghiên cứu Trường Tuy cố gắng thời gian trình độ có hạn nên chắn luận văn cịn thiếu sót hạn chế định Kính mong nhận góp ý Thầy Cơ bạn để luận văn hồn thiệ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 TIEU LUAN MOI download : skknchat@gmail.com ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Phân tích, thiết kế cài đặt kiểm chứng hệ thời gian thực” cơng trình nghiên cứu hướng dẫn khoa học TS Phạm Hồng Thái Tất tài liệu tham khảo rõ trích dẫn danh mục tài liệu tham khảo Tồn chương trình, mã nguồn tơi thiết kế xây dựng q trình làm luận văn kế thừa từ “Luận án Tiến sĩ Tốn học” TS Phạm Hồng Thái, khơng chép người khác, phần tham khảo có trích dẫn rõ ràng Tơi xin hồn tồn chịu trách nhiệm lời cam đoan mình, có điều sai tơi xin chịu hình thức kỷ luật theo qui định nhà trường 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 TIEU LUAN MOI download : skknchat@gmail.com 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 Chương HỆ THỜI GIAN THỰC VÀ BÀI TỐN KIỂM TRA TÍNH ĐÚNG ĐẮN CỦA HỆ THỜI GIAN THỰC 1.1 Hệ thời gian thực 1.1.1 Khái niệm hệ thời gian thực 1.1.2 Phân loại hệ thời gian thực 1.1.3 Đặc điểm hệ thời gian thực 1.2 Đặc tả thiết kế yêu cầu hệ thống 1.3 Kiểm tra tính đắn hệ thống Chương CÁC CÔNG CỤ ĐẶC TẢ 2.1 Ơtơmat thời gian 2.1.1 Định nghĩa 2.1.2 Dáng điệu đường chạy ôtômat thời gian 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 ô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 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 TIEU LUAN MOI download : skknchat@gmail.com iv Chương 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 tố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 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 đầu kiểm thử 25 3.4 Cấu trúc liệu 26 3.4.1 File 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 nguyên 29 3.4.5 Đồ thị trọng số phục vụ kiểm chứng LDI 30 3.4.6 Đường đồ 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 đồ 34 3.5.4 Biểu đồ hoạt động 35 Chương KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH 36 4.1 Cách sử dụng kiểm chứng 36 4.2 Kiểm chứng LDI toán 36 4.3 Kiểm chứng LDI toán bếp ga 38 4.4 Đánh giá 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 kiểm chứng 45 Phụ lục B Một số hình ảnh giao diện kiểm chứng 58 TIEU LUAN MOI download : skknchat@gmail.com v DANH MỤC CÁC HÌNH Hình 1.1: Các mức đáp ứng kiện mặt thời gian Hình 1.2: Sơ đồ kiểm chứng mơ hình 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 bếp ga 16 Hình 3.1: Xây dựng đồ thị G từ đồ thị vùng đạt 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 32 Hình 3.5: Biểu đồ use case mức 32 Hình 3.6: Biểu đồ lớp 33 Hình 3.7: Biểu đồ danh sách toán 34 Hình 3.8: Biểu đồ hiển thị danh sách mơ hình 34 Hình 3.9: Biểu đồ kiểm chứng mơ hình 35 Hình 3.10: Biểu đồ hoạt động 35 Hình 4.1: Kết kiểm chứng toán 37 Hình 4.2: Kết kiểm chứng tốn bếp gas 39 TIEU LUAN MOI download : skknchat@gmail.com vi DANH MỤC CÁC BẢNG Bảng 3.1: Thuật tốn xây dựng ơtơmat hợp song song từ ô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 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 lớp tham gia use case 34 TIEU LUAN MOI download : skknchat@gmail.com 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 tính tốn thời gian TIEU LUAN MOI download : skknchat@gmail.com MỞ ĐẦU Ngày nay, hệ thống thời gian thực ngày phát triển, ứng dụng phổ biến rộng rãi, chẳng hạn hệ thống nhúng thời gian thực thiết bị điện tử chuyên dụng, từ đồ điện tử gia đình tivi, máy giặt, lị vi sóng đến hệ thống lớn 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 phức tạp dù lỗi nhỏ phá hủy toàn hệ thống gây hậu nghiêm trọng, đáng tiếc, hao tốn nhiều thời gian, tiền công sức để khắc phục Chi phí để phát triển hệ thống thời gian thực phần mềm lẫn phần cứng thường lớn nhiều so với hệ thống ứng dụng khác địi hỏi tính xác cao, khơng thể chấp nhận ứng dụng có lỗi dù nhỏ nhất, vậy, việc tìm hiểu 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 đắn hoạt động hệ thống trước đưa chúng vào sản xuất điều thiết thực cấp thiết Để phân tích, thiết kế mơ hình hệ thống thời gian thực sử dụng nhiều cơng cụ văn phạm, ôtômat, lôgic liên quan đến thời gian thực 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, để nâng cao kỹ thực hành củng cố lý thuyết, đề tài “Phân tích, thiết kế cài đặt kiểm chứng hệ thời gian thực” chọn làm đề tài luận văn với mục tiêu: – Tìm hiểu phương pháp đặc tả kiểm tra tính đắn hệ thống thời gian thực – Tìm hiểu kỹ thuật kiểm tra tính đắn hệ thống thời gian thực phương pháp kiểm chứng mơ hình – Phân tích, thiết kế cài đặt cơng cụ kiểm chứng mơ hình cho đặc tả sử dụng công cụ ôtômat thời gian lôgic khoảng Luận văn gồm phần mở đầu, kết luận, chương phụ lục Phần mở đầu đặt vấn đề ý nghĩa, tính cấp thiết tính thực tế đề tài Chương giới thiệu khái quát hệ thời gian thực toán kiểm tra tính đắn hệ Chương trình bày công cụ đặc tả hệ thống tốn bếp ga Trong chương 3, luận văn mơ tả thiết kế xây dựng công cụ cho phép kiểm chứng tính đắn hệ đặc tả dạng cơng thức tính chất khoảng tuyến tính cơng thức bất biến khoảng tuyến tính lôgic khoảng Đây mục tiêu kết luận văn TIEU LUAN MOI download : skknchat@gmail.com 48 } elseif (strcmp($loc2, $loc2_to) == && strcmp($loc1_to, $transition1['loc_name_to']) == 0) { $aryReset = $transition1['reset']; $guard1 = $transition1['guard']; break 2; } elseif (strcmp($loc2_to, $transition2['loc_name_to']) == && strcmp($loc1_to, $transition1['loc_name_to']) == 0) { $guard1 = $transition1['guard']; $guard2 = $transition2['guard']; $aryReset = $transition1['reset']; if (is_array($transition2['reset']) && count($transition2['reset']) > 0) { foreach ($transition2['reset'] as $k => $v) { $aryReset[$k] = $v; } } break 2; } } } $aryGuard = array(); $res = $this->createGuardOfOtomatParallet($aryGuard, $guard1, $guard2); if ($res) { $aryTransition[] = array( 'loc_name_from' => $locNameFrom, 'loc_name_to' => $locNameTo, 'label' => $label, 'reset' => $aryReset, 'guard' => $aryGuard, ); } if (!isset($aryCheck[$locNameTo])) { $aryStackPath[] = $this->getLocationOtomatParallel($loc1_to, $loc2_to, $aryAdj1[$loc1_to], $aryAdj2[$loc2_to]); $aryCheck[$locNameTo] = 1; TIEU LUAN MOI download : skknchat@gmail.com 49 } } //Khoi tao Otomat Parallel $aryOtomatParallel = array( 'init' => $aryOtomat1['init'] ',' $aryOtomat2['init'], 'numLocation' => count($aryLocation), 'numTransition' => count($aryTransition), 'clocks' => $aryClock, 'aryLocation' => $aryLocation, 'aryTransition' => $aryTransition, ); $this->logger->log(" aryOtomatParallel = " print_r($aryOtomatParallel, true)); return $aryOtomatParallel; } Tạo đồ thị vùng đạt nguyên public function createRegionGraph($aryOtomat, $aryConstantMaxK) { $this->logger->log( " Begin method: " METHOD "()"); $maxK = max($aryConstantMaxK); $locationStart = $aryOtomat['init']; $aryLocation = $aryOtomat['aryLocation']; $aryTransition = $aryOtomat['aryTransition']; $aryClock = $aryOtomat['clocks']; //Khoi tao so dinh hien tai $this->graphRegion['num_vertex'] = 1; //Khoi tao so canh hien tai $this->graphRegion['num_edge'] = 0; //Nhap dinh $region0 = join(',', array_fill(0, count($aryClock), 0)); $regionK = join(',', array_fill(0, count($aryClock), 'U')); //Id region $regionId = 1; $vertex0 = $this->createVertexRegion($locationStart, $region0); $this->graphRegion['aryVertex'][$regionId] = array( 'id' => $regionId, TIEU LUAN MOI download : skknchat@gmail.com 50 'vertex' => $vertex0, 'loc_name' => $locationStart, 'region' => $region0, 'ldi_c' => $aryLocation[$locationStart]['c'], 'visited' => 0, ); //Khoi tao tap canh rong $this->graphRegion['aryEdge'] = array(); while (true) { //lay dinh chua tham V $vertex = $this->getVertexNotVisited(); //neu tat ca cac dinh da tham thi ket thuc if ($vertex === false) { break ; } //Dinh s Otomat $loc_name_from = $vertex['loc_name']; $region = $vertex['region']; $vertex_from = $vertex['vertex']; $id_from = $vertex['id']; //Loop Transition cua Otomat foreach ($aryTransition as $transition) { //Neu ton tai phep chuyen e = checkGuard($regionTo, $aryLocation[$loc_name_to]['invar'])) { continue; } //Dat lai gia tri mien theo qui uoc $regionTo = $this->reformatRegion($regionTo, $aryConstantMaxK); //Kiem tra dinh da co chua $vertex_to = $this->createVertexRegion($loc_name_to, $regionTo); $vertexId = $this->getVertex($vertex_to); //Neu chua co thi bo sung if ($vertexId == 0) { $regionId++; $this->addVertexRegion($loc_name_to, $regionTo, $aryLocation[$loc_name_to]['c'], $regionId); $id_to = $regionId; } else { $id_to = $vertexId; } //Kiem tra va bo sung cung neu chua co if (!$this->isExistEdge($id_from, $id_to)) { $durationLow = $durationUp = 0; if (strcmp($regionK, $regionSucc) != 0) { $durationLow = $durationUp = $d; } else { $durationLow = $d; TIEU LUAN MOI download : skknchat@gmail.com 52 $durationUp = _PHP_INT_MAX; } $this->addEdgeRegion($durationLow, $durationUp, $id_from, $id_to); } } //End loop $maxK } //End Neu ton tai phep chuyen e =

Ngày đăng: 27/06/2022, 15:41

Hình ảnh liên quan

Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 1.1.

Các mức đáp ứng sự kiện về mặt thời gian Xem tại trang 13 của tài liệu.
Hình dưới đây thể hiện sơ đồ hoạt động của bộ kiểm chứng mô hình với đầu vào là hệ thống S, tính chất P và đầu ra là câu trả lời “đúng” hoặc “sai” [2] - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình d.

ưới đây thể hiện sơ đồ hoạt động của bộ kiểm chứng mô hình với đầu vào là hệ thống S, tính chất P và đầu ra là câu trả lời “đúng” hoặc “sai” [2] Xem tại trang 16 của tài liệu.
Một ôtômat và đồ thị vùng của nó được cho trong hình 2.1. - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

t.

ôtômat và đồ thị vùng của nó được cho trong hình 2.1 Xem tại trang 21 của tài liệu.
Hình 2.2: Phép giao - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 2.2.

Phép giao Xem tại trang 22 của tài liệu.
Hình 2.3: Thiết lập lại giá trị đồng hồ - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 2.3.

Thiết lập lại giá trị đồng hồ Xem tại trang 23 của tài liệu.
Hình 2.5: Đồ thị miền - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 2.5.

Đồ thị miền Xem tại trang 24 của tài liệu.
Hình 2.6: Ôtômat thời gian của bếp ga - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 2.6.

Ôtômat thời gian của bếp ga Xem tại trang 25 của tài liệu.
Hình sau đây minh họa cho việc xây dựn gG từ một đồ thị RG đơn giản vớ i2 cung.  - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình sau.

đây minh họa cho việc xây dựn gG từ một đồ thị RG đơn giản vớ i2 cung. Xem tại trang 31 của tài liệu.
Cấu trúc thư mục source code được thiết kế như hình sau: - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

u.

trúc thư mục source code được thiết kế như hình sau: Xem tại trang 34 của tài liệu.
Hình 3.3: Ôtômat thời gian - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 3.3.

Ôtômat thời gian Xem tại trang 36 của tài liệu.
Hình 3.4: Biểu đồ use case mứ c1 - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 3.4.

Biểu đồ use case mứ c1 Xem tại trang 41 của tài liệu.
 Chọn mô hình kiểm chứng: Use case này cho phép người dùng xem và chọ n1 mô hình để thực hiện kiểm chứng trong danh sách các mô hình của bài toán  đã chọn - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

h.

ọn mô hình kiểm chứng: Use case này cho phép người dùng xem và chọ n1 mô hình để thực hiện kiểm chứng trong danh sách các mô hình của bài toán đã chọn Xem tại trang 42 của tài liệu.
chứn g1 mô hình đã chọn. - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

ch.

ứn g1 mô hình đã chọn Xem tại trang 42 của tài liệu.
Bảng 3.6: Xác định các lớp tham gia use case 3.5.3. Biểu đồ tuần tự  - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Bảng 3.6.

Xác định các lớp tham gia use case 3.5.3. Biểu đồ tuần tự Xem tại trang 43 của tài liệu.
Hình 3.7: Biểu đồ tuần tự danh sách bài toán - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 3.7.

Biểu đồ tuần tự danh sách bài toán Xem tại trang 43 của tài liệu.
Hình 3.9: Biểu đồ tuần tự kiểm chứng mô hình 3.5.4. Biểu đồ hoạt động  - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 3.9.

Biểu đồ tuần tự kiểm chứng mô hình 3.5.4. Biểu đồ hoạt động Xem tại trang 44 của tài liệu.
Hình 3.10: Biểu đồ hoạt động - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 3.10.

Biểu đồ hoạt động Xem tại trang 44 của tài liệu.
Hình 4.1: kết quả kiểm chứng của bài toá n1 - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 4.1.

kết quả kiểm chứng của bài toá n1 Xem tại trang 46 của tài liệu.
Hình 4.2: kết quả kiểm chứng của bài toán bếp gas - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

Hình 4.2.

kết quả kiểm chứng của bài toán bếp gas Xem tại trang 48 của tài liệu.
xuất phát là tất cả các đỉnh của đồ thị để quyết định mô hình được đặc tả bằng ôtômat có thỏa các tính chất mong muốn được đặc tả bằng công thức LDI hay không - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

xu.

ất phát là tất cả các đỉnh của đồ thị để quyết định mô hình được đặc tả bằng ôtômat có thỏa các tính chất mong muốn được đặc tả bằng công thức LDI hay không Xem tại trang 65 của tài liệu.
Màn hình danh sách các mô hình - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

n.

hình danh sách các mô hình Xem tại trang 68 của tài liệu.
Màn hình kiểm chứng mô hình - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

n.

hình kiểm chứng mô hình Xem tại trang 70 của tài liệu.
Màn hình bộ kiểm chứng thỏa mãn công thức LDI. - (LUẬN văn THẠC sĩ) phân tích, thiết kế và cài đặt kiểm chứng một hệ thời gian thực

n.

hình bộ kiểm chứng thỏa mãn công thức LDI Xem tại trang 71 của tài liệu.

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

Tài liệu liên quan