With the increasing need of self-managed systems and the emergence of multi-scale environments, software developers need 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 take into account throughout the 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 CBSE (Component-Based Software Engineering), AOSD (Aspect-Oriented Software Development) or CAC (Context-Aware Computing) to build distributed adaptive software systems involving 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.
The ADAM project-team originates from the INRIA Jacquard project (2003-2006).