title: Differences between hard real-time, soft real-time, and firm real-time?
body: <p>I have read the definitions for the <a href="http://en.wikipedia.org/wiki/Real-time_computing">different notions of real-time</a>, and the examples provided for hard and soft real-time systems make sense to me. But, there is no real explanation or example of a firm real-time system. According to the link above:</p>
  
  <blockquote>
    <p><strong>Firm:</strong> Infrequent deadline misses are tolerable, but may degrade the system's quality of service. The usefulness of a result is zero after its deadline.</p>
  </blockquote>
  
  <p>Is there a clear distinction between firm real-time vs. hard or soft real-time, and is there a good example that illustrates that distinction?</p>
  
  <p>In comments, Charles asked that I submit tag wikis for the new tags. The example of a "firm real-time system" I provided for the <a href="/questions/tagged/firm-real-time" class="post-tag" title="show questions tagged 'firm-real-time'" rel="tag">firm-real-time</a> tag was a milk serving system. If the system delivers milk after its expiration time, then the milk is considered "not useful". One can tolerate eating cereal without milk, but the quality of the experience is degraded.</p>
  
  <p>This is just the idea I formed in my head when I initially read the definition. I am looking for a much better example, and perhaps a better definition of <em>firm real-time</em> that will improve my notion of it.</p>