ในการกำหนด "ซอฟต์เรียลไทม์" ให้เปรียบเทียบกับ "ฮาร์ดเรียลไทม์" ได้ง่ายที่สุด ด้านล่างเราจะเห็นว่าคำว่า "เรียลไทม์ที่แท้จริง" ถือเป็นการเข้าใจผิดเกี่ยวกับ "ซอฟต์เรียลไทม์"
การพูดแบบสบาย ๆ คนส่วนใหญ่มักมีแบบจำลองทางจิตที่ไม่เป็นทางการซึ่งพิจารณาข้อมูลหรือเหตุการณ์ว่าเป็น "เรียลไทม์"
•ถ้าหรือในขอบเขตที่แสดงให้พวกเขาเห็นด้วยความล่าช้า (เวลาแฝง) ที่อาจเกี่ยวข้องกับสกุลเงินที่รับรู้
•กล่าวคือในกรอบเวลาที่ข้อมูลหรือเหตุการณ์มีคุณค่าที่น่าพอใจสำหรับพวกเขา
มีคำจำกัดความเฉพาะกิจที่แตกต่างกันมากมายของ "ฮาร์ดเรียลไทม์" แต่ในแบบจำลองทางจิตนั้นฮาร์ดเรียลไทม์จะแสดงด้วยคำว่า "if" โดยเฉพาะสมมติว่าการดำเนินการแบบเรียลไทม์ (เช่นงาน) มีกำหนดเวลาเสร็จสมบูรณ์มูลค่าที่น่าพอใจที่ยอมรับได้ของเหตุการณ์ที่งานทั้งหมดเสร็จสมบูรณ์นั้น จำกัด เฉพาะกรณีพิเศษที่งานทั้งหมดตรงตามกำหนดเวลา
ระบบฮาร์ดเรียลไทม์ทำให้เกิดข้อสันนิษฐานที่ชัดเจนว่าทุกอย่างเกี่ยวกับแอปพลิเคชันและระบบและสภาพแวดล้อมเป็นแบบคงที่และเป็นที่รู้จักกันว่าเป็น 'พื้นฐานเช่นงานใดที่เป็นช่วงเวลาที่มาถึงช่วงเวลากำหนดเวลาที่พวกเขาชนะ ไม่มีความขัดแย้งด้านทรัพยากรและวิวัฒนาการด้านเวลาโดยรวมของระบบ ในระบบควบคุมการบินของเครื่องบินหรือระบบเบรกยานยนต์และในกรณีอื่น ๆ อีกมากมายโดยปกติสมมติฐานเหล่านี้สามารถเป็นที่พอใจเพื่อให้เป็นไปตามกำหนดเวลาทั้งหมด
แบบจำลองทางจิตนี้มีความจงใจและมีประโยชน์มากพอที่จะครอบคลุมทั้งแบบเรียลไทม์แบบแข็งและแบบอ่อน - แบบอ่อนสามารถรองรับได้โดยวลี "เท่าที่" ตัวอย่างเช่นสมมติว่าเหตุการณ์ที่เสร็จสมบูรณ์ของงานมีค่าต่ำสุด แต่ยอมรับได้ถ้า
- ไม่เกิน 10% ของงานที่พลาดกำหนดเวลา
- หรือไม่มีงานใดที่ล่าช้าเกิน 20%
- หรือความล่าช้าโดยเฉลี่ยของงานทั้งหมดไม่เกิน 15%
- หรือความล่าช้าสูงสุดในงานทั้งหมดน้อยกว่า 10%
ทั้งหมดนี้เป็นตัวอย่างทั่วไปของเคสแบบเรียลไทม์ที่นุ่มนวลในแอปพลิเคชันมากมาย
พิจารณาการใช้งานเดียวในการรับบุตรหลานของคุณหลังเลิกเรียน นั่นอาจไม่มีกำหนดเวลาที่แท้จริง แต่กลับมีค่าสำหรับคุณและบุตรหลานของคุณตามเวลาที่เหตุการณ์นั้นเกิดขึ้น เสียทรัพยากรเร็วเกินไป (เช่นเวลาของคุณ) และสายเกินไปมีคุณค่าเชิงลบเนื่องจากบุตรหลานของคุณอาจถูกทิ้งไว้ตามลำพังและอาจเป็นอันตราย (หรืออย่างน้อยก็ไม่สะดวก)
ซึ่งแตกต่างจากกรณีพิเศษแบบเรียลไทม์แบบคงที่แบบเรียลไทม์แบบซอฟต์เรียลไทม์ทำให้เกิดข้อสันนิษฐานเฉพาะแอปพลิเคชันขั้นต่ำที่จำเป็นเกี่ยวกับงานและระบบเท่านั้นและคาดว่าจะมีความไม่แน่นอน ในการไปรับบุตรหลานของคุณคุณต้องขับรถไปโรงเรียนและเวลาในการดำเนินการนั้นเป็นแบบไดนามิกขึ้นอยู่กับสภาพอากาศสภาพการจราจร ฯลฯ คุณอาจถูกล่อลวงให้จัดเตรียมระบบของคุณมากเกินไป (กล่าวคือยอมให้สิ่งที่คุณหวังไว้คือ กรณีที่เลวร้ายที่สุดในการขับรถ) แต่อีกครั้งนี่เป็นการสิ้นเปลืองทรัพยากร (เวลาของคุณและการครอบครองยานพาหนะของครอบครัวอาจเป็นการปฏิเสธการใช้งานโดยสมาชิกในครอบครัวคนอื่น ๆ )
ตัวอย่างนั้นอาจดูเหมือนจะไม่เสียค่าใช้จ่ายในแง่ของทรัพยากรที่สูญเปล่า แต่ลองพิจารณาตัวอย่างอื่น ๆ ระบบการต่อสู้ทางทหารทั้งหมดเป็นแบบเรียลไทม์ที่นุ่มนวล ตัวอย่างเช่นพิจารณาปฏิบัติการโจมตีอากาศยานบนยานพาหนะภาคพื้นดินที่ไม่เป็นมิตรโดยใช้ขีปนาวุธนำวิถีพร้อมอัปเดตเป็นเป้าหมายการซ้อมรบ ความพึงพอใจสูงสุดสำหรับการทำภารกิจการอัปเดตหลักสูตรให้เสร็จสมบูรณ์นั้นเกิดจากการโจมตีทำลายเป้าหมายโดยตรง แต่ความพยายามในการจัดหาทรัพยากรมากเกินไปเพื่อให้แน่ใจว่าผลลัพธ์นี้มักจะแพงเกินไปและอาจเป็นไปไม่ได้ด้วยซ้ำ ในกรณีนี้คุณอาจพอใจน้อยลง แต่เพียงพอหากขีปนาวุธพุ่งเข้าใกล้เป้าหมายมากพอที่จะปิดการใช้งาน
เห็นได้ชัดว่าสถานการณ์การต่อสู้มีความไม่แน่นอนแบบไดนามิกมากมายที่เป็นไปได้ซึ่งต้องได้รับการจัดการโดยการจัดการทรัพยากร ระบบซอฟต์เรียลไทม์ยังพบได้บ่อยในระบบพลเรือนหลายระบบเช่นระบบอัตโนมัติในอุตสาหกรรมแม้ว่าระบบทหารจะเป็นระบบที่อันตรายและเร่งด่วนที่สุดเพื่อให้ได้มูลค่าที่น่าพอใจเป็นที่ยอมรับ
หลักสำคัญของระบบเรียลไทม์คือ "ความสามารถในการคาดการณ์" กรณีแบบเรียลไทม์ที่ยากจะสนใจในกรณีพิเศษของการคาดการณ์เพียงกรณีเดียวนั่นคืองานทั้งหมดจะเป็นไปตามกำหนดเวลาและมูลค่าสูงสุดที่เป็นไปได้จะบรรลุได้จากเหตุการณ์นั้น กรณีพิเศษนั้นมีชื่อว่า "ดีเทอร์มินิสติก"
มีสเปกตรัมของความสามารถในการคาดเดา การกำหนด (ดีเทอร์มินิซึม) คือจุดสิ้นสุดจุดหนึ่ง (ความสามารถในการคาดเดาสูงสุด) บนสเปกตรัมการทำนาย จุดสิ้นสุดอื่น ๆ คือความสามารถในการคาดเดาขั้นต่ำ (ความไม่กำหนดสูงสุด) เมตริกและจุดสิ้นสุดของสเปกตรัมจะต้องถูกตีความในรูปแบบการคาดการณ์ที่เลือกไว้ ทุกอย่างระหว่างจุดสิ้นสุดทั้งสองนี้คือองศาของความไม่สามารถคาดเดาได้ (= องศาของการไม่กำหนดปัจจัย)
ระบบเรียลไทม์ส่วนใหญ่ (กล่าวคือระบบอ่อน) มีความสามารถในการคาดการณ์ที่ไม่สามารถกำหนดได้ตัวอย่างเช่นเวลาที่งานเสร็จสมบูรณ์และด้วยเหตุนี้ค่าที่ได้รับจากเหตุการณ์เหล่านั้น
โดยทั่วไป (ในทางทฤษฎี) ความสามารถในการคาดการณ์และด้วยเหตุนี้มูลค่าที่น่าพอใจที่ยอมรับได้สามารถทำได้ใกล้เคียงกับจุดสิ้นสุดที่กำหนดได้ตามความจำเป็น แต่ในราคาที่อาจเป็นไปไม่ได้ทางกายภาพหรือมีราคาแพงเกินไป (เช่นในการต่อสู้หรือบางทีอาจจะอยู่ใน รับลูกของคุณจากโรงเรียน)
ซอฟต์เรียลไทม์ต้องการตัวเลือกเฉพาะแอปพลิเคชันสำหรับโมเดลความน่าจะเป็น (ไม่ใช่แบบจำลองที่พบบ่อย) และด้วยเหตุนี้โมเดลความสามารถในการคาดการณ์สำหรับการให้เหตุผลเกี่ยวกับเวลาแฝงของเหตุการณ์และค่าผลลัพธ์
อ้างถึงรายการเหตุการณ์ข้างต้นที่ให้ค่าที่ยอมรับได้ตอนนี้เราสามารถเพิ่มกรณีที่ไม่ได้กำหนดได้เช่น
- ความเป็นไปได้ที่จะไม่มีงานใดที่จะพลาดกำหนดเวลามากกว่า 5% นั้นมากกว่า 0.87 (สังเกตจำนวนเกณฑ์การจัดตารางเวลาที่แสดงในนั้น)
ในแอปพลิเคชันการป้องกันขีปนาวุธเนื่องจากข้อเท็จจริงที่ว่าในการต่อสู้กับการกระทำความผิดมักจะได้เปรียบกว่าการป้องกันเสมอซึ่งในสถานการณ์การประมวลผลแบบเรียลไทม์ทั้งสองนี้คุณต้องการ:
เนื่องจากการทำลายขีปนาวุธศัตรูทั้งหมดอย่างสมบูรณ์แบบนั้นไม่น่าจะเป็นไปได้หรือเป็นไปไม่ได้มากให้มอบหมายทรัพยากรในการป้องกันของคุณเพื่อเพิ่มความเป็นไปได้สูงสุดที่ขีปนาวุธที่คุกคามมากที่สุดเท่าที่จะทำได้ (เช่นตามเป้าหมาย) จะถูกสกัดกั้นได้สำเร็จ สามารถเคลื่อนย้ายขีปนาวุธนอกเส้นทางได้);
บ่นว่านี่ไม่ใช่ปัญหาการประมวลผลแบบเรียลไทม์เนื่องจากเป็นแบบไดนามิกแทนที่จะเป็นแบบคงที่และไม่ใช้แนวคิดและเทคนิคเรียลไทม์แบบดั้งเดิมและฟังดูยากกว่าเรียลไทม์แบบคงที่ดังนั้นคุณจึงไม่สนใจ .
แม้จะมีความเข้าใจผิดหลายประการเกี่ยวกับซอฟต์เรียลไทม์ในชุมชนคอมพิวเตอร์แบบเรียลไทม์ แต่ซอฟต์เรียลไทม์นั้นมีอยู่ทั่วไปและทรงพลังแม้ว่าอาจจะซับซ้อนเมื่อเทียบกับฮาร์ดเรียลไทม์ก็ตาม ระบบซอฟต์เรียลไทม์ที่สรุปไว้ที่นี่มีประวัติการใช้งานที่ยาวนานที่ประสบความสำเร็จนอกชุมชนคอมพิวเตอร์แบบเรียลไทม์
เพื่อตอบคำถาม OP โดยตรง:
ระบบเรียลไทม์ที่ยากสามารถให้การรับประกันที่กำหนดได้โดยทั่วไปแล้วงานทั้งหมดจะตรงตามกำหนดเวลาการขัดจังหวะหรือเวลาในการตอบสนองการโทรของระบบจะน้อยกว่า x เป็นต้นเสมอ - ถ้ามีและเฉพาะในกรณีที่มีการตั้งสมมติฐานที่รัดกุมมากและถูกต้องว่า ทุกสิ่งที่มีความสำคัญเป็นแบบคงที่และเป็นที่รู้จักกันดี (โดยทั่วไปแล้วการรับประกันดังกล่าวสำหรับระบบเรียลไทม์ที่ยากเป็นปัญหาการวิจัยแบบเปิดยกเว้นกรณีที่ค่อนข้างง่าย)
ระบบเรียลไทม์ที่นุ่มนวลไม่ได้ให้การรับประกันแบบกำหนดได้มีจุดมุ่งหมายเพื่อให้ความตรงตามเวลาที่กำหนดในเชิงวิเคราะห์และความสำเร็จและความสามารถในการคาดการณ์ความตรงตามเวลาที่เป็นไปได้ที่เป็นไปได้ภายใต้สถานการณ์แบบไดนามิกในปัจจุบันตามเกณฑ์เฉพาะของแอปพลิเคชัน
เห็นได้ชัดว่าฮาร์ดเรียลไทม์เป็นกรณีพิเศษที่เรียบง่ายของซอฟต์เรียลไทม์ เห็นได้ชัดว่าการรับประกันแบบไม่กำหนดปัจจัยเชิงวิเคราะห์แบบเรียลไทม์ที่นุ่มนวลอาจมีความซับซ้อนมากในการจัดหา แต่มีผลบังคับใช้ในกรณีเรียลไทม์ที่พบบ่อยที่สุด (รวมถึงกรณีที่มีความสำคัญต่อความปลอดภัยที่อันตรายที่สุดเช่นการต่อสู้) เนื่องจากกรณีเรียลไทม์ส่วนใหญ่เป็นแบบไดนามิกไม่ คงที่.
"Firm real-time" เป็นกรณีพิเศษของ "soft real-time" ไม่จำเป็นต้องใช้คำนี้หากเข้าใจและใช้คำว่า "ซอฟต์เรียลไทม์" อย่างเหมาะสม
ฉันมีรายละเอียดเพิ่มเติมเกี่ยวกับการสนทนาแบบเรียลไทม์แบบเรียลไทม์แบบเรียลไทม์แบบเรียลไทม์แบบเรียลไทม์การคาดเดาการกำหนดปัจจัยและหัวข้อที่เกี่ยวข้องอย่างละเอียดมากขึ้นในเว็บไซต์ real-time.org ของฉัน