Gagne de la cryptomonnaie GRATUITE en 5 clics et aide institut numérique à propager la connaissance universitaire >> CLIQUEZ ICI <<

4.1 Vue globale sur les travaux effectués dans l’adaptation dynamique

Non classé

Nous avons vu dans le chapitre précédent que l‟adaptation dynamique consiste à introduire des modifications dans l‟application au cours de son exécution sans arrêter obligatoirement l‟application. Cette possibilité est très importante pour les applications qui réalisent des taches critiques, telles que les applications de télécommunication et les applications bancaires.

Pour cela, beaucoup de travaux ont été effectués dans ce contexte, et touché les différents niveaux de l‟adaptabilité. Une partie de ces travaux se concentrent sur la définition des modèles de composant adaptatif, tels que ACEEL [CHE 03], K-component [DOW 01] et PLASMA [LAI 05] pour le développement des composants adaptatives (c.à.d. composants auto-adaptable), d‟autres concentrent sur le développement des Middlewares réflexifs et adaptatifs tel que Open-ORB [BLA 97], CARISMA [CAP 03] et QuO [PAL 00].

Touts ces travaux ont le but de développer des applications à base de composants qui s‟adaptent seul sont intervention humaine, et donc de surmonter la complexité croissante de la gestion des systèmes de calcul. Le point de départ de ces travaux est l‟Autonomic Computing; qui est une initiative commencé par IBM en 2001, dont le but final est de développer des systèmes informatiques auto-gérérs (self-configuring, Self-optimization, self-protecting, et self-healing).

La limite et le problème qui se pose dans ces modèles définis est que le mélange du code métier et du code chargé d’adapter celui-ci implique une complexité accrue de l’application ; ce qui rend son développement et sa maintenance difficile et diminue la réutilisabilité des composants logiciels en ne les rendant utilisable que dans les circonstances prévues explicitement.

Aussi, En terme de méthodologie de développement, il est impossible de prévoir toutes les circonstances dans lesquelles l’application sera utilisée, et encore moins les réactions appropriées à chaque cas. Pour cela une autre partie des travaux sont orientés vers la proposition des approches pour faciliter le développement d’applications

adaptatives en proposant des approches qui prend en compte les deux problèmes cités telle que l‟approche SAFRAN (Self-Adaptive Fractal CompoNents) [PIE 05] qui étend le modèle de composants Fractal. D‟autres travaux se sont orientés vers la définition des modèles de composants adaptables pour le développement des composants qui peuvent être adapté par une entité externe. Dans ce cadre, plusieurs approches d‟adaptation définissent un modèle à composants, où chaque composant est constitué d‟une partie fonctionnelle et d‟une partie de contrôle.

Cette dernière partie regroupe la liste des opérations permettant de gérer le cycle de vie du composant. Une telle approche est convenable lorsque l’on définit de nouveaux modèles; par contre, elle ne peut pas être appliquée aux modèles existants qui n‟ont pas été conçus pour supporter l‟adaptation dynamique telle que le modèle (COM).

Aussi dans le même cadre (composant adaptable), d‟autres approches tentent de fournir des solutions génériques indépendantes d‟un modèle spécifique, telle que l‟approche proposée dans [CHE 02], mais une grande partie dans ces approches concerne la gestion du passage d‟état entre les composants. Pour résoudre ce problème, certain chercheures ont proposé d‟utiliser les langages dynamiques (interprétés) pour le développement des composants adaptables. Les premiers chercheurs qui ont utilisés les langages de script dans l‟approche à composant sont Nierstrasz et al [NIE 91]. Ils ont proposé un modèle de composants où la construction des liaisons (appelées “glue”) entre les ports d‟entrée et de sortie des composants se réalise par des scripts. Ces scripts étaient eux même des composants.

FScript [PIE 05] est un langage de script dédié à la spécification et à la reconfiguration consistante d‟assemblage de composants Fractal. SAFRAN (Self-Adaptive FRActal compoNents) l‟utilise comme langage support pour réaliser l‟aspect auto-adaptatif de composants Fractal. Cependant, FScript reste un langage dédié à l‟adaptation de composants Fractal. L‟implémentation Apache Tuscany [APA 11] du modèle SCA (Service Component Architecture) [BEA 11] a annoncé de supporter l‟écriture de composants en JavaScript.

Cependant, ce modèle du SCA reste statique du point de vue du typage des composants (services fournis et services requis) et dans son comportement. FractScript [DON 06] est un modèle de composant FRACTAL adaptable. Un des objectifs premiers de FractScript est de permettre l‟utilisation de composants primitifs développés avec des langages de script dans des implémentations Java de Fractal comme Julia et AOKell. Un autre modèle de composant appelé SCRScript [DON 06], qui est aussi un modèle de composant adaptable.

SCRScript est une implémentation du modèle de composants orientés services SCR (Service Component Runtime) qui supporte à la fois le développement des composants orientés services dynamique dans le langage Java (définis dans la spécification) ou dans des langages de script. SCRScript crée une instance de composant à partir de la description XML correspondant à un prototype de composant.

L‟instance enregistre un service auprès de la plateforme OSGi. Après cette vue sur les recherches effectuées dans l‟adaptation dynamique dans les applications basées composants, nous allons présenter dans la section suivante notre proposition qui consiste à rendre les composants COM adaptables, et qui représente notre modèle ScriptCOM.

Page suivante : 4.2 ScriptCOM

Retour au menu : UTILISATION DES SCRIPTS POUR LE DEVELOPPEMENT DES COMPOSANTS COM ADAPTABLES