Để đị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".
Nói chuyện tình cờ, hầu hết mọi người mặc nhiên 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 đến mức độ, nó biểu hiện cho họ với độ trễ (độ trễ) có thể liên quan đến tiền tệ được nhận biết của nó
• tức là, trong khung thời gian mà thông tin hoặc sự kiện có giá trị chấp nhận được đối với họ.
Có rất nhiều định nghĩa ad hoc 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 (như nhiệm vụ) có thời hạn hoàn thành, giá trị chấp nhận được của sự kiện mà 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 là tất cả các nhiệm vụ đều đáp ứng thời hạn.
Các hệ thống thời gian thực cứng đưa ra các giả định rất mạnh mẽ rằng mọi thứ về ứng dụng và hệ thống và môi trường đều tĩnh và được biết là 'tiên nghiệm, ví dụ: nhiệm vụ nào là thời gian đến, thời gian đến, thời hạn của chúng, mà chúng đã thắng Không có xung đột tài nguyên và tổng thể tiến hóa thời gian của hệ thống. Trong một hệ thống điều khiển 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 có tính 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 cung cấp bởi 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ỏ lỡ thời hạn
- hoặc không có nhiệm vụ nào quá 20%
- hoặc độ trễ trung bình của tất cả các nhiệm vụ không quá 15%
- hoặc độ 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 đơn nhiệm vụ đó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ị cho bạn và con bạn dựa trên thời điểm sự kiện đó diễn ra. Quá sớm lãng phí tài nguyê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, thời gian thực mềm chỉ đưa ra các giả định cụ thể cần thiết cho ứng dụng tối thiểu về các nhiệm vụ và hệ thống, và không chắc chắn được dự kiến. Để đón con, bạn phải lái xe đến trường và thời gian để làm điều đó là năng động 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 cho hệ thống của bạn (nghĩa là cho phép những gì bạn hy vọng là trường hợp lái xe tồi tệ nhất) nhưng một lần nữa điều này làm lãng phí tài nguyên (thời gian của bạn và chiếm dụng phương tiện 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ó thể không tốn kém về mặt tài nguyên 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ự 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 máy bay vào một phương tiện mặt đất thù địch bằng cách sử dụng một tên lửa được dẫn đường với các bản cập nhật cho nó như là cơ động mục tiêu. 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 một nỗ lực cung cấp quá mức các nguồn lực để đảm bảo chắc chắn về 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 các kịch bản chiến đấu có rất nhiều sự không chắc chắn năng động có thể phải được quản lý tài nguyên. 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ự, 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 thứ nguy hiểm và cấp bách nhất để đạt được giá trị chấp nhận được.
Chìa khóa của hệ thống thời gian thực là "khả năng dự đoán". Trường hợp thời gian thực cứng 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ể sẽ đạt được bởi sự kiện đó. Trường hợp đặc biệt đó được đặt tên là "xác định."
Có một phổ dự đoán; 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, khả năng dự đoán và do đó có thể được đưa ra gần với điểm cuối xác định khi cần thiết nhưng với giá có thể là không thể hoặc quá đắt (như trong chiến đấu hoặc thậm chí là đón con bạn đi học).
Thời gian thực mềm yêu cầu lựa chọn mô hình xác suất cụ thể theo ứng dụng (không phải mô hình thường xuyên phổ biến) và do đó mô hình dự đoán để suy luận về độ trễ sự kiện và giá trị kết quả.
Tham khảo lại danh sách các sự kiện cung cấp giá trị chấp nhận được ở 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ỏ lỡ thời hạn hơn 5% là lớn hơn 0,87.
Trong một ứng dụng phòng thủ tên lửa, với thực tế là trong chiến đấu, hành vi phạm tội luôn có lợi thế hơn so với phòng thủ, trong hai kịch bản điện toán thời gian thực này bạn sẽ thích:
bởi vì việc tiêu diệt hoàn toàn tất cả các tên lửa thù địch là rất khó xảy ra hoặc không thể, hãy giao tài nguyên phòng thủ của bạn để tối đa hóa khả năng nhiều tên lửa đe dọa nhất (ví dụ, dựa vào mục tiêu của chúng) sẽ bị chặn thành công (số lần đánh chặn gần có thể di chuyển tên lửa thù địch ra khỏi khóa học);
phàn nàn rằng đây không phải là vấn đề điện toán thời gian thực vì nó động thay vì tĩnh và các khái niệm và kỹ thuật thời gian thực truyền thống không áp dụng, vì vậy bạn không quan tâm đến việc thực hiện R & D cho thời gian thực mềm.
Mặc dù có những hiểu lầm khác nhau về thời gian thực mềm trong cộng đồng điện toán thời gian thực (nhưng không phải trong các lĩnh vực phi điện toán khác), thời gian thực mềm rất chung chung và mạnh mẽ, và có khả năng rất phức tạp so với thời gian thực cứng.
Để 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 nhiệm vụ sẽ đáp ứng thời hạn, thời gian phản hồi cuộc gọi hệ thống sẽ luôn nhỏ hơn x, v.v ... BẮT ĐẦU VÀ CHỈ NẾU các giả định rất mạnh được thực hiện và đúng tất cả mọi thứ quan trọng là tĩnh và được biết là 'tiên nghiệm (nói chung, các đảm bảo như vậy cho các hệ thống thời gian thực cứng là một vấn đề nghiên cứu mở trừ các trường hợp khá đơn giản)
theo một hệ thống thời gian thực mềm không đảm bảo tính xác định, nó nhằm cung cấp tính kịp thời xác suất tốt nhất có thể phân tích và khả năng dự đoán về tính kịp thời có thể khả thi trong các tình huống động hiện tại, theo các tiêu chí cụ thể của ứ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 các đảm bảo không xác định 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 nhất về an toàn như chiến đấu) vì hầu hết các trường hợp đều không tĩnh.
Tôi có một cuộc thảo luận chi tiết 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, tính dự đoán, tính xác định và các chủ đề liên quan trên trang web của tôi real-time.org .