CEYLAN : A framework for creating extensible and dynamic autonomic managers. ; CEYLAN : Un canevas pour la création de gestionnaires autonomiques extensibles et dynamiques
Modern applications are increasingly dynamic and heterogeneous. The architecture of modern systems is no longer rigid or predictable. This also applies to the user's needs, the capabilities of computers and networks, and the technologies we use. We consider essential that autonomic managers become dynamically extensible and adapt to these changes to facilitate the maintenance. The objective of our work is to define and implement a framework that facilitates the development of autonomic managers. With that purpose, we define an architectural model for the development of modular, homogeneous, flexible, administrable and dynamic autonomic managers. An important objective of this work is to clearly define and separate the generic concepts belonging to autonomic managers from business aspects, developed on a case-by-case basis. The goal is to enable the experts to concentrate on writing autonomic functions and not to bother with management and control flow of these functions. To achieve our objectives, we first define the concept of administration task. An administration task is an independent and specialized element that achieves one or more administrative functions. The autonomic manager behaviour results from the opportunistic combination of these tasks. At every moment, all tasks used can be changed depending on the context and the information given by the platform. Selection mechanisms help to manage potential conflicts and ensure consistency of manager behaviour. We then define an architecture to manage tasks and their opportunistic cooperation depending on the context. The current framework prototype is based on a Service Oriented Component technology. The developed framework allows the dynamic integration of autonomic functions and their management depending on context and management politics, themselves evolving. In conclusion we present a particular implementation of the framework as a component model so that the work of developers is facilitated and that reuse is promoted. Finally, we give an example of an ...