Realtime and Embedded Systems

Realtime Systems

Learning Outcomes

  1. Explain the characteristics of a realtime system.
  2. Distinguish between a hard, soft, and firm realtime system.
  3. Explain the importance of a realtime systems.
  4. Explain 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.
Summarizing,
Hard RTOS: tight limits on response time, so that a delayed result is a wrong result. Ex: fuel injection system and camera shutter unit.
Soft RTOS: need to meet only time-average performance target. As long as most results are available before deadline the system will run successfully. Ex: audio and video transmission, single frame skip is fine, but repeated loss is unacceptable.
Firm RTOS: somewhere between the two. Ex: Space station solar panel unit, it has to open fully within certain time. Not meeting this limit results in less power to the space station.

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.
List of Three:
  1. Learn to access timberlake Linux system, basic linux commands
  2. Learn an editor or develpment environment
  3. Learn/Refresh C langauge basics

Embedded Systems

Learning Outcomes

  1. Explain the characteristics of a embedded system.
  2. Classify a system to be embedded, realtime and embedded-realtime system.
  3. Explore approaches to programming an embedded system. How is it different from that of programming non-embedded system?

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

An embedded system is a dedicated system. It is a special purpose system optimized for certain operation(s). Typically small, embedded within larger systems and with limits on power consumption. Embedded systems are computing systems with tightly coupled hardware and software integration. Multiple embedded systems can co-exist in a single system. General purpose processor are typically not aware of the applications: an embedded processor is application-aware. Can you think of examples for each of the above characteristics?

Special microcontroller is the main enabling technology for realtime as well as embedded systems.

Vending machines, mobiles phones, alarm systems, washing machines, motor car engine controllers, heart monitors, microwave ovens all operate using embedded microcontrollers running dedicated software.
Automobiles have special processors/controller called Electronic Control Units (ECU). In 2006, Lexus LS-460, had 100 ECUs embedded when all optional equipments are installed and about 7,000,000 lines of embedded code. Here is the ECU for Toyota Prius airbag module.

Realtime & Embedded Systems



Can you characterize the systems shown below?