Nowadays, the definition of service is demanding machines to turn into human beings. In order to work efficiently, machines
need to analyze current situations, perceive user needs and provide users with intelligent, automatic and proactive adaptation
that responds to current contexts. System performance will be guaranteed only if we add new features to its behavior, such
as: self-adaptation, self-organization, self-configuring, selfhealing, self-optimizing and self-protecting. These challenging
automated processes can produce proactive behavior if software engineers change the engineering logic and use the environment
context as a solution instead of thinking about it as an obstacle.
Keywords Pervasive systems - ubiquitous computing - software engineering - adaptation - context-awareness