Section: Overall Objectives
With the increasing need of self-managed systems and the emergence of multi-scale environments, software developers have to cope with variability. Software must be developed to be adapted and reconfigured automatically on heterogeneous platforms in accordance with the unavoidable evolution of information and communication technologies. Therefore, the adaptation is now considered as a first-class problem that must be taken into account throughout the entire software life-cycle.
An adaptive system is a software-intensive system that can adjust and respond to changes in its environment, evolving requirements, removal of obsolete technologies or introduction of new technologies, and new knowledge. The objective of the ADAM project-team is to provide a set of paradigms, approaches and frameworks based on advanced software engineering techniques, such as Component-Based Software Engineering (CBSE), Aspect-Oriented Software Development (AOSD), or Context-Aware Computing (CAC), to build distributed adaptive software systems evolving in multi-scale environments and to take into account the adaptation all along the software life-cycle. We propose to follow two research directions: the definition of adaptable component frameworks for middleware and the design of distributed applications for adaptive platforms.