thesis

Conception et implantation d’un environnement de développement de logiciels à base de composants, applications aux systèmes multiprocesseurs sur puce

Defense date:

Jan. 1, 2007

Edit

Institution:

Grenoble INPG

Disciplines:

Abstract EN:

Our work aims at the definition of an open and extensible development environment for supporting the design and implementation of component based software. Our proposition takes the form of a component based software architecture compilation toolset, accepting architectures described in different languages, and providing different functionalities such as code generation and deployment. The extensibility of the toolset is achieved thanks to a fine-grained component-based architecture, implementing a set of extensible programming patterns, and to a plug-in support for loading third party extensions. Two evaluation use-cases set up in the context of system-on-chips are presented in order to illustrate the effectiveness of our approach. The first use-case presents the development of operating system kernels. The second one describes the extension of the toolset with a synchronization pattern description language for easing the development of distributed streaming applications.

Abstract FR:

Ces travaux de thèse définissent un environnement de développement ouvert et extensible pour la conception de logiciels à base de composants. L'environnement se présente comme une chaîne de compilation d'architectures logicielles, acceptant des architectures écrites dans des langages différents et fournissant des fonctionnalités comme la génération de code ou le déploiement. L'extensibilité de l'outil est assurée par une architecture à base de composants implantant des patrons de programmation extensibles et supportant un mécanisme de plug-in pour intégrer des extensions de tierces parties. L'utilisation de l'outil est illustrée au travers deux cadres applicatifs ayant pour trame les systèmes sur puces. La première illustre le développement de systèmes d'exploitation pour ceux-ci. La deuxième illustre la définition d'un nouveau langage facilitant l'expression de la synchronisation au sein d'applications de traitement de flux multimédia réparties.