Dependable Embedded Systems

General Information

Shrinking structure devices enabled the design and manufacturing of smaller and smaller, yet more and more powerful and at the same time affordable embedded systems. Given their use in both safety critical environments but also in the entertainment domain, we expect these systems to be dependable to avoid fatal accidents as well as disappointed customers, respectively. With these device structures, novel problems arise: There exist severe manufacturing tolerances and the structures themselves show an increasing susceptibility for aging and radiation effects. In fact, future embedded systems cannot be design based on the assumption of properly working components anymore – we need to design dependable embedded systems from unreliable components.

In this course, the students will (a) be introduced to typical faults and their causes that occur in embedded systems at the lowest levels of abstraction, (b) learn about countermeasures that can be applied at different levels, and (c) apply countermeasures and analyze their costs and effects to be able to design high-quality, i.e., dependable and cost-efficient, embedded systems.

Embedded systems typically consist of a combination of processors, hardware accelerators, and communication infrastructure. This course will at first introduce faults and their causes (e.g. radiation effects or aging effects like NBTI) that occur in the system components and then discuss how faults propagate in the system all the way up to the applications. Afterwards, focus is put on countermeasures that can be applied to enhance the system’s dependability. Here, different levels of abstraction like the circuit, register transfer, microarchitecture, and the system level and respective techniques that typically apply redundancy in either space or time to increase the reliability are covered. As will be shown, these techniques do not come for free, but their cost and effect needs to be considered. Thus, the lecture will introduce dependability analysis techniques (e.g. BDD- and success tree-based analysis) that enable to quantify the cost and benefits of applied techniques. Finally, the lecture will put emphasis on the aspect of design automation. Here, techniques for the automatic and efficient integration of dependability-enhancing techniques (e.g. based on meta-heuristics like Evolutionary Algorithms) across different levels of abstraction are introduced.

Education Objectives

The students can describe sources of faults and their consequences with respect to a level of abstraction. They can name different measures to improve the reliability of embedded systems, can distinguish between them and explain their advantages and disadvantages. The students can select between different reliability analysis techniques while considering their capabilities and complexity so to analyze a system on the proper level of abstraction. The students can derive a model of an embedded system and apply a reliability analysis technique.   

Leistungsnachweise und Notenbildung

Die Vergabe der Leistungspunkte erfolgt aufgrund des Bestehens der mündlichen Modulprüfung. Die Anmeldung zu dieser Prüfung setzt keinen Leistungsnachweis voraus. Die Modulnote entspricht dem Ergebnis der Modulprüfung.

Literature

  • Mukherjee, Shubu (2008). Architecture Design for Soft Errors. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc. ISBN: 9780123695291
  • Koren, Israel and C. Mani Krishna (2007). Fault-Tolerant Systems. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc. ISBN: 9780080492681
  • Segura, Jaume and Charles F. Hawkins (2004). CMOS Electronics: How It Works, How It Fails. John Wiley & Sons, Inc. ISBN: 0471476692