Structuration, placement et exécution de composants logiciels dans les applications réparties ou parallèles

W. El Kaim

LIP6 1997/038: THÈSE de DOCTORAT de l'UNIVERSITÉ PARIS 6 LIP6 / LIP6 research reports
362 pages - Décembre/December 1997 - French document.

PostScript : 2014 Ko /Kb

Contact : par mail / e-mail

Thème/Team: Systèmes Répartis et Coopératifs

Titre français : Structuration, placement et exécution de composants logiciels dans les applications réparties ou parallèles
Titre anglais : Design, placement and execution of software components in parallel and distributed applications


Résumé : Nos travaux s'inscrivent dans le cadre d'une démarche de conception et d'exécution d'applications réparties et/ou parallèles. Cette démarche est basée sur le principe de la séparation entre le noyau fonctionnel d'une application, ses facettes techniques et la plate-forme d'exécution. Nous modélisons alors une application, comme un ensemble de composants logiciels munis de leurs interactions. La mise en relation de ces composants logiciels (communication, synchronisation, coopération) entraîne la construction d'une architecture logicielle complexe. Cette architecture logicielle est utilisée pour valider des propriétés de construction et d'utilisation des composants, mais aussi pour générer automatiquement leurs squelettes d'implémentation. La mise en relation de ces composants étant alors fonction de la granularité des composants logiciels, du niveau d'interopérabilité qu'ils offrent et des médiateurs utilisés. Enfin, lors de l'exécution, cette architecture logicielle doit être adaptée à des architectures matérielles mixant des réseaux de stations de travail et des machines parallèles. Le choix des machines formant cette architecture matérielle hybride est réalisé de manière automatique ou manuelle en fonction des besoins.
Nous proposons une approche méthodologique intégrant et homogénéisant les approches de développement d'architectures logicielles et les technologies médiateurs actuelles. Cette approche utilise un langage de description d'architectures matérielles hybrides (c'est à dire composées de machine mono et multiprocesseurs) et un langage de description d'architecture logicielle pour automatiser et améliorer le calcul du placement des composants logiciels qui la constituent.

Abstract : Our work focuse on design and execution of distributed and/or parallel applications. To do this, we use the separation of concern principle, wich separates the functional kernel of an application from its technical faces and the execution platform. Then, we modelise an application as a set of cooperating software components. Interactions between these components (communication, synchronization, coordination) lead to the building of a software architecture. From this software architecture, it is possible to validate design properties and component integration, but also to automaticaly generate their frameworks. The integration of the components depends on the middleware available and the interoperabiliy level they offer. At the execution time, this particular software architecture must be adaptated to the hardware architecture composed of a mix of workstations and parallel machines. The choice of the hardware machine is done manually or automatically in function of the needs.
We propose an approach to integrate and homogenize the development approach of software architecture and middleware technologies. It is based on a description language of hybrid hardware architecture (made of uniprocessor and multiprocessor machines) and of a software architecture in order to automate and improve placement calculus of the components of the software architecture on the hardware platform.


Mots-clés : Middleware, Gabarit de conception, Architecture logicielle, Client-serveur, Placement, Prototypage

Key-words : Middleware, Design pattern ,Software architecture, Client-server, Prototyping, Placement


Publications internes LIP6 1997 / LIP6 research reports 1997

Responsable Éditorial / Editor
webmaster@lip6.fr