Most of today’s embedded systems are required to work in dynamic environments, where the characteristics of the computational load cannot always be predicted in advance. Still timely responses to events have to be provided within precise timing constrains in order to guarantee a desired level of performance. The combination of real-time features in dynamic environments, together with cost and resource constraints, creates new problems to be addressed in the design of such systems, at different architecture levels.

To cope with dynamic environments, a system must be adaptive; that is, it must be able to adjust its internal strategies in response to a change in the environment, to keep the system performance at a desired level. Implementing adaptive embedded systems requires specific support at different levels of the software architecture. The most important component affecting adaptiveness is the kernel; however, flexibility can also be introduced above the operating system, in a software layer denoted as a middleware, and also in the programming language used to develop the application. Some embedded systems are large and distributed among several computing nodes. In these cases, special network methodologies are needed to achieve adaptive behavior and predictable response. Often such a support cannot be found in today’s commercial software.

(c) Artist Consortium, All Rights Reserved - 2006, 2007, 2008, 2009

Réalisation Axome - Création de sites Internet