Embedded systems must interact with their real-time environment in a timely and dependable fashion. Most embeddedsystems architectures and design processes consider “nonfunctional” properties such as time, energy, and reliability as an afterthought, when functional correctness has (hopefully) been achieved. As a result, embedded systems are often fragile in their real-time behaviour, and take longer to design and test than planned. Several techniques have been proposed to make real-time embedded systems more robust, and to ease the process of designing embedded systems:
Christoph M. Kirsch, Ana Sokolova