
Précédent : Composition de l'équipe Remonter :
Projet
REFLECS Suivant : Actions de recherche
Les travaux du projet Reflecs concernent les systèmes
informatiques complexes servant à mettre en oeuvre des
applications critiques, c'est-à-dire des applications dont les
défaillances sont inacceptables ou catastrophiques. Ces travaux
se répartissent en deux catégories, l'une méthodologique, l'autre
algorithmique. Les travaux de la première catégorie portent sur
les méthodes de Génie Système prouvable, pour des problèmes
applicatifs de type déterministe. L'obtention des propriétés
applicatives souvent exigées dorénavant par les donneurs d'ordre
ou les utilisateurs impose de résoudre des problèmes
algorithmiques de type ``traitement distribué'' (TD) ou/et
``temps réel'' (TR), ou/et ``tolérance aux fautes'' (TF). Les
travaux de la deuxième catégorie ont pour but de résoudre de
façon prouvable de tels problèmes.
Les propriétés applicatives recherchées sont la sûreté
(``safety''), la vivacité (``liveness''), la ponctualité
(``timeliness'') et la confiance (``dependability''). Ces
propriétés peuvent être quantifiées de diverses manières. Par
exemple, bornes supérieures de temps de réponse ou gigues bornées
sont des mesures de ponctualité, tandis que disponibilité ou
fiabilité sont des mesures de confiance.
Le but général de nos travaux est de pouvoir élaborer une
spécification modulaire de système informatique distribué (une
solution) qui, de façon prouvable, satisfait une spécification de
besoins applicatifs et de propriétés exigées (un problème
informatique), cette dernière étant dérivée d'une description
initiale éventuellement incomplète et/ou ambigüe fournie par un
donneur d'ordre ou un utilisateur. Par ``spécification'', il faut
comprendre l'expression (en langage naturel, en notations
formalisées) complète et non ambigüe d'un problème, d'une
solution.
Les thèmes couverts sont définis comme suit :
- Traitement Distribué (TD) : un système est dit distribué si
les services qu'il fournit sont obtenus par le biais
d'algorithmes explicitement conçus pour être exécutés en
parallèle, de façon asynchrone, par plusieurs processeurs, sans
connaissance de l'état global du système (propriétés de sûreté
et vivacité). La complexité des problèmes algorithmiques va
croissant, en allant du modèle (de calcul) synchrones aux
modèles partiellement synchrones, puis au modèle asynchrone.
Nous nous intéressons uniquement aux solutions algorithmiques
déterministes.
- Temps Réel (TR) : un système est dit temps réel si ses
spécifications comportent des références directes ou indirectes
au temps physique et si son comportement est déterminé par des
algorithmes d'ordonnancement utilisant directement ou
indirectement des attributs temporels dérivés des
spécifications (propriétés de ponctualité). La complexité des
problèmes algorithmiques et des conditions de faisabilité va
croissant, en allant du modèle (de contrainte temporelle) à
échéances de terminaison au plus tard constantes au modèle à
gigues de terminaison bornées et à dates de démarrage au plus
tôt non constantes (il existe des modèles intermédiaires), et
du modèle (événementiel) périodique au modèle arbitraire (il
existe des modèles intermédiaires). Nous nous intéressons
exclusivement aux solutions algorithmiques déterministes.
- Tolérance aux Fautes (TF) : un système est dit tolérant aux
fautes si son comportement reste conforme à sa spécification
malgré la présence d'états erronés (logiciel, matériel,
données) et malgré l'occurrence de défaillances partielles
d'origine interne ou dues à l'environnement (propriétés de
confiance). La complexité des problèmes algorithmiques va
croissant en allant du modèle (de défaillance) de type arrêt
immédiat au modèle de type arbitraire ou byzantin (il existe
des modèles intermédiaires). Nous nous intéressons
exclusivement aux solutions algorithmiques déterministes et, le
cas échéant, à l'établissement de résultats
d'impossibilité.
Précédent : Composition de l'équipe
Suivant : Actions de recherche Remonter : Projet
REFLECS