Computational devices are becoming ubiquitous. Nowadays, with devices such as cellular phones, we can access and manipulate information at anytime, stored anywhere. In this ubiquitous computing scenario, it is common to require from these systems the ability to adapt as a response to changes in their operating environment, being therefore adaptive. However, adaptability often increases the comp...