thesis

Ports composites pour l'assemblage automatique de composants logiciels : application à la construction dynamique et à l'évolution non anticipée

Defense date:

Jan. 1, 2008

Edit

Institution:

Montpellier 2

Disciplines:

Authors:

Directors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

Un grand nombre de logiciels est construit par réutilisation de composants existants. Le comportement global du logiciel résulte de l'interaction des comportements individuels de chaque composant. L'objectif de ce travail est de construire des applications par assemblage de composants existants issus d'un référentiel de composants. Le critère de qualité considéré découle de la satisfaction, par l'assemblage résultat, d'objectifs fonctionnels identifiés lors de l'analyse du besoin. Alors que la plupart des approches existantes fournissent des langages pour décrire et vérifier la correction syntaxique et comportementale d'un assemblage, peu y adjoignent la vérification de la satisfaction d'objectifs fonctionnels. Nous définissons la validité comme étant un niveau de vérification combinant la correction de l'assemblage et la satisfaction des objectifs fonctionnels. La principale contribution de cette thèse est de proposer un processus de construction automatique d'assemblages de composants satisfaisant des objectifs fonctionnels. Nous proposons un méta-modèle de composants dont les collaborations potentielles sont documentées par des ports composites. Cette information permet de définir une stratégie de construction autonomique d'assemblages potentiellement valides grâce à une recherche parmi tous les assemblages possibles. La complexité de cette recherche est maîtrisée grâce à des optimisations heuristiques. Ce mécanisme est aussi utilisé pour la re-construction de la partie manquante d'un assemblage lors de son évolution dynamique. Notre proposition est plus flexible que celles de travaux comparables car elle permet de réaliser des substitutions n à 1 afin de pallier l'indisponibilité d'un composant proposant exactement les fonctionnalités attendues. Une implémentation prototype, comme extension du modèle de composants Fractal, permet de réaliser diverses expérimentations sur des simulations de bases de composants et de montrer l'efficacité de nos algorithmes