Keynote slides (1.4MB)
ADAPTIVITY IN EMBEDDED SYSTEMS - WHY, WHAT AND HOW
Karl-Erik Arzen, Lund University, Sweden
An embedded hardware-software system is adaptive, if it can modify its behaviour and/or architecture to changing requirements. Adaptivity is increasingly important as the complexity and autonomy of embedded systems increases. Adaptivity is required both off-line at design-time and on-line at run-time. Off-line adaptivity is required to handle changing system specifications and to support platform-based or product-family based development. On-line adaptivity is required to be able to dynamically respond to changing conditions and contexts and through this improve performance and resource utilisation. The changes can involve different types of resource requirements, changing system objectives, and changing external conditions. Adaptivity is a cross-cutting system characteristic that affects both hardware and software. At the software-level adaptivity is mainly concerned with flexible and adaptive resource scheduling, e.g., CPU time scheduling. At the hardware-level adaptivity includes both adaptation of operation modes, e.g., supply voltage and clock frequency, and dynamic management of hardware resources, e.g., processing elements and memory. This keynote will discuss why we need adaptivity in embedded systems, what we really mean by adaptivity and give example of how adaptivity can be achieved. The relations between adaptivity, robustness, sustainability, predictability and dependability will be discussed. Connections will be made between adaptivity in embedded systems and adaptivity in the field of control.