Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2004

Generic Approach for the Dynamic Reconfiguration of Component-based Software

Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels

Résumé

Recent software engineering technologies, and in particular those related to component-based software engineering (CBSE), have highlighted an important part of the software life cycle known as deployment. This part, usually mixed up with software installation, covers the remaining software life cycle phases, starting after the development and ensuring the software maintenance until its removal. This maintenance is required to take into account new user requirements and new conditions, not considered and usually unpredictable at build-time. CBSE focuses on building large software systems by integrating existing software components. A software system is no longer obtained through writing code but rather through assembling existing components. CBSE aims to enhance the flexibility and to facilitate the maintainability of developed systems. Usually, the system to be maintained has to be stopped, updated, rebuilt and finally restarted. This maintenance process is not suitable for "non-stop" critical systems that have to be highly available like bank, aeronautic, e-commerce and telecommunication services. With that kind of systems the maintenance is more complex and must take place at run-time. Dynamic maintenance and reconfiguration at run-time of component-based software systems remains one of the key challenges facing software developers today. This thesis fits in the dynamic reconfiguration research area. It describes a reflexive approach to support the dynamic reconfiguration of component-based software systems. This approach has been implemented in the DYVA system. The role of this system is to take in charge the reconfiguration responsibility, and to enable developers to focus on the business logic of the software systems they build. Our main aim is to define a dynamic reconfiguration solution, based on abstractions, and independent as much as possible of the targeted software systems and their component models. DYVA is based on an abstract component model that enhances its openness and its reusability. This abstract model reflects the image of the concrete application to be reconfigured and allows homogeneous treatment of systems resulting from different component models. The consistency is an important aspect we considered in our approach through state transfer and communication management during the dynamic reconfiguration. Dynamically reconfiguring an application requires a complex analysis and decision process. Our approach uses a combination of 1) sensor objects that supervise the system environment, 2) reconfiguration rules that represent the reconfiguration logic, and 3) a reasoning engine that takes and applies the reconfiguration decisions.
Le déploiement est une phase qui prend de plus en plus d'importance dans le cycle de vie du logiciel. Il prend le relais après la phase de développement et couvre les étapes restantes du cycle de vie : de l'installation jusqu'à la désinstallation du logiciel en assurant sa maintenance corrective et évolutive . Cette maintenance est nécessaire pour prendre en compte de nouvelles conditions, non envisagées et difficiles à prédire dans la phase de développement. Depuis plusieurs années, le développement du logiciel s'oriente vers un nouveau paradigme permettant de simplifier la maintenance. Ce paradigme a pour objectif la construction d'applications en intégrant des briques logicielles bien définies et "autonomes", appelées composants. La notion classique de développement d'applications en écrivant du code a été remplacée par l'assemblage de composants préfabriqués. En général, pour introduire les modifications nécessaires, l'application doit être arrêtée, modifiée, recompilée puis démarrée à nouveau. Cependant, ce processus classique de maintenance ne peut pas être appliqué à certaines catégories d'applications, pour lesquelles l'interruption complète de service ne peut pas être tolérée. Ces applications, qualifiées de "non-stop", doivent être adaptées d'une manière dynamique avec le minimum de perturbation. Dans cette thèse, nous proposons une approche réflexive permettant de supporter la reconfiguration dynamique des applications à base de composants. Cette approche est mise en œuvre sous forme du système DYVA. Le rôle de ce système est de prendre en charge la responsabilité de reconfiguration, et de permettre aux développeurs de se concentrer sur la logique applicative. Notre objectif majeur est de proposer une solution de reconfiguration générale, basée sur des abstractions et séparée des applications à reconfigurer. Ceci permet de développer des applications propres, qui focalisent sur la logique métier. La séparation favorise aussi l'évolution et facilite la maintenance, aussi bien des applications que du système de reconfiguration. Pour assurer l'ouverture et la réutilisabilité de notre système, nous l'avons basé sur un modèle de composants abstrait. Ce modèle incarne l'image de l'application à reconfigurer et permet de traiter d'une manière homogène, des applications issues de modèles de composants différents. Notre approche favorise aussi l'auto-reconfiguration qui reflète la capacité du système de reconfiguration à prendre des décisions de reconfiguration cohérentes, et à matérialiser ces décisions sans l'intervention d'un acteur humain.
Fichier principal
Vignette du fichier
tel-00008771.pdf (2.37 Mo) Télécharger le fichier
tel-00008771.ppt (716 Ko) Télécharger le fichier
Format : Autre
Loading...

Dates et versions

tel-00008771 , version 1 (14-03-2005)

Identifiants

  • HAL Id : tel-00008771 , version 1

Citer

Abdelmadjid Ketfi. Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels. Génie logiciel [cs.SE]. Université Joseph-Fourier - Grenoble I, 2004. Français. ⟨NNT : ⟩. ⟨tel-00008771⟩

Collections

UGA UJF
217 Consultations
487 Téléchargements

Partager

Gmail Facebook X LinkedIn More