Chương 1: Tổng quan về Hệ thời gian thực. Trong chương này, trình bày các khái niệm về hệ thống thời gian thực, các ứng dụng điển hình của hệ thống này. Chương 2: Phương pháp phân tích thiết kế hướng mẫu Trong chương này, trình bày tổng quan về mẫu thiết kế và phương pháp phân tích thiết kế hệ thống phần mềm hướng mẫu. Ngoài ra trình bày một số mẫu được sử dụng cho thiết kế cho ứng dụng đề xuất như mẫu Quan sát (Observer), mẫu chiến lược (Trategy), mẫu ngắt (Interruptt), và mẫu luân chuyển Robin (Round Robin).
Chương 3: Hệ thống giám sát trạng thái hoạt động trong khuôn viên Trường Đại học Dân Lập Hải Phòng Đây là phần xây dựng ứng dụng dựa trên cơ sở lý thuyết đã trình bày ở trên. Sử dụng phương pháp phân tích hướng đối tượng và các mẫu để tiến hành phân tích và thiết kế ứng dụng và tiến hành một số cài đặt thử nghiệm. Cuối cùng là phần kết luận và hướng phát triển tiếp theo của đề tài. TIEU LUAN MOI download : skknchat@gmail.com Chƣơng I TỔNG QUAN VỀ HỆ THỜI GIAN THỰC 1.
Khái niệm về hệ thời gian thực [1] Hầu hết các bộ xử lý được dùng để điều khiển các máy tính cá nhân đơn giản cho đến toàn bộ các hệ thống máy móc trong các nhà máy. Những hệ thống này tương tác trực tiếp với các thiết bị phần cứng. Phần mềm trong những hệ thống này được gọi là hệ thời gian thực nhúng (Embedded Real Time System). Nó thực hiện các xử lý để đáp ứng lại với các sự kiện phát sinh từ các phần cứng bằng cách tạo ra các tín hiệu điều khiển gửi đến các thiết bị phần cứng nhằm đáp ứng những sự kiện của môi trường.
Những phần mềm này được nhúng vào trong hệ thống phần cứng hay hệ thống lớn hơn và phải sản ra các tín hiệu điều khiển trong khoảng thời gian thực xác định để đáp ứng được các sự kiện phát sinh từ môi trường của hệ thống. Như vậy, một hệ thời gian thực là một hệ thống mà hoạt động hiệu quả của nó không chỉ phụ thuộc vào sự chính xác của kết quả tạo ra mà còn phụ thuộc vào thời điểm đưa ra kết quả. Hệ thống sẽ là thất bại mỗi khi các yêu cầu về thời gian và mức độ đáp ứng không được thoả mãn.1 [5] mô tả mức độ đáp ứng kịp thời của hệ thống theo bốn yêu cầu khác nhau. Sự kiện Phản ứng Sự kiện Phản ứng T T ts tp-1 tp-2 Thời gian ts tp Thời gian a) Chính xác tại t = tp b) Trong khoảng.
tp-1 ≤ t ≤ tp-2 Sự kiện Phản ứng Sự kiện Phản ứng T T ts tp Thời gian ts tp Thời gian c) Chậm nhất là. t ≤ tp d) Sớm nhất là .1: Các mức đáp ứng sự kiện về mặt thời gian TIEU LUAN MOI download : skknchat@gmail.com 12 Các hệ thời gian thực khác với các phần mềm khác là những chức năng đáp ứng của hệ thống đối với các sự kiện của 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). Do vậy người ta định nghĩa hệ thời gian thực (Real Time System - RTS) 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ả logic đượ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 đưa ra. Khoảng thời gian này được xác định từ thời gian bắt đầu và thời gian 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 cần đáp ứng lại các yếu tố kích thích 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 hồi đáp kích thích.2 Phân loại hệ thời gian thực Hệ thời gian thực được chia thành hai loại, hệ thời gian thực cứng (Hardware real time system) và hệ thời gian thực mềm (Sofware real time system).2 [5] dưới đây minh họa cho sự khác biệt giữa hai loại hệ thống đó. Giá trị kết quả đồ thị hệ mềm xử lý đưa ra đồ thị hệ cứng - + thời gian thời điểm đáp ứng (deadline) Hình 1.2 Đồ thị mô tả đặc trưng hai loại hệ thời gian thực TIEU LUAN MOI download : skknchat@gmail.com 13 Trong đó: hạn định (deadline) là khoảng thời gian hay thời điểm mà tại đó các tác vụ thực hiện yêu cầu cần được hoàn thành.1 Hệ thời gian thực cứng Trong một số hệ thống được quan tâm đặc biệt đến các hậu quả do sự vi phạm giới hạn về thời gian cho phép. Những hậu quả này có thể rất tồi tệ.
Nó mang lại những thiệt hại nặng nề về vật chất, và có thể gây ra những ảnh hưởng to lớn đến sinh mạng con người. Một ví dụ cho loại hệ thống này như việc ra lệnh dừng tàu đã không được thực hiện đúng lúc để tàu đi băng qua ga sẽ là nguyên nhân dẫn đến một tai nạn thảm khốc, hay việc điều khiển ném bom xảy quá chậm có thể nổ vào dân thường thay vì nổ đúng mục tiêu của một căn cứ quân sự đối phương. 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 [10]. Do đó hệ thời gian thực cứng buộc phải đưa ra các kết quả chính xác trong khoảng thời gian nhất định đã cho.
Ví dụ: Một đoàn tàu điều khiển tự động không thể dừng lại ngay lập tức. Khi có tín hiệu dứng, hành động phanh lại của nó phải được kích hoạt từ một khoảng cách xác định trên đường ray từ cổng tín hiệu đến vị trí nó phải dừng. Khoảng cách phanh này phụ thuộc không chỉ vào tốc độ của con tàu mà còn vào hệ số an toàn của bộ phanh giảm tốc độ. Từ tốc độ và sự giảm tốc độ an toàn của tàu, bộ điều khiển có thể tính toán ra thời gian bắt buộc tàu cần hãm phanh và cường độ phanh yêu cầu trước điểm cần dừng bao xa.
Thời gian giới hạn bắt buộc này chính là thời gian sự cưỡng bức để hoàn thành các công việc như là quan sát, xử lý tín hiệu dừng và kích hoạt phanh. Vì vậy, sự cưỡng bức thời gian này phải là cứng mới đảm bảo sự dừng đúng vị trí của con tàu.2 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 cho phép một sai số nhất định cả về giá trị và thời gian so với khoảng thời gian 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.
Đối với hệ thời gian thực mềm, thời gian đáp ứng của hệ thống với yếu tố kích thích cũng quan trọng. Tuy nhiên, trong trường hợp này thời gian đáp ứng của hệ thống có thể vượt quá giới hạn trễ cho phép, hệ thống vẫn hoạt động bình thường, không quan tâm đến các tác hại do sự vi phạm này gây ra (thường thì các tác hại này là TIEU LUAN MOI download : skknchat@gmail.com 14 không đáng kể). Trong trường hợp này, người ta gọi là hệ thống có ràng buộc định thời gian mềm. Vì vậy người ta định nghĩa hệ thời gian thực mềm như sau: Một hệ thời gian thực mềm là một hệ thống mà trong đó các hoạt động của nó được phép hoàn thành trong một sai số cho phép mà không gây hậu quả nghiêm trọng[10], tức là sự đáp ứng của hệ thời gian thực mềm có thể vượt ra ngoài một giới hạn cho phép mà vẫn có thể chấp nhận được.
Ví dụ về hệ thống này bao gồm những hệ thống thực hiện tương tác trực tuyến, những bộ chuyển mạch điện thoại, hay các trò chơi (game) điện tử. Trong các tài liệu về hệ thời gian thực, sự phân biệt giữ khoảng thời gian bắt buộc cứng hay mềm thường tùy theo trạng thái định lượng trong 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. Vì vậy, sự phân chia này chỉ có tính tương đối.3 Đặc điểm của hệ thời gian thực [6] Một hệ thống thời gian thực có các đặc trưng tiêu biểu sau: Tính bị động: Hệ thống thường phải phản ứng lại với các sự kiện xuất hiện vào các thời điểm thường không biết trước.
Tính nhanh nhạy: Hệ thống phải xử lý thông tin một cách nhanh chóng để có thể đưa ra kết quả phản ứng một cách kịp thời. Đây là một đặc điểm tiêu biểu. Tuy nhiên, đối với một hệ thống có tính năng thời gian thực không nhất thiết phải đáp ứng thật nhanh mà quan trọng hơn là phải có phản ứng kịp thời đối với các yêu cầu, tác động từ bên ngoài. Tính đồng thời: Hệ thống phải có khả năng phản ứng và xử lý đồng thời nhiều sự kiện diễn ra.
Tính tiền định: Dự đoán trước được thời gian phản ứng tiêu biểu, thời gian phản ứng chậm nhất cũng như trình tự đưa ra các phản ứng. Phải lập lịch cho các sự kiện.4 Cấu trúc thành phần của một hệ thời gian thực Baker và Scallon (1986) đã trình bày một thảo luận hay về các yêu cầu thiết bị cho hoạt động thời gian thực. Cooling (1991) cũng đề cập tới vấn đề này, và thảo luận tóm tắt về sản phẩm hoạt động thời gian thực thương mại. Các yêu cầu riêng cho hệ thời gian thực thường là yêu cầu phần thực thi cần được thiết kế như là một phần của hệ thống.
TIEU LUAN MOI download : skknchat@gmail.com 15 Các thành phần của một RTS [11] (hình 1.3) phụ thuộc vào kích cỡ và sự phức tạp của hệ thời gian thực được xây dựng. Thông thường, với mọi hệ thời gian thực (trừ những hệ thống đơn giản) đều có các thành phần sau: Thông tin lập lịch Đồng hồ thời Lập lịch Điều khiển ngắt gian thực Xử lý các yêu cầu về tài nguyên Tài nguyên Danh sách tài chờ xử lý Quản lý tài nguyên nguyên có giá trị Giải phóng Sẵn sàng tài nguyên xử lý Danh sách Danh sách Bộ điều vận sẵn sàng xử lý Hoạt động xử lý Hình 1.3: Các thành phần của hoạt động thời gian thực 1. Một đồng hồ thời gian thực (real - time clock): thiết bị này cung cấp thông tin cho việc lập lịch trình xử lý một cách định kỳ.