Building Feedback Control Loops for Self-Adaptive Very-Large-Scale Environments
Supervision
- Romain Rouvoy (Associate Professor - ADAM research group)
- Lionel Seinturier (Professor - ADAM research group)
Host
ADAM Research GroupINRIA Lille - Nord Europe
Parc Scientifique de la Haute Borne
40, avenue Halley - Bat. A, Park Plaza
59650 Villeneuve d'Ascq - FRANCE
Context
INRIA, the national institute for research in computer science and control, is dedicated to fundamental and applied research in information and communication science and technology (ICST). Throughout its eight research centres located in seven major regions (Aquitaine, Bretagne, Lorraine, Île-de-France, Nord Pas-de-Calais, Provence Alpes Côte d’Azur, Rhône-Alpes), the Institute has a workforce of 3,700, 2,900 of whom are scientists from INRIA and its partner organizations. INRIA has an annual budget of 162 million euros, 20% of which comes from its own research contracts and development products. INRIA develops many partnerships with industry and fosters technology transfer and company foundations in the field of ICST - some eighty companies have been funded. Startups are financed in particular by INRIA Transfert, a subsidiary of INRIA that supports four startup funds. The international collaborations are based on an incentive strategy of welcoming and recruiting foreign students as well as developing strong exchanges between research scientists. Priority is given to geographic zones with strong growth: Europe, Asia and North America while maintaining reasonable cooperation with South America, Africa and Middle-East.
ADAM is a project-team of the INRIA Lille Nord Europe research center. Members of the ADAM project-team are also part of the LIFL (Laboratoire d'Informatique Fondamentale de Lille) which is a joint unit between CNRS and the University of Lille 1. The objective of the ADAM (Adaptive Distributed Applications and Middleware) project-team is to provide a set of concepts, paradigms, approaches, frameworks, and tools 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 (applications and middleware) involving in multi-scale environments and to take into account the adaptation all along the software life-cycle. The ADAM project-team proposes solutions to manage the evolution of application requirements in terms of functional and extra-functional properties either at the level of execution platforms or at the design level. The ADAM project-team applies them to component-based and service-oriented computing distributed applications and platforms.
Project
Service-Oriented Architectures (SOA) have fostered the deployment of large-scale Information Systems (IS) by enabling the definition and the execution of business services orchestration. Nonetheless, these orchestration are rather static and offer a restricted capacity to encompass the variations in the provisioning of the involved services. This limitation usually leads to the failure of the business processes and may have critical impacts on the enterprise IS. Recent technologies, such as the Service Component Architecture (SCA) [1], are defining a language-neutral programming model that meets the needs of enterprise developers who are developing software that exploits SOA characteristics and benefits. In particular, SCA offer a more flexible approach for supporting the service orchestrations by isolating them as reusable components. These components can support the evolution of the surrounding environment and be reconfigured in order to replace the deficient service(s). Some SCA platforms, such as FraSCAti [2], push the limits even further these limits by reconfiguring dynamically the SCA assemblies at run-time. However, the available mechanisms fail to scale when considering the deployment of IS in large-scale environments (Grid, Internet...) and when the end-user expectations should be coordinated with the service provider objectives.
Therefore, the objectives of this PhD thesis are twofold. On the one hand, the construction of distributed control loops should be addressed to enable the realization of large-scale adaptations. These control loops should be able to make decisions about the adaptations to perform in several places of the system—from high-level service composition to low-level resource tuning. These control loops should also be self-adaptive in order to support the sustainability of the systems they control. To address these issues, we believe that approaches, such as FraSCAti and COSMOS [3] can offer relevant foundations for enabling large-scale self-adaptations. On the other hand, new trends of adaptation rules should be defined in order to cope with the complexity of the adapted systems. Concerns, such as user expectations, service providers policies, resource availability, need to be integrated in the decision making process, which should exhibit dependability properties in order to ensure the reliability of the adaptation process. We believe that these mechanisms can be based on a combination of fuzzy logic [4] , business rules [5], and constraint programming [6].
Agenda
The thesis will be organized as follows:Studying the state-of-the-art in the domain of context processing (stabilization, prediction, distribution), decision making (inference engine, constraint solving, utility functions, fuzzy logic, etc.), and dynamic reconfigurations (e.g., hardware, resources, protocols, middleware, applications). The study will particularly focus on the dependability, scalability, temporal, and quality issues of the related works in these domains;
Proposing a distributed control loop infrastructure for inferring efficiently adaptation situations and operating the associated adaptations. This infrastructure will integrate dependability properties. The infrastructure will be deployed in a large-scale environment and implemented as an extension of the COSMOS context middleware;
Defining a versatile adaptation model for supporting the adaptation of large-scale SOA. This model will support distributed adaptations via the integration of multiple decision making techniques. The resulting model will be implemented as a modular adaptation middleware;
Validating the comprehensive approach by integrating the proposed contributions, developing a demonstrating scenario, and deploying the resulting system in a large-scale environment.
The 1st step will be accomplished from M0 to M6 and updated during M18 and M36 depending on evolutions in the state-of-the-art of this domain. The 2nd and 3rd steps will start during M3 and an initial version of the infrastructure is expected by M12. This infrastructure will be refined at M24 and M36. The 4th step will be initiated at M12 and an initial version of the adaptation scenario is expected by M24. The scenario will be finalized by M36.
References
- Open Service Oriented Architectures (OSOA). Service Component Architecture (SCA) specifications. http://www.osoa.org
- OW2 consortium. The FraSCAti platform. http://frascati.ow2.org
- R. Rouvoy, D. Conan, L. Seinturier. Software Architecture Patterns for a Context-Processing Middleware Framework. In IEEE Distributed Systems Online (DSO), vol. 9, no. 6. June 2008.
- Wikipedia. Overview of Fuzzy Logic. http://en.wikipedia.org/wiki/Fuzzy_logic
- Wikipedia. Overview of Business Rules. http://en.wikipedia.org/wiki/Business_rules
- Wikipedia. Overview of Constraint Programming. http://en.wikipedia.org/wiki/Constraint_programming
Skills
Required: Service-Oriented Architectures, Self-Adaptive Systems, Context MiddlewareOptional: Fractal, Java