Lecture Notes

Realtime Systems

What is a realtime system? How is it different from any other systems that we have designed and implemented in earlier courses?


Realtime systems (RTS) are deadline-driven. It could be a starting deadline or an ending deadline: starting deadline as in a train leaving a station; completetion deadline as in complete opening of a valve in a industrial process. RTS are required to deliver not only correct results but also within a specified time limit. Heart pacemaker delivering a pulse periodically to the heart muscles is an example of a realtime system. Traffic light controller is another example of a realtime system. If the red, green and amber lights are not turned on and turned off at expected times, that may result in traffic chaos.
The recent "chip-based" credit card system is meant to be a RTS but it takes a few minutes vs. a few seconds it took for swiping the card to be go through the approval process. The time it takes is an annoynance. Businesses would really like it to be realtime. Here is a quote from Quora. "...the current system is not optimized for speed. It was designed to let the card self authenticate and authorize a transaction without the need for a dial out or connection to an authorization system." Businesses are working to improve the technology to minimize the approval time from 6 minutes to few seconds, near realtime.

In the above discussion, the heart pacemaker is a hard RTS, chip-based credit card controller is a soft RTS and the traffic light contriller is a firm RTS based on the stringency in meeting their deadline. Lets discuss this. If the heart pacemaker does not deliver the electric pulse on time, arrythmia may occur resulting in a serious condition for the patient. In the case of the traffic light if the switching does not occur on time, signals to the lights go out of synchronization; police or citizens have to manually regulate the traffic. It is very important the light controller RTS perform as expected, howver there is an alternative (though cumbersome) to handle the exceptional situation. In the case of the chip-based card, the consequence is a long delay testing the patience of the customers.
Hard RTS has very strict limits on response time, any result that does not meet the limit is a wrong result. E.g. Camera shutter. Soft RTS exhibits tolerance for delays. E.g. parts of video transmission arriving late resulting missing pixels. You are still able to figure the video as long as it is just a few pixels. A firm RTS is in between the two. If the deadline or limit is not met, we need to apply alternate measures. E.g. Network connections. When it times out, we retry.

Why is it important that we study realtime systems?

RTS are pervasive, they are a part of many devices, applications and services that we use everyday. Many of these systems operate at the interface of hardware and software, providing opportunities for innovative solutions, especially with explosion of advances in technologies. You can be part of this significant trend. Now is the best of times to be working in RTS design and implementation.

Questions

  1. Name 5 RTS discussed in this section?
  2. Provide two examples each for (i) hard (ii) soft and (iii) firm.

Embedded Systems

What is an embedded systems? How is it different from a common computers and computing devices?