ADAM Research team
Adaptive Distributed Applications and Middleware
- Leader : Lionel Seinturier
- Type : Project team
- Research center(s) : Lille
- Field : Networks, Systems and Services, Distributed Computing
- Theme : Distributed Systems and Services
- Université des sciences et technologies de Lille (Lille 1), Laboratoire d'informatique fondamentale de Lille (LIFL) (UMR8022)
Team presentationThe project-team ADAM (Adaptive Distributed Applications and Middleware) deals with the concepts and tools for the adaptation of applications and middleware in distributed multi-scale environments.
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 taken 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.
- Adaptable Component Frameworks for Middleware : The research challenge that we propose here is to define and develop middleware and associated services which could be adapted to a broad range of environments from grid computing, to Internet-based applications, to local networks, to mobile applications on PDA's and smart phones, to embedded systems. The benefits of that are two-fold. First, it enables the easier deployment of mobile applications in different environments by taking advantage of the common ground provided by adaptable middleware. Second, middleware is a rapidly changing domain where new technologies appear frequently. Yet, up to now, each new technological shift has imposed a complete re-development of the middleware. Having a common ground on which middleware is built would help in such transitions by fostering reuse. In terms of industrial output, the impact of these results will also be helpful for software editors and companies to adapt their products more rapidly to new and emerging middleware technologies.
- Distributed Applications Design for Adaptive Platforms : The research challenge is to consider the adaptation at the first stage of the application design, in the way of a better anticipation of these adaptations. The paradigms of software engineering such as component-based development, aspect-oriented software development, or context-aware computing, are as many means which already help in the design of adaptable software, via techniques of composition, reflection or of modeling or generative programming. In this second challenge, we plan to study dynamic points of variation in applications and in their modeling. We will propose modeling processes and architecture description considering adaptation. In the first steps of design, we will take into account the evolution of the user requirements or technological developments. These approaches must consider the modeling of the context, such as execution, location or using context, in which the application will be carried out, but also the adaptive mechanisms themselves. The second step of this challenge will be to implement design processes which maintain coherence between the various stages of modeling in a MDE approach of the applications, as well as maintaining coherence between the phases of modeling and implementation. For that, we will design and realize tools which will allow traceability and checking of coherence between models, and between models and the execution.
International and industrial relations
- Associate INRIA team on Aspect-Oriented Software Development in Langages, Compoents and Architectures with the Prog-Ssel team from Vrije Universiteit Brussel,
- Project and collaborations :
- The Network of Excellence on AOSD (Aspect-Oriented Software Development)
- The belgium IAP (Interuniversity Attravtion Poles) MOVES ( Fundamental Issues in Software Engineering : Modeling, Verification and Evolution of Software),
- The ITEA S4ALL (Services-for-All) project,
- The ObjectWeb Consortium,
- The ERCIM Working Group Software Evolution,
- The ICT Asia,
- The CPER MOSAIQUES (Models and Frameworks for ubiquitous Applications) project,
- The ARA SI (security and computing) REVE (safe reuse of embedded components in heterogeneous environments)
- The RNTL FAROS (composition of contracts for the safety of service-oriented architectures)
- The RNTL JonES (open source distributed Enterprise Software Bus)
- The RNTL Flex-eWare (defining an open and adaptable middleware platform for component-based applications in the domain of embedded systems)
- The RNTL SCOrWare (Studying complementariness between Service-Oriented Architectures and Architectural component-based approaches)
- Industrial collaborations : With France-Telecom R&D for weaving components and aspects in software architectures.
Research teams of the same theme :
- ACES - Ambient computing and embedded systems
- ARLES - Software architectures and distributed systems
- ASAP - As Scalable As Possible: foundations of large scale dynamic distributed systems
- ASCOLA - Aspect and composition languages
- ATLANMOD - Modeling Technologies for Software Production, Operation, and Evolution
- CIDRE - Confidentialité, Intégrité, Disponibilité et Répartition
- FOCUS - Foundations of Component-based Ubiquitous Systems
- INDES - Secure Diffuse Programming
- LOGNET - Logical Networks: Self-organizing Overlay Networks and Programmable Overlay Computing Systems
- MYRIADS - Design and Implementation of Autonomous Distributed Systems
- OASIS - Active objects, semantics, Internet and security
- PHOENIX - Programming Language Technology For Communication Services
- POPS - System and Networking for Portable Objects Proved to be Safe
- PRIVATICS - Privacy Models, Architectures and Tools for the Information Society
- REGAL - Large-Scale Distributed Systems and Applications
- RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
- SCORE - Services and Cooperation
- TRISKELL - Reliable and efficient component based software engineering