Currently, the interest in Ambient Intelligence (or AmI) has increased exponentially due to the widespread use of portable devices. Users demand more and more functionality from these devices, especially in order to perform collaborative tasks and interchange information. As a result, this technology proposes new challenges that must be addressed by both the hardware manufacturers and Software Engineers. The first challenge is to provide a middleware platform providing specific AmI services like communication or device discovery and able to cope with several challenges posed by AmI applications. One of these challenges is to manage heterogeneity of devices that are present in AmI environments in a transparent way, and in particular to manage the evolution of such devices without breaking the code of already developed applications. Moreover, an AmI middleware platform has to support the evolution of the software architecture of AmI applications over time, making it possible to add new ...