Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
911 KB
Nội dung
LỜI CẢM ƠN Trước hết em xin gửi lời cảm ơn đến thầy Đỗ Văn Chiểu, người hướng dẫn em nhiều suốt trình tìm hiểu nghiên cứu hồn thành khóa luận từ lý thuyết đến ứng dụng Sự hướng dẫn thầy giúp em có thêm hiểu biết số vấn đề liên quan đến Otomat thời gian hệ thời gian thực Qua phần lý thuyết lôi em trở thành hướng nghiên cứu tiếp em sau tốt nghiệp Đồng thời em xin chân thành cảm ơn thầy cô môn thầy cô trường trang bị cho em kiến thức cần thiết để em hồn thành tốt khóa luận Em xin gửi lời cảm ơn đến thành viên lớp CT1001, người bạn bên cạnh động viên, tạo điều kiện thuận lợi em tìm hiểu, hồn thành tốt khóa luận Sau cùng, em xin gửi lời cảm ơn đến gia đình, bạn bè tạo điều kiện để em xây dựng thành cơng khóa luận Hải Phòng ngày 10, tháng năm 2010 Sinh viên thực Đặng Thanh Tâm MỤC LỤC LỜI CẢM ƠN L ỜI N ÓI Đ ẦU CHƢƠNG 1: TÌM HIỂU VỀ MODEL CHECKING VÀ LÝ THUYẾT VỀ HỆ THỜI GIAN THỰC 1.1 ĐÔI NÉT VỀ MƠ HÌNH KIỂM TRA (MODEL CHECKING) TRONG CƠNG NGHỆ PHẦN MỀM 1.1.1 Các u cầu mơ hình hệ thống 1.2 GIỚI THIỆU VỀ HỆ THỜI GIAN THỰC 1.2.1 Khái niệm 1.2.2 Đặc điểm hệ thống thời gian thực 1.2.3 Cấu tạo hệ thời gian thực 1.2.4 Hệ điều hành thời gian thực 1.2.5 Vì chọn hệ thời gian thực 10 Dưới số ví dụ: 10 CHƢƠNG 2: LÝ THUYẾT VỀ OTOMAT THỜI GIAN 12 2.1 ĐỊNH NGHĨA OTOMAT THOI GIAN 12 2.2 KHÁI NIỆM VỀ OTOMAT THỜI GIAN 12 2.2.1 Mô tả cách dịch chuyển trạng thái thành phần TRAIN, GATE, CONTROLLER sau: 12 2.2.2 Định nghĩa (ngữ nghĩa TA) 15 2.2.3 Định nghĩa mạng otomat thời gian (Semantics of a Network of Timed Automata) 16 CHƢƠNG 3: THỬ NGHIỆM ĐẶC TẢ HỆ THỐNG VỚI CÔNG CỤ UPPAAL 17 3.1 GIỚI THIỆU 17 3.1.1 Phát hành 17 3.1.2 Cài đặt 17 3.1.3 UPPAAL trợ giúp 18 3.1.4 Mô hình hệ thống EDITOR (Biên tập) 18 3.1.5 SIMULATOR (Mô phỏng) 19 3.1.6 VERIFIER (Xác minh) 19 3.1.7 Mô tả hệ thống .19 3.1.8 TEMPLATES (Các mẫu) .19 3.1.9 Tham số 20 3.1.10 Các dòng lệnh (Command Line) 22 3.1.11 Help 23 3.1.12 Vẽ 23 3.1.13 Thanh công cụ (Tool Bar) 25 3.2 VÍ DỤ ĐẶC TẢ MƠ HÌNH TRAIN – GATE BẰNG UPPAAL 31 3.2.1 Mô tả Train Gate 35 3.2.2 Mơ hình Upaal 36 3.2.3 Thẩm định Error! Bookmark not defined DANH MỤC TỪ VIẾT TẮT Ký hiệu viết tắt Giải thích RTS Real Time System TA Timed Automata LỜI MỞ ĐẦU Xã hội phát triển, cơng nghệ thơng tin ngày giữ vị trí quan trọng đời sống kỹ thuật Nó giúp cho nhà quản lý kinh doanh, thương mại ,quân đội,các hoạt động người nhiều lĩnh vực đem lại hiệu cao Đặc biệt vấn đề điều khiển hỗ trợ người đắc lực việc điều khiển tự đông Việc xây dựng phần mềm đòi hỏi phần mềm thực thi phải có độ xác cao đặc biệt ln có ràng buộc liên quan đến thời gian Hiện có nhiều nghiên cứu phần mềm hỗ trợ cho việc thiết kế hệ thống thời gian thực ứng dụng nhiều lĩnh vực khác ví dụ như: hệ thống điều khiển khơng lưu, điều khiển tàu biển, hệ thống ô tô, máy bay, tàu hỏa… Có nhiều cơng cụ khác từ lý thuyết đến thực nghiệm để làm việc này, nhiên, hệ thống thời gian công cụ lý thuyết nhiều người dùng với phần mềm trợ đặc tả Uppaal Đồ án trình bày ba chương với nội dung chương sau: Chương 1: Tìm hiểu Model checking lý thuyết hệ thời gian thực (Real timed system) Chương : Tìm hiểu lý thuyết Otomat thời gian (Timed automata) Chương : Thử nghiệm đặc tả hệ thống với cơng cụ Uppaal CHƢƠNG 1: TÌM HIỂU VỀ MODEL CHECKING VÀ LÝ THUYẾT VỀ HỆ THỜI GIAN THỰC 1.1 ĐƠI NÉT VỀ MƠ HÌNH KIỂM TRA (MODEL CHECKING) TRONG CÔNG NGHỆ PHẦN MỀM Trong lĩnh vực khoa học máy tính logic, logic có thỏa mãn cấu trúc định.Model checking đề cập đến vấn đề sau đây: Cho mơ hình hệ thống, kiểm tra tự động mơ hình xem có đáp ứng số đặc điểm kỹ thuật cho hay không Thơng thường, hệ thống có trọng tâm phần cứng hệ thống phần mềm đặc điểm kỹ thuật yêu cầu safety (an toàn) vắng mặt deadlocks trạng thái quan trọng tương tự mà gây hệ thống sụp đổ Để giải vấn đề thuật tốn, hai mơ hình hệ thống đặc điểm kỹ thuật xây dựng số ngơn ngữ tốn học xác Để kết thúc vấn đề này, xây dựng nhiệm vụ cụ thể để kiểm tra xem có thỏa mãn cơng thức đạt kết u cầu khơng Một vấn đề kiểm tra đơn giản mơ hình là kiểm tra xác minh xem liệu cơng thức mệnh đề logic có thỏa mãn cấu trúc định Model checking kỹ thuật việc kiểm định hệ thống hữu hạn trạng thái đồng thời thiết kế mạch giao thức giao tiếp Nó có số lợi ích tiếp cận truyền thống dựa mô phỏng, kiểm tra, suy diễn, lập luận Một cách cụ thể, Model Checking kĩ thuật tự động hoàn toàn nhanh,nếu phần thiết kế có chứa lỗi Model Checking sản sinh phản ví dụ mà sử dụng để xác định nguồn gốc lỗi Thách thức Model checking giải toán bùng nổ trạng thái toán xảy hệ thống với nhiều thành phần tương tác với hệ thống với cấu trúc liệu giả định nhiều liệu khác Trong trường hợp số trạng thái toàn cục lớn Các nhà nghiên cứu có bước tiến đáng kể việc giải toán năm gần 1.1.1 Các u cầu mơ hình hệ thống Safety (an tồn): Hệ thống khơng phát sinh lỗi (some thing bad will never happen) Liveness: Thuộc tính đảm bảo thuộc tính tốt định xảy (something “good” will happen but we don’t know when) 1.2 GIỚI THIỆU VỀ HỆ THỜI GIAN THỰC 1.2.1 Khái niệm Trong tài liệu thực tế, khái niệm thời gian thực hệ thống thời gian thực lúc hiểu cách thống Nhiều người cho hệ thống thời gian thực hệ thống phải làm việc với yêu cầu thời gian nhanh Ví dụ hệ thống điều khiển tay máy, điều khiển động cơ,… Lại có người cho thời gian thực thời gian tuyệt đối, hệ thống thời gian thực hệ thống có khả làm việc với thời gian tuyệt đối theo phút giây ngày tháng Vậy nên hiểu hệ thống thời gian thực? Hệ thống thời gian thực (RTS – Real Time System) hệ thống mà tính đắn khơng phụ thuộc vào kết logic tạo mà phụ thuộc vào thời điểm kết tạo Như vây, hệ thống thời gian thực hệ thống mà hoạt động tin cậy phụ thuộc vào xác kết mà phụ thuộc vào thời điểm đưa kết Hệ thống có lỗi yêu cầu thời gian không thỏa mãn Hệ thống thời gian thực thiết kế nhằm trả lời lại yếu tố kích thích phát sinh từ thiết bị phần cứng Trong thực tế, yếu tố kích thích xảy thời gian ngắn vào khoảng vài mili giây, thời gian mà hệ thống trả lời lại yếu tố kích thích tốt vào khoảng giây, khoảng thời gian để xử lý kiện gọi dealtime, dealtime xác định thời gian bắt đầu thời gian hoàn tất công việc Trong RTS cần quan tâm xem cơng việc thời gian thực có tuần hồn hay khơng Đối với real-time hiểu cơng việc tuần hồn dealtime ấn định theo chu kì xác định, cơng việc khơng tuần hồn dealtime xác định vào lúc bắt đầu cơng việc Các biến cố kích hoạt cơng việc khơng tuần hồn thường dựa kỹ thuật xử lý ngắt hệ thống phần cứng Một hệ thống realtime hiểu hệ thống làm việc với kiện tức thời (realtime) Tuy nhiên khơng phải hệ thống thực qui định tức thời hay đáp trả lại kiện cách tức thời mong muốn Khi bắt tay xây dựng ứng dụng phần mềm mong muốn thời gian trễ để đưa lệnh hay định nhỏ nhất, hay xây dựng ứng dụng phần cứng lại muốn thời gian đưa tín hiệu đáp trả kiện phải gần tức thời, thực khơng hệ thống đáp ứng kiện có thời gian trễ định Khái niệm “hệ thống thời gian thực”,ở hiểu ngầm hệ thống đáp ứng kiện với thời gian trễ chấp nhận hay nói cách khác, hệ thời gian thực hệ thống có ràng buộc thời gian hành động hệ thống 1.2.2 Đặc điểm hệ thống thời gian thực Tính bị động: hệ thống phải phản ứng với kiện xuất vào thời điểm thường trước Ví dụ: Sự vượt ngưỡng giá trị đo, thay đổi trạng thái thiết bị trình phải dẫn đến phản ứng điều khiển Tính nhanh nhạy: Hệ thống phải xử lý thơng tin cách nhanh chóng để đưa kết phản ứng cách kịp thời Tuy tính nhanh nhạy đặc điểm tiêu biểu hệ thống có tính thời gian thực khơng thiết phải có đáp ứng thật nhanh mà quan trọng phải có phản ứng kịp thời u cầu, tác động bên ngồi Tính đồng thời: hệ thống phải có khả phản ứng xử lý đồng thời nhiều kiện diễn Có thể lúc điều khiển yêu cầu thực nhiều vòng điều chỉnh, giám sát ngưỡng giá trị nhiều đầu vào, cảnh giới trạng thái làm việc số động Tính tiền định: Dự đốn thời gian phản ứng tiêu biểu, thời gian phản ứng chậm trình tự đưa phản ứng Nếu điều khiển phải xử lý đồng thời nhiều nhiệm vụ ta phải tham gia định trình tự thực cơng việc đánh giá thời gian xử lý công việc Như người sử dụng có sở để đánh giá khả đáp ứng tính thời gian thực hệ thống 1.2.3 Cấu tạo hệ thời gian thực RTS có cấu tạo từ thành tố sau: Đồng hồ thời gian thực: cung cấp thơng tin thời gian thực Bộ điều khiển ngắt: quản lý biến cố không theo chu kỳ Bộ định biểu: quản lý quy trình thực Bộ quản lý tài nguyên: cung cấp tài nguyên máy tính Bộ điều khiển thực hiện: khởi động tiến trình Các thành tố phân định thành tố cứng hay mềm tùy thuộc vào hệ thống ý nghĩa sử dụng Thông thường, RTS kết hợp vào phần cứng có khả tốt so với hệ thống phần mềm có khả tương ứng tránh chi phí đắt cho việc tối ưu hóa phần mềm Hệ thống thời gian thực hệ thống có ràng buộc thời gian, nhiên thời gian ràng buộc bị vi phạm (thời gian trả lời vượt giới hạn cho phép) hệ thống tiếp tục hoạt động bình thường, tác hại không đáng kể 1.2.4 Hệ điều hành thời gian thực Các hệ thống thơng thường nhằm mục tiêu: tính xác,năng lực thực trung bình mức chấp nhận được, hệ thống thời gian thực, số tiêu chí đề cao, tính xác, tính kịp thời, hoạt động phải có tính quán Hệ điều hành hệ thời gian thực có chức giống hệ điều hành thơng thường, điểm khác hệ điều hành thời gian thực phải có đặc điểm thỏa mãn tiêu chí hệ thống thời gian thực Yêu cầu đặt với hệ điều hành thời gian thực khả dự đoán trước Yêu cầu thứ hai nhận biết điều khiển tất thành phần hệ thống hệ điều hành truyền thống phần lớn phần cứng hệ thống ẩn trừu tượng người sử dụng nhà thiết kế ứng dụng Tuy nhiên người sử dụng hệ điều hành thời gian thực phải truy cập điều khiển hành vi thành phần hệ thống để đảm bảo tính tiên đốn Yêu cầu thứ ba hệ điều hành thời gian thực nên hệ thống mở, nghĩa hệ thống định nghĩa tập chế mềm dẻo, phù hợp không tập trung vào chiến lược cụ thể 1.2.5 Vì chọn hệ thời gian thực Có thể nói tất hệ thống điều khiển hệ thời gian thực Ngược lại số lớn hệ thống thời gian thực hệ thống điều khiển, khơng hệ thống điều khiển hoạt động bình thường khơng đáp ứng yêu cầu thời gian Hệ thống thời gian thực ứng dụng phổ biến nhiều lĩnh vực thương mại, quân đội, y tế, giá o dục, sở hạ tầng… ngày phát triển mạnh mẽ mà số lĩnh vực tiêu biểu: Các hệ thống phương tiện : ô tô, xe điện ngầm, máy bay, tàu hỏa… Các hệ thống điều khiển giao thông: điều khiển không lưu, điều khiển tàu biển… Dưới số ví dụ: Hoạt động đèn điện có nút bật tắt (được mơ tả hình 1) Ngun tắc hoạt động + Ban đầu đèn tắt người dùng ấn vào nút ấn đèn sáng mờ (dim) + Sau đó: người dùng ấn vào nút thêm ấn đèn sáng hẳn lên (bright), người dùng ấn vào nút ấn liên tiếp đèn tắt (off) + Khi đèn chế độ sáng (bright) người dùng cần ấn vào nút lầnthì đèn tắt 10 3.1.13.2 Menu Edit Hình 10 Các thành phần menu edit Các menu Edit cung cấp tập hợp lệnh hỗ trợ trình soạn thảo hệ thống Các mặt hàng là: Undo Redo Cut Copy Paste Delete Insert Template Remove Template 27 3.1.13.3 Menu View Hình 11 Các thành phần menu view Trình đơn xem sử dụng để sửa đổi xuất hệ thống hiển thị hệ thống biên tập Zoom: hiển thị menu phụ với zoom giá trị cố định, zoom để phù hợp với phóng to trong, trên, để kích thước bình thường Một thay đổi giá trị zoom ảnh hưởng đến mẫu trình biên tập trình giả lập (nếu cơng cụ kích hoạt) Labels:hiển thị menu phụ mà từ ta chọn loại nhãn hiển thị vùng vẽ Ngay ẩn, tất nhãn nhìn thấy tooltip địa điểm góc cạnh Show Grid: lưới vẽ hiển thị mặt hàng kiểm tra Snap to Grid: làm cho đối tượng vẽ (như địa điểm, nhãn) xếp cho lưới điện snap Kích thước lưới snap có liên quan đến kích thước lưới vẽ Lƣu ý: tùy chọn Grid Snap để sử dụng lưới vẽ không hiển thị Reload Simulator: Tác phẩm hệ thống nạp vào trình soạn thảo, để giả lập xác minh 28 Processes: hiển thị cửa sổ hộp thoại cho ẩn quy trình bảng điều khiển trình mô Variables: hiển thị cửa sổ hộp thoại cho ẩn hiển thị biến bảng biến mô Full DBM: hiển thị tất hạn chế đồng hồ bảng biến mô Nếu không chọn số lượng tối thiểu khó khăn hiển thị 3.1.13.4 Menu Tool (cơng cụ) Hình 12 Các thành phần menu tool Trình đơn cơng cụ chứa cơng cụ hữu ích hệ thống edtior Các mặt hàng là: Check syntax (Kiểm tra cú pháp): kiểm tra tìm thấy lỗi cảnh báo liệt kê phần khu vực vẽ hệ thống biên tập Convert syntax (Chuyển đổi cú pháp): hỗ trợ hệ thống phù hợp với cú pháp sử dụng UPPAAL 3.4 đến cú pháp hành Align to Grid: làm cho tất đối tượng có mẫu hiển thị lưới 29 3.1.13.5 Menu option Hình 13 Các thành phần menu option Các menu tùy chọn thiết lập để kiểm soát kiểm tra mơ hình Bao gồm: Search Order State Space Reduction State Space Representation Diagnostic Trace Extrapolation Hash table size Reuse 30 3.1.13.6 Menu help Hình 14 Các thành phần menu help Thực đơn giúp có hai mục: trợ giúp mở cửa sổ riêng biệt hiển thị trang trợ giúp, mà mở cửa sổ hiển thị số phiên thông tin quyền UPPAAL Bao gồm: Help … F1 About Uppaal 3.2 VÍ DỤ ĐẶC TẢ MƠ HÌNH TRAIN – GATE BẰNG UPPAAL Ý tưởng đằng sau công cụ để làm mô hình hệ thống với timed automata sử dụng biên tập đồ họa, dựa theo để làm cho hoạt động định trước, cuối để xác minh với tập đặc tính Giao diện đồ họa Java đa uuClient phản ánh ý tưởng chia thành phần chính: biên tập, mơ xác minh, truy cập thơng qua tab 31 Hình 15.Ví dụ Train-Automata Train-Gate Nút Select kích hoạt công cụ Trong chế độ người ta di chuyển địa điểm cạnh, chỉnh sửa nhãn (label) Các chế độ khác để thêm vào địa điểm, cạnh, đỉnh cạnh (được gọi nail) Vị trí khơng có tên mặc định trường văn cho phép người dùng đặt tên mẫu tham số Mẹo nhỏ: nút chuột cách tắt để thêm yếu tố mới, tức nhấn miền, vị trí cạnh cho biết thêm vị trí mới, cạnh, nail tương ứng Trình biên tập (The Editor): Một hệ thống định nghĩa mạng timed-automata , gọi tiến trình cơng cụ, xếp song song Một tiến trình hiển thị thực tế từ tham số mẫu Trình biên tập chia thành phần: khung để truy cập vào mẫu khác công bố, miền vẽ / soạn thảo văn Hình 15 cho thấy trình biên tập với ví dụ Train-Gate phần Các vị trí đánh tên khơng thay đổi, cạnh đánh tên với điều kiện an toàn, đồng bộ, phân cơng 32 Cây phía bên trái cho phép truy cập đến phận hệ khác hệ thống mô tả sau: Global declaration (sự khai báo toàn cục): chứa biến toàn cục kiểu interger (số nguyên), đồng hồ, kênh đồng bộ, số Templates (Các mẫu): Train, Gate IntQueue tham số khác timed-automata Một mẫu có biến cục bộ, kênh số Hình 16 Khung nhìn tab mơ cho ví dụ Train-Gate 33 Hình 17 Sự khác khai báo toàn cục khai báo cục ví dụ Train-Gate Chúng ta đưa vài ảnh hình (screenshoot) cơng cụ để thể khai báo cách xúc tích Process Assignments (Các tiến trình phân cơng): Mẫu hiển thị vào q trình Phần phân cơng tiến trình chứa khai báo trường hợp System definition (Định nghĩ hệ thống): Một danh sách tiến trình hệ thống Cú pháp sử dụng nhãn khai báo phần trợ giúp hệ thống công cụ Sự khai báo cục khai báo tồn cục thể Hình 17 Cú pháp đồ họa trực tiếp đưa vào từ mô tả timed-automata phần The Simulator (Sự mơ phỏng): Sự mơ dùng theo cách: Người dùng chạy hệ thống tay (tức không tự động) chọn kiểu chuyển đổi để thi hành Chế độ ngẫu nhiên bật hệ thống chạy riêng, người dùng làm theo dẫn (lưu lại nhập từ xác minh) để biết làm 34 để chế độ truy cập Hình 10 thể mơ Nó chia thành phần: The control part (Phần điều khiển): dùng để chọn kích hoạt chuyển đổi, làm theo dẫn, bật chế độ mô ngẫn nhiên The variable view: thể giá trị biến kiểu integer (số nguyên) đồng hồ UPPAAL chế độ cụ thể với giá trị thực tế cho đồng hồ Bởi có vơ vàn chế độ nên thay vào đó, UAPPAAL hiển thị tập chế độ cụ thể biết đến chế độ tượng trưng Tất chế độ cụ thể chế độ tượng trưng chia sẻ vị trí vector giá trị cho biến riêng rẽ Các giá trị khả thi đồng hồ mô tả tập buộc Đồng hồ công nhận chế độ tượng trưng xác thỏa mãn tất buộc (điều kiện) 3.2.1 Mơ tả Train Gate Ví dụ Train Gate mô tả Uppaal: hệ thống điều khiển tàu hỏa việc truy cập giao cắt tàu Hệ thống định nghĩa số tàu , ví dụ có tàu điều khiển Một tàu dừng tức thời khởi động lại thời gian Do có số ràng buộc thời gian tàu trước vào cầu, tàu gửi tín hiệu appr! Sau có 10 đơn vị thời gian để nhận tín hiệu dừng điều cho phép dừng cách an toàn trước vào cầu Sau 10 đơn vị thời gian cần nhiều 10 đơn vị thời gian để đến cầu khơng muốn dừng Nếu tàu bị dừng lại lấy lại tiến trình điều khiển gửi tín hiệu go cho sau tàu đằng trước rời khỏi cầu gửi tín hiệu leave 35 Hình 18 Ví dụ Train - Gate 3.2.2 Mơ hình Upaal Mơ hình Train Gate có mẫu: Train, Gate, Int Queue - Mẫu Train: có trạng thái Safe, appr, stop, start, cross Trạng thái khởi tạo safe thể tàu chưa tới cầu Trạng thái khơng có ràng buộc bất biến nên tàu dừng trạng thái vào lúc thời gian Khi tàu đến phải đồng với điều khiển Công việc thực kênh đồng appr Bộ điều khiển có tín hiệu appr biến đồng hồ x reset biến tham số e thiết lập định danh cho tàu, biến sử dụng hàng đợi queue điều khiển biết tàu tiếp tục, tàu dừng…vị trí ràng buộc bất biến x