Projet :
SOLIDOR

Précédent : Composition de l'équipe Remonter :
Construction de
systèmes et d'applications Suivant : Construction de
systèmes distribués par
Présentation et objectifs généraux
Le projet Solidor étudie différentes facettes de la
construction de systèmes répartis. Un système réparti est un
élément logiciel qui gère des ressources matérielles, et qui
offre une infrastructure au-dessus de laquelle différentes
applications peuvent être bâties. Un système réparti est un
logiciel complexe qui doit être capable de gérer les ressources
au niveau de chaque élément du système distribué, mais doit être
aussi capable de gérer ces ressources de façon globale. La
gestion des ressources doit être correcte, afin que le
comportement des applications l'utilisant soit bien défini et en
adéquation avec leurs spécifications. La gestion des ressources
doit être également performante, afin que les applications
puissent par exemple offrir aux utilisateurs des temps de réponse
raisonnables. Ce sont les multiples aspects de la gestion des
ressources d'un système réparti qu'étudie le projet Solidor.
Cette étude se fait suivant deux niveaux ayant des degrés
d'abstraction différents.
- Un système réparti est conçu pour permettre à des
applications ayant des caractéristiques différentes de
s'exécuter. Toutefois, certaines applications ont des exigences
sur la gestion des ressources qui sont radicalement différentes
des exigences d'autres applications, exigences parfois
incompatibles entre elles. Il est ainsi nécessaire d'étudier
plusieurs types de systèmes répartis, chacun capable de
satisfaire les exigences d'une classe d'applications bien
particulière (applications ayant des contraintes temps-réel dur
par exemple). Ce niveau d'étude est celui ayant le degré
d'abstraction le plus élevé. Le système réparti y est vu comme
un ensemble de composants collaborant, chacun ayant un rôle
spécifique, l'ensemble étant adapté aux caractéristiques d'une
classe d'applications particulière. Le projet Solidor étudie
les systèmes répartis à ce niveau suivant deux approches
complémentaires. D'une part l'approche descendante, où
la nature et le rôle de chaque composant d'un système réparti
sont déterminés systématiquement à partir de la spécification
abstraite des exigences d'une application. Cette approche
permet la construction de systèmes répartis
conceptuellement corrects, c'est-à-dire offrant la
garantie absolue que l'assemblage de composants qui a été
déterminé satisfait effectivement les contraintes imposées.
D'autre part l'approche ascendante, où les exigences
d'une classe d'applications sont satisfaites par
l'enrichissement d'un système réparti de base afin de le doter
des techniques de gestion de ressources adéquates. Cette
approche n'offre pas de garantie de correction conceptuelle,
mais permet de mettre au point des systèmes répartis pour
lesquels il n'existe pas de spécifications abstraite
d'exigences.
- Tous les systèmes répartis ont besoin d'une gestion
efficace de leurs ressources. Le projet Solidor étudie
par conséquent des techniques efficaces de gestion locale et
globale des ressources (techniques de gestion de caches par
exemple). Ce niveau d'étude est le niveau ayant le degré
d'abstraction le plus bas. Le système réparti n'est pas perçu
dans sa globalité. Plutôt, chaque technique est étudiée en
isolation, bien que les conséquences de sa gestion se
répercutent sur le système dans son ensemble.
Cette méthodologie s'applique aux trois activités
complémentaires formant l'ossature supportant les thématiques de
recherche du projet. Ces trois activités sont les architectures
logicielles, les systèmes embarqués et les systèmes
d'information. La tolérance aux fautes, l'informatique mobile, ou
encore la gestion efficace de transferts de données forment des
thèmes de recherche transversaux à ces trois activités. De plus,
la spécificité de chaque activité étend le champ d'étude du
projet par exemple aux systèmes temps-réel, à l'expression des
propriétés non-fonctionnelles des architectures logicielles ou à
la gestion de données multimédias. Les sections suivantes donnent
un aperçu des méthodologies employées.

Précédent : Composition de l'équipe Remonter :
Construction de
systèmes et d'applications Suivant : Construction de
systèmes distribués par