Chương 6 Kết luận
2.3 Minh họa kiến trúc chung hệ thống CB-RTS
2.2 Các phương pháp mơ hình hóa hệ thống thời gian thực
Do đòi hỏi thực tế ngày càng cao, đã có nhiều nghiên cứu liên quan đến hệ thống thời gian thực. Vì vậy, cũng có nhiều cách định nghĩa về hệ thống thời gian thực được đưa ra [22]. Theo tổng kết của các tác giả M. Timmerman và L. Perneel, hệ thống thời gian thực là hệ thống:“ . . . phản ứng theo cách đốn trước được (kịp thời) các kích thích khơng dự đốn được đến từ bên ngồi.” [22]. Cũng theo M. Timmerman và đồng nghiệp [23] và Yahor Bondarau [24], hệ thống thời gian thực được chia thành các loại cơ bản gồm hệ thống thời gian thực nghiêm ngặt, hệ thống thời gian thực ổn định, hệ thống thời gian thực linh động và hệ thống phi thời gian được trình bày chi tiết sau đây.
Hệ thống thời gian thực nghiêm ngặt: Hệ thống thời gian thực phải đưa ra kết quả đúng trong thời gian đã định. Các yêu cầu đối với hệ thống này rất chặt chẽ, thường áp dụng trong những hệ thống đòi hỏi nghiêm ngặt sự tuân thủ theo thời gian.
Ví dụ 2.1. Hệ thống túi khí của xe hơi, khi xe xảy ra va chạm, các túi khí này phải mở ra trong khoảng thời gian đã định. Nếu khơng sẽ ảnh hưởng đến tính mạng người điều khiển xe.
Hệ thống thời gian thực ổn định: Hệ thống không bị dừng khi không đáp ứng được các ràng buộc thời gian nhưng kết quả không sử dụng được, tức là kết quả không đáp ứng được u cầu ràng buộc thời gian thì khơng có giá trị.
Ví dụ 2.2. Một giao dịch trên hệ thống Internet-Banking đòi hỏi khách hàng phải nhập chuỗi mã xác thực trong khoảng thời gian nhất định. Nếu quá thời hạn mã xác thực khơng cịn giá trị cho giao dịch đó nữa.
Hệ thống thời gian thực linh động: Những hệ thống vẫn đòi hỏi thực hiện các tác vụ theo thời gian đã định nếu không đáp ứng được u cầu thời gian đó thì có thể kéo theo các thành phần khác hoạt động chậm lại, nhưng đến một lúc nào đó vẫn nhận được kết quả theo yêu cầu và lỗi không đáp ứng kịp yêu cầu thời gian không gây tắc nghẽn hệ thống.
Ví dụ 2.3. Một ứng dụng trình chiếu video trực tuyến có thể bị gián đoạn do tốc độ đường truyền Internet chậm, tức là hệ thống khơng cung cấp đủ số khung hình/giây. Tuy nhiên, khi hệ thống nạp đủ nội dung ứng dụng vẫn tiếp tục hoạt động.
Hệ thống phi thời gian: Các chức năng của hệ thống không yêu cầu ràng buộc về thời gian. Đây là trường hợp riêng của hệ thống thời gian thực khi ràng buộc thời gian bằng 0.
Ngoài cách phân loại trên, hệ thống thời gian thực phải đảm bảo được một số tính chất được trình bày dưới đây bao gồm tính kịp thời, tính dự đốn, tính xử lý đồng thời [22,24].
(i) Tính kịp thời: Các hoạt động của hệ thống thời gian thực đáp ứng kịp thời các sự kiện trong giới hạn thời gian cho phép.
(ii) Tính dự đốn: Các hành động của hệ thống thời gian thực phải phản ứng
lại tất cả các sự kiện một cách kịp thời.
(iii) Tính xử lý đồng thời: Hệ thống phản ứng kịp thời với tất cả các sự kiện xảy ra đồng thời.
2.2.1 Ơtơmát thời gian và vùng thời gian
Mọi hoạt động trong thế giới chúng ta đều phụ thuộc vào thời gian, ở một mức hoạt động nào đó yếu tố thời gian có thể bị ẩn đi hoặc chưa phải là yếu tố cần xem xét. Các hành động có thể xảy ra theo một trình tự nào đó và đơi lúc cảm thấy chúng xảy ra tức thời và sự nhanh chậm không ảnh hưởng đến kết quả của công việc. Khi ràng buộc về mặt thời gian ảnh hưởng đến chất lượng cơng việc thì nhu cầu cần phải tính tốn yếu tố này trong các hoạt động của một hệ thống trở nên cấp thiết. Chúng ta xét ví dụ sau:
Ví dụ 2.4. Khi nhấn phanh xe ôtô, mất bao nhiêu phần trăm giây để xe có thể giảm tốc độ và dừng lại, và việc xe đáp ứng lại yêu cầu của người điều khiển có đúng như trong thiết kế hay khơng?
Như vậy, trước khi có chiếc xe hoạt động trên thực tế, các nhà sản xuất đã tính tốn trong thiết kế của họ mọi khả năng có thể xảy ra. Điều này khẳng định nhu cầu trừu tượng hóa các hoạt động của hệ thống trên thực tế trở thành các mơ hình lý thuyết là rất cần thiết. Dựa trên các mơ hình, người ta có thể sử dụng chúng để phân tích, đánh giá các hoạt động và tính hiệu quả của hệ thống cần phát triển thay vì làm trên mơ hình thật trước khi triển khai trên thực tế. Từ Ví dụ 2.4, chúng ta có thể rút ra một phát biểu,hành động a thực hiện trong khoảng thời gian t có thỏa một tính chất P cho trước hay khơng?
Trên thực tế, các hành động xảy ra rời rạc theo một trình tự nào đó và được xem như một chuỗi các hành động. Khi gán nhãn thời gian cho từng hành động, thì tập hợp các hành động xảy ra trên từng thời điểm khác nhau cũng sẽ tạo thành một chuỗi sự kiện xảy ra trên trục thời gian. Để biểu diễn và xử lý những chuỗi sự kiện này, đã có nhiều cơng trình nghiên cứu và đề xuất như Timed Petri Nets [25], Đại số tiến trình thời gian (Timed process algebras) [26,27], Biểu thức chính quy thời gian (Timed Regular Expressions) [28,29], Lơgíc thời gian hệ mét (MTL) [6], lơgíc thời gian tuyến tính (LTL) [30] và Tính toán khoảng (Duration calculus) [31], v.v. Trong số các nghiên cứu về hệ thống thời gian thực, ơtơmát thời gian được nhóm tác giả Rajeev Alur và David L. Dill đề xuất trở thành kỹ thuật tốt nhất trong việc mơ hình hóa các chuỗi hành vi của hệ thống thời gian thực và là lý thuyết chính trong các cơng cụ kiểm chứng hệ thống thời gian thực [5]. Phần tiếp theo, luận án trình bày lần lượt các khái niệm, kiến thức về ơtơmát thời gian. Chúng ta xem xét ví dụ sau đây.
Ví dụ 2.5. Giả sử cho một máy bán đồ uống tự động, khách hàng nạp tiền với mệnh giá được quy định trước, gồm 50000, 20000 và 10000 đồng, vào máy. Các mặt hàng được bán đều có giá như nhau và bằng 10000 đồng. Máy sẽ kiểm tra tổng số tiền đã nạp và chuyển sang chế độ sẵn sàng cho khách hàng lựa chọn mặt hàng. Giả sử máy bán ba loại hàng là nước coca, cam ép và cà phê đóng lon. Khi khách hàng chọn loại hàng nào thì máy trả mặt hàng đó ra khay đựng cho người mua. Máy trả hàng cho đến khi tổng tiền của khách bằng 0.
Luận án sẽ thảo luận Ví dụ 2.5 theo hai trường hợp.
Trường hợp thứ nhất: Yếu tố thời gian không được xem xét. Khách hàng nạp tiền, sau đó chọn loại hàng cần mua và máy sẽ đáp ứng được yêu cầu. Như vậy toàn bộ hành động của máy được biểu diễn bằng một ôtômát hữu hạn trạng thái. Đặt ôtômát M biểu diễn máy bán hàng với tập trạng thái S = {S0, S1, S2, S3}, đặt tập các hành động của máy Σ =
{Coin, Orange, Coffee, Coca}. Trạng thái khởi tạo là S0 và đồ thị chuyển được minh họa trong Hình 2.4.
S1 S2 S3 Coc a Coin Coin Coc a S0 Orange Orange