2011-02-23T23:59:59Z
2020-07-16T02:11:57Z
Designing non-functional aspects with components
2010
2010-01-01
In this thesis we are considering programming models for large-scale and distributed applications that are deployed in dynamic ever-changing environments, like the Grid. To maintain their function with minimal involvement of human operators, those applications have to be instrumented with self-adaptive capabilities. We ground our research on the autonomic computing paradigm, which proposes to design applications as compositions of autonomic elements. Those are software entities exposing two parts: a business part, and a management part, with managers in charge of supervising the business part by reacting to environmental changes. Managers have the possibility to implement complex management strategies: additionnaly to the supervision of the business part, they can contact managers from other autonomic elements involved in the application, and collaborate with them in order to elaborate adequate reactions. Strategies of managers can be dynamically updated. We propose to design distributed autonomic applications using a component-oriented model: the GCM (Grid Component Model). GCM components are distributed by essence and the model features as a part of its specification separation of concerns (GCM components have a business part and a management part), hierarchical structure, and dynamic reconfiguration. Our contribution is twofold. First, we extend the management part (called the membrane) of GCM components, giving the possibility to include managers that correspond to the vision of autonomic computing. Thanks to newly introduced architectural elements, the managers are able to supervise the business part of GCM components. They can also contact managers of other components of the application and collaborate with them. A GCM component with self-adaptive capabilities should be easy to produce: we suggest a development process that allows to design and implement the management part separately from the business part, and then integrate both parts inside one unified software entity. We modify the ADL (architecture description language) used to statically describeGCMcomponent assemblies according to the new development process. Second, we include the previously presnted extensions in the reference implementation of the GCM.
Dans cette thèse nous considérons des modèles de programmation pour des applications à grande échelle, distribuées et déployées dans des contextes en constant changement, comme la grille de calcul. Pour maintenir leur fonctionnalité tout en minimisant les interventions humaines, ces applications doivent être équipées de capacités auto-adaptatives. Notre recherche a pour base le paradigme de l'"Autonomic Computing", qui conçoit les applications auto-adaptables comme des compositions d'éléments autonomes. Ce sont des entités logicielles qui sont constituées de deux parties: une partie métier (ou fonctionnelle), et une partie contrôle, composée d'entités de contrôle (ou "managers") qui supervisent la partie métier et maintiennent sa fonctionnalité en réagissant aux changements de l'environnement. Les managers peuvent implémenter des stratégies de contrôle complexes: en plus de contrôler la partie métier, ils peuvent communiquer avec des managers d'autres éléments autonomes de l'application et collaborer afin d'élaborer les stratégies adéquates. Les stratégies des managers peuvent être mises à jour dynamiquement. Nous proposons de concevoir des applications autonomes distribuées en utilisant un modèle à composants: GCM (pour Grid Component Model). Les composants GCM sont distribués par nature et le modèle inclut dans sa spécification la séparation des aspects (les composants GCM ont une partie métier et une partie de contrôle), une structure hiérarchique et la reconfiguration dynamique. Notre contribution peut être résumée en deux points. Premièrement, nous étendons la partie de contrôle (également appelée la membrane) des composants GCM, en donnant la possibilité d'y inclure des managers qui correspondent à la vision de l'Autonomic Computing. Grâce à l'introduction de nouveaux éléments architecturaux, les managers ont la capacité de superviser la partie métier des composants GCM. Ils peuvent également entrer en contact avec des managers d'autres composants faisant partie de la même application. Un composant GCM devrait être facile à produire: nous proposons un processus de développement qui permet de concevoir et développer la partie non-fonctionnelle séparément de la partie métier, puis d'intégrer ces deux parties dans une entité logicielle unifiée. On apporte des modifications au langage de description architectural (ADL), utilisé pour décrire un assemblage GCM statique. Deuxièmement, nous avons inclus les extensions introduites précédemment dans l'implémentation de référence du GCM.
Grilles informatiques
Systèmes de grandes dimensions
Informatique autonome
Naoumenko, Paul
Baude, Françoise
Nice