thesis

Spécialisation de composants

Defense date:

Jan. 1, 2006

Edit

Institution:

Nantes

Disciplines:

Authors:

Directors:

Abstract EN:

Component-based programming allows developers to encapsulate generic pieces of code as components, which can be reused in different usage contexts. The component definition is based on an implementation and an interface. The interface, actually used for component composition, can be adapted by the component consumer. Existing models only the interfaces can be modified while the implementation remains unchanged (black box), the resulting applications keep the degree of genericity associated to the underlying components. To go beyond these models, we propose MoSCo, a model that allows a deeper adaptation of component where not only the interface can be adapted but also the implementation. In this model, a component is analyzed and afterward translated into a component generator by using program specialization techniques. Finally, the generator generates a specialized component for a given usage context without breaking the black-box model.

Abstract FR:

La programmation à base de composants facilite l'encapsulation de logiciel générique qui peut ainsi être réutilisé dans différents contextes d'utilisation. Un composant est spécifié à partir d'une implémentation et d'une interface. Cette interface, utilisée pour la composition, peut être adaptée par le consommateur du composant. Les modèles existants ne permettent que l'adaptation au niveau de l'interface alors que leur implémentation reste inchangée (boîte noire), les applications résultantes conservent le degré de généralité des composants constituants. Pour aller au-delà de ces modèles, nous proposons MoSCo, un modèle qui permet une forme plus profonde d'adaptation où l'implémentation est aussi modifiée. Dans ce modèle, un composant est analysé et traduit, à l'aide des techniques de spécialisation de programmes, sous la forme d'un générateur de composants. Ce générateur produit finalement un composant spécialisé selon un contexte d'utilisation en respectant la notion de boîte noire.