phần mở đầu, kết luận và ba chƣơng. -4- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chƣơng I: Trình bày các khái niệm cơ bản cũng nhƣ các đặc trƣng của RTS. Những ứng dụng phổ biến của RTS, phân biệt hệ thống thời gian thực và hệ thống không phải thời gian thực, cùng với những vấn đề liên quan đến việc phân tích thiết kế hệ thống thời gian thực. Chƣơng II: Tập trung vào phân tích, thiết kế hƣớng đối tƣợng một bài toán cụ thể: hệ thống điều khiển thang máy sử dụng UML và phần mềm Rational Rose.
Chƣơng III: Giới thiệu và cài đặt chƣơng trình mô phỏng các hoạt động cơ bản của hệ thống thang máy với ngôn ngữ lập trình hƣớng đối tƣợng Java. -5- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƢƠNG I HỆ THỐNG THỜI GIAN THỰC Với sự gia tăng mạnh mẽ việc sử dụng những hệ thống thông minh trong cuộc sống hằng ngày nhƣ các thiết bị điện tử dân dụng, những dụng cụ cá nhân tự động, và những thiết bị y học, càng tăng thêm tầm quan trọng của việc đầu tƣ nghiên cứu hệ thống thời gian thực. Từ những hệ thống đòi hỏi sự an toàn và độ chính xác cao nhƣ lò phản ứng hạt nhân, bộ điều khiển tự động, điều khiển không lƣu, những hệ thống giám sát trực tuyến trong y học, những hệ thống phòng thủ, khoa học điện tử áp dụng cho ngành hàng không, hệ thống tàu ngầm, sản xuất Robot đến những phần mềm giải trí nhƣ game, phim hoạt hình, từ những máy dân dụng đơn giản tới những thiết bị sản xuất hoàn chỉnh. Những ứng dụng này có mặt ở khắp mọi nơi, trong các lĩnh vực thƣơng mại, chính phủ, quân sự, y học, giáo dục, v.
và đang phát triển nhanh cả về số lƣợng và chất lƣợng. Khái niệm hệ thống thời gian thực 1. Những hệ thống thời gian thực (Real Time System - RTS) Những hệ thống điều khiển nhƣ những hệ thống sản xuất linh hoạt thực hiện tuần tự những nhiệm vụ dựa vào những sự kiện bên ngoài, nhƣ khi ta nhấn nút hay một sự tác động nào đó. Kết quả thực hiện của hệ thống phụ thuộc vào sự thực hiện tuần tự chứ không phụ thuộc vào thời gian.
Vì vậy đó không phải là RTS. Mặc dù những hệ thống này không phụ thuộc thời gian khi thực hiện nhiệm vụ nhƣng việc thực hiện tổng thể của nó vẫn có liên quan đến thời gian. Ví dụ một tiêu chuẩn lập lịch cho một hệ thống sản xuất linh hoạt không phải RTS, tổng thời gian thực hiện là tối thiểu hay lƣợng vật liệu đƣa vào sản xuất là tối đa. Thƣờng thì tác động của những ràng buộc thời gian trong những hệ thống này không làm ảnh hƣởng đến sự ổn định của hệ thống.
Do vậy những hệ thống này không phải là RTS. Những hệ thống thời gian thực là những hệ thống điều khiển có ràng buộc chính xác thời gian thực hiện nhiệm vụ và xem nhƣ là những ràng buộc thời gian thực [14]. Từ đây, có thể đƣa ra một khái niệm hệ thống thời gian thực (RTS), đƣợc trình bày ở phần sau. -6- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.
Khái niệm Một hệ thống thời gian thực (RTS) là một hệ thống phần mềm mà sự thực hiện đúng đắn của hệ thống không chỉ phụ thuộc vào kết quả sinh ra mà còn phụ thuộc vào thời gian phát sinh kết quả [11]. Những hệ thống thời gian thực là những hệ thống máy tính giám sát, trả lời hay điều khiển môi trƣờng ngoài. Môi trƣờng này đƣợc kết nối tới hệ thống máy tính thông qua những bộ cảm biến, bộ kích hoạt và những giao diện vào ra khác. Những thiết bị này là những đối tƣợng vật lý hay sinh học.
Thông thƣờng con ngƣời là phần liên kết với thế giới bên ngoài nhƣng có thể hiểu một cách tổng quát những đối tƣợng tự nhiên nhƣ những con vật hay đối tƣợng nhân tạo cũng có thể liên kết với môi trƣờng ngoài. Hệ thống máy tính phải đáp ứng đƣợc những ràng buộc thời gian và những ràng buộc khác theo hành vi thời gian thực đƣợc cài trong hệ thống. Mục đích chính của hệ thống là đáp lại hay phản ứng lại những tín hiệu từ môi trƣờng ngoài. Một hệ thống máy tính thời gian thực có thể là một phần đƣợc gắn vào hệ thống lớn gọi là một hệ thống nhúng.
Có thể nhìn nhận hệ thống thời gian thực nhƣ là một hệ thống kích hoạt/ trả lời. Khi nhận một sự kích hoạt, hệ thống phải sinh ra hành động đáp trả tƣơng ứng. Vì vậy, hành vi của hệ thống thời gian thực có thể định nghĩa là danh sách những tác nhân kích hoạt mà hệ thống nhận đƣợc, có sự liên hệ giữa hồi đáp và thời gian hồi đáp. Tác nhân kích hoạt gồm có: 1.
Sự kích hoạt liên tục, đều đặn (chu kỳ): xảy ra tại những khoảng thời gian có thể báo trƣớc. Sự kích hoạt rời rạc: xảy ra thất thƣờng, thƣờng đƣợc báo hiệu nhƣ là cơ chế ngắt của máy tính. Sự kích hoạt theo chu kỳ trong hệ thống thời gian thực thƣờng đƣợc phát sinh bởi những bộ cảm biến liên kết với hệ thống. Những thông tin này cho biết trạng thái của môi trƣờng hệ thống.
Sự trả lời đƣợc gởi tới những bộ kích hoạt điều khiển đơn vị phần cứng có tác động tới môi trƣờng hệ thống. -7- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sự kích hoạt rời rạc có thể đƣợc phát sinh từ những bộ kích hoạt hay bộ cảm biến. Chúng thƣờng chỉ ra một vài những tình trạng khác thƣờng nhƣ lỗi phần cứng mà lỗi này chỉ có thể khắc phục bằng tay. Một hệ thống thời gian thực phải trả lời lại sự kích hoạt tại những khoảng thời gian khác nhau.
Vì vậy kiến trúc của hệ thống phải đƣợc tổ chức để truyền sự điều khiển tới bộ điều khiển thích hợp ngay khi nhận đƣợc sự kích hoạt. Trong những chƣơng trình tuần tự, điều này là không thực tế, vì vậy RTS thƣờng đƣợc thiết kế nhƣ là một tập các tiến trình đồng thời và tiến trình cộng tác. Một cách tổng quát, mô hình kích hoạt/trả lời của RTS dẫn đến mô hình kiến trúc gồm ba loại tiến trình: tiến trình quản lý bộ cảm biến; tiến trình tính toán yêu cầu trả lời khi hệ thống nhận đƣợc sự kích hoạt; tiến trình điều khiển kích hoạt quản lý hoạt động của tác nhân kích hoạt. Những ràng buộc thời gian thực [14] Một ràng buộc thời gian thực đƣợc định nghĩa nhƣ là một điều kiện kiểu boolean trong những giá trị của biến đồng hồ.
Biến đồng hồ là biến có giá trị tăng theo thời gian. Các biến đồng hồ có thể là biến cục bộ hay biến chung. Giá trị của những đồng hồ chung là có thể thấy đƣợc cho tất cả các tiến trình của hệ thống còn những đồng hồ cục bộ có thể thấy đƣợc chỉ cho những tiến trình của nó. Những đồng hồ có thể là tuyệt đối hay tƣơng đối.
Những đồng hồ tuyệt đối (Absolute clock) lấy giá trị từ một thiết bị bấm giờ chung, và sẽ không bao giờ đặt lại giờ sau khi đã khởi tạo. Những đồng hồ tƣơng đối cũng lấy giá trị từ một thiết bị bấm giờ, nhƣng có thể là hai giá trị đồng hồ khác nhau cho hai đồng hồ. Những đồng hồ có giá trị có thể là rời rạc hay liên tục. Những đồng hồ rời rạc có giá trị tăng theo số nguyên, còn những đồng hồ liên tục gia tăng theo những định lƣợng thời gian thực.
Trong một hệ thống thời gian thực đơn, tất cả các đồng hồ hoặc là rời rạc hoặc là liên tục, nhƣng đồng hồ tuyệt đối chỉ khi là đồng hồ chung và đồng hồ tƣơng đối khi là đồng hồ cục bộ và có thể cùng tồn tại trong một hệ thống. Từ những mô hình khác nhau đề xuất những cú pháp khác nhau cho việc đặc tả ràng buộc thời gian thực. Cú pháp chính xác của một điều kiện boolean trong những biến đồng hồ là phụ thuộc vào mô hình hệ thống. -8- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.
Đặc điểm của hệ thống thời gian thực [6] Đặc điểm đầu tiên là sự ràng buộc thời gian (timing constrain). Một chƣơng trình không chỉ đƣa ra kết quả đúng đắn mà còn đƣa ra kết quả đúng lúc. Nói cách khác, chƣơng trình phải đúng cả về mặt logic và thời gian thực hiện. Thông thƣờng hệ thống phải thỏa mãn những yêu cầu về thời gian bao hàm cả những yêu cầu khác.
Phổ biến nhất và đơn giản nhất là yêu cầu về hạn định (deadline) - thời hạn tối đa để chƣơng trình thực hiện xong một yêu cầu nào đó. Hầu hết những ràng buộc thời gian là đơn định (deterministic). Đặc điểm thứ hai của RTS là tính đồng thời (concurrency). Hệ thống máy tính sử dụng tính đồng thời để nâng cao hiệu quả thực hiện của chƣơng trình, ví dụ nhiều bộ xử lý cùng chạy song song để xử lý một công việc nào đó.
Hệ thống thời gian thực phải đáp ứng sự đồng thời vốn có của tự nhiên là một phần của thế giới bên ngoài đƣợc kết nối tới hệ thống. Tức là, những tín hiệu từ môi trƣờng ngoài có thể tác động vào hệ thống một cách đồng thời. Những hệ thống máy tính đơn có thể giám sát những hành động rời rạc hay cùng lúc trong tự nhiên. Vì vậy, hệ thống thời gian thực rất cần biết “thời gian thực” của những tín hiệu mà hệ thống nhận đƣợc, cũng nhƣ đƣa ra những tín hiệu kết quả tƣơng ứng đúng lúc và đáp ứng những ràng buộc thời gian.
Một đặc tính thứ ba của hệ thống thời gian thực cần quan tâm là độ tin cậy và độ kháng lỗi của hệ thống. Độ tin cậy là một sự ƣớc lƣợng mức độ xảy ra lỗi của hệ thống nhiều hay ít, thƣờng xuyên hay không thƣờng xuyên. Tuy nhiên, hầu nhƣ không có hệ thống nào là có độ tin cậy tuyệt đối. Độ kháng lỗi là sự nhận biết và tự sửa lỗi của hệ thống.
Sự thất bại và lỗi của hệ thống có thể gây ra những hậu quả nghiêm trọng nhƣ mất tiền, thiệt hại tài sản và tính mạng con ngƣời. Đặc tính cuối cùng của hệ thống thời gian thực là hệ thống có sự kiểm thử và được chứng nhận. Vì giá thành cao cho việc sửa lỗi và những thiệt hại của hệ thống, điều này thƣờng là không thể hiện trong quá trình kiểm thử và gỡ rối của hệ thống với môi trƣờng thực tế. Thay vì chỉ dựa vào sự mô phỏng, kiểm thử hệ thống con, đặc tả cẩn thận, phân tích thiết kế toàn diện, xây dựng những thủ tục phát hiện lỗi và sửa lỗi.