Để định nghĩa "thời gian thực mềm", dễ nhất là so sánh nó với "thời gian thực cứng". Dưới đây chúng ta sẽ thấy rằng thuật ngữ "thời gian thực công ty" tạo thành sự hiểu lầm về "thời gian thực mềm".
Nói một cách ngẫu nhiên, hầu hết mọi người đều có một mô hình tinh thần không chính thức coi thông tin hoặc một sự kiện là "thời gian thực"
• nếu, hoặc trong phạm vi, nó biểu hiện với họ với độ trễ (độ trễ) có thể liên quan đến đơn vị tiền tệ được nhận thức của nó
• tức là, trong một khung thời gian mà thông tin hoặc sự kiện có giá trị thỏa đáng được chấp nhận đối với họ.
Có rất nhiều định nghĩa đặc biệt khác nhau về "thời gian thực cứng", nhưng trong mô hình tinh thần đó, thời gian thực cứng được biểu thị bằng thuật ngữ "nếu". Cụ thể, giả sử rằng các hành động trong thời gian thực (chẳng hạn như nhiệm vụ) có thời hạn hoàn thành, giá trị thỏa đáng có thể chấp nhận được của sự kiện tất cả các nhiệm vụ hoàn thành được giới hạn trong trường hợp đặc biệt mà tất cả các nhiệm vụ đều đáp ứng thời hạn của chúng.
Các hệ thống thời gian thực cứng đưa ra giả định rất mạnh mẽ rằng mọi thứ về ứng dụng, hệ thống và môi trường là tĩnh và được biết đến là 'tiên nghiệm - ví dụ: nhiệm vụ nào, chúng định kỳ, thời gian đến, thời gian, thời hạn của chúng, rằng chúng đã thắng 'không có xung đột tài nguyên và nói chung là sự phát triển theo thời gian của hệ thống. Trong hệ thống điều khiển chuyến bay của máy bay hoặc hệ thống phanh ô tô và nhiều trường hợp khác, những giả định đó thường có thể được thỏa mãn để tất cả các thời hạn sẽ được đáp ứng.
Mô hình tinh thần này đủ tổng quát một cách có chủ ý và rất hữu ích để bao gồm cả thời gian thực cứng và mềm - mềm được dùng cho cụm từ "đến mức độ đó". Ví dụ: giả sử rằng sự kiện hoàn thành nhiệm vụ có giá trị dưới mức tối ưu nhưng có thể chấp nhận được nếu
- không quá 10% nhiệm vụ bị bỏ lỡ thời hạn của chúng
- hoặc không có nhiệm vụ nào bị trễ hơn 20%
- hoặc mức độ trễ trung bình của tất cả các nhiệm vụ không quá 15%
- hoặc sự chậm trễ tối đa trong số tất cả các nhiệm vụ là dưới 10%
Đây là tất cả các ví dụ phổ biến về các trường hợp thời gian thực mềm trong rất nhiều ứng dụng.
Hãy xem xét ứng dụng một nhiệm vụ đưa đón con bạn sau giờ học. Điều đó có thể không có thời hạn thực tế, thay vào đó có một số giá trị đối với bạn và con bạn dựa trên thời điểm sự kiện đó diễn ra. Quá sớm sẽ lãng phí tài nguyên (chẳng hạn như thời gian của bạn) và quá muộn có một số giá trị tiêu cực vì con bạn có thể bị bỏ lại một mình và có khả năng gây hại (hoặc ít nhất là bất tiện).
Không giống như trường hợp đặc biệt thời gian thực cứng tĩnh, thời gian thực mềm chỉ tạo ra các giả định tối thiểu cần thiết cho các ứng dụng cụ thể về các nhiệm vụ và hệ thống, đồng thời dự kiến sẽ có sự không chắc chắn. Để đưa đón con bạn, bạn phải lái xe đến trường và thời gian để làm điều đó tùy thuộc vào thời tiết, điều kiện giao thông, v.v. Bạn có thể bị cám dỗ để cung cấp quá mức hệ thống của mình (nghĩa là cho phép những gì bạn hy vọng là trường hợp xấu nhất là thời gian lái xe) nhưng điều này lại gây lãng phí tài nguyên (thời gian của bạn và chiếm dụng xe của gia đình, có thể từ chối sử dụng bởi các thành viên khác trong gia đình).
Ví dụ đó có vẻ không tốn kém về tài nguyên bị lãng phí, nhưng hãy xem xét các ví dụ khác. Tất cả các hệ thống chiến đấu quân sự đều là thời gian thực mềm. Ví dụ: hãy xem xét thực hiện một cuộc tấn công của máy bay vào một phương tiện mặt đất thù địch bằng cách sử dụng tên lửa được dẫn đường với các bản cập nhật cho nó làm mục tiêu diễn tập. Sự hài lòng tối đa để hoàn thành các nhiệm vụ cập nhật khóa học đạt được bằng một cuộc tấn công hủy diệt trực tiếp vào mục tiêu. Nhưng nỗ lực cung cấp quá mức các nguồn lực để đảm bảo kết quả này thường là quá đắt và thậm chí có thể là không thể. Trong trường hợp này, bạn có thể ít hơn nhưng đủ hài lòng nếu tên lửa tấn công đủ gần mục tiêu để vô hiệu hóa nó.
Rõ ràng là các kịch bản chiến đấu có rất nhiều bất ổn động lực có thể xảy ra mà ban quản lý tài nguyên phải giải quyết. Các hệ thống thời gian thực mềm cũng rất phổ biến trong nhiều hệ thống dân sự, chẳng hạn như tự động hóa công nghiệp, mặc dù rõ ràng các hệ thống quân sự là những hệ thống cấp bách và nguy hiểm nhất để đạt được giá trị thỏa đáng có thể chấp nhận được.
Nền tảng của các hệ thống thời gian thực là "khả năng dự đoán". Trường hợp thời gian thực khó chỉ quan tâm đến một trường hợp đặc biệt có thể dự đoán được - tức là tất cả các nhiệm vụ sẽ đáp ứng thời hạn của chúng và giá trị tối đa có thể đạt được nhờ sự kiện đó. Trường hợp đặc biệt đó được đặt tên là "xác định".
Có một phổ khả năng dự đoán. Tính xác định (thuyết xác định) là một điểm cuối (khả năng dự đoán tối đa) trên phổ khả năng dự đoán; điểm cuối còn lại là khả năng dự đoán tối thiểu (tính không xác định tối đa). Số liệu và điểm cuối của phổ phải được giải thích theo mô hình khả năng dự đoán đã chọn; mọi thứ giữa hai điểm cuối đó là mức độ không thể đoán trước (= mức độ không xác định).
Hầu hết các hệ thống thời gian thực (cụ thể là các hệ thống mềm) có khả năng dự đoán không xác định, ví dụ, về thời gian hoàn thành nhiệm vụ và do đó các giá trị thu được từ các sự kiện đó.
Nói chung (về lý thuyết), khả năng dự đoán, và do đó giá trị thỏa đáng có thể chấp nhận được, có thể đạt được càng gần điểm cuối xác định càng tốt - nhưng ở một mức giá có thể là không thể thực hiện được hoặc quá đắt (như trong chiến đấu hoặc thậm chí có thể trong đón con đi học về).
Thời gian thực mềm yêu cầu lựa chọn mô hình xác suất dành riêng cho ứng dụng (không phải mô hình thường xuyên phổ biến) và do đó mô hình khả năng dự đoán để suy luận về độ trễ sự kiện và giá trị kết quả.
Quay lại danh sách các sự kiện cung cấp giá trị có thể chấp nhận ở trên, bây giờ chúng ta có thể thêm các trường hợp không xác định, chẳng hạn như
- xác suất để không có nhiệm vụ nào bị trễ thời hạn trên 5% là lớn hơn 0,87. (Lưu ý số lượng các tiêu chí lập lịch biểu được thể hiện trong đó.)
Trong ứng dụng phòng thủ tên lửa, với thực tế là trong chiến đấu tấn công luôn có lợi thế hơn phòng thủ, bạn sẽ thích tình huống nào trong hai kịch bản tính toán thời gian thực này:
bởi vì việc tiêu diệt hoàn hảo tất cả các tên lửa thù địch là rất khó hoặc không thể, hãy chỉ định các nguồn lực phòng thủ của bạn để tối đa hóa xác suất rằng nhiều tên lửa thù địch nhất (ví dụ: dựa trên mục tiêu của chúng) sẽ bị đánh chặn thành công (đánh chặn gần được tính vì nó có thể di chuyển tên lửa thù địch chệch hướng);
phàn nàn rằng đây không phải là vấn đề tính toán thời gian thực vì nó là động thay vì tĩnh, các khái niệm và kỹ thuật thời gian thực truyền thống không được áp dụng và nó nghe có vẻ khó hơn thời gian thực tĩnh cứng, vì vậy bạn không quan tâm đến nó .
Bất chấp những hiểu lầm khác nhau về thời gian thực mềm trong cộng đồng máy tính thời gian thực, thời gian thực mềm rất chung chung và mạnh mẽ, mặc dù có khả năng phức tạp so với thời gian thực cứng. Các hệ thống thời gian thực mềm như được tóm tắt ở đây có một lịch sử sử dụng thành công lâu dài bên ngoài cộng đồng máy tính thời gian thực .
Để trả lời trực tiếp câu hỏi OP:
Một hệ thống thời gian thực cứng có thể cung cấp các đảm bảo xác định — thông thường nhất là tất cả các tác vụ sẽ đáp ứng thời hạn của chúng, thời gian phản hồi cuộc gọi của hệ thống hoặc gián đoạn sẽ luôn nhỏ hơn x, v.v. — NẾU VÀ CHỈ NẾU các giả định rất mạnh được đưa ra và đúng rằng mọi thứ quan trọng là tĩnh và được biết đến là 'tiên nghiệm (nói chung, những đảm bảo như vậy đối với các hệ thống thời gian thực cứng là một vấn đề nghiên cứu mở ngoại trừ những trường hợp khá đơn giản)
Một hệ thống thời gian thực mềm không đưa ra các đảm bảo mang tính xác định, nó được thiết kế để cung cấp tính kịp thời xác suất hoàn thành và được xác định rõ nhất về mặt phân tích cũng như khả năng dự đoán về tính kịp thời khả thi trong các tình huống năng động hiện tại, theo các tiêu chí dành riêng cho ứng dụng.
Rõ ràng thời gian thực cứng là một trường hợp đặc biệt đơn giản của thời gian thực mềm. Rõ ràng là các đảm bảo không xác định trong phân tích thời gian thực mềm có thể rất phức tạp để cung cấp, nhưng là bắt buộc trong các trường hợp thời gian thực phổ biến nhất (bao gồm cả những trường hợp quan trọng về an toàn nguy hiểm nhất như chiến đấu) vì hầu hết các trường hợp thời gian thực là động không tĩnh.
"Thời gian thực chắc chắn" là một trường hợp đặc biệt chưa được xác định rõ của "thời gian thực mềm". Không cần thuật ngữ này nếu thuật ngữ "thời gian thực mềm" được hiểu và sử dụng đúng cách.
Tôi có một cuộc thảo luận chi tiết hơn, chính xác hơn nhiều về thời gian thực, thời gian thực cứng, thời gian thực mềm, khả năng dự đoán, thuyết xác định và các chủ đề liên quan trên trang web real-time.org của tôi.