Actual applications (mostly component based) requirements cannot be expressed
without a ubiquitous and mobile part for end-users as well as for M2M
applications (Machine to Machine). Such an evolution implies context management
in order to evaluate the consequences of the mobility and corresponding
mechanisms to adapt or to be adapted to the new environment. Applications are
then qualified as context aware applications. This first part of this paper
presents an overview of context and its management by application adaptation.
This part starts by a definition and proposes a model for the context. It also
presents various techniques to adapt applications to the context: from
self-adaptation to supervised approached. The second part is an overview of
architectures for adaptable applications. It focuses on platforms based
solutions and shows information flows between application, platform and
context. Finally it makes a synthesis proposition with a platform for adaptable
context-aware applications called Kalimucho. Then we present implementations
tools for software components and a dataflow models in order to implement the
Kalimucho platform.