Laurent Pautet

LTCI / UMR 5141 / CNRS
Département Informatique et Réseaux
Télécom ParisTech

Adresse     46, rue Barrault - 75013 Paris, France
Téléphone     (+33|0) 1-45-81-73-22
Fax     (+33|0) 1-45-81-31-19
Email     Laurent.Pautet@enst.fr



Position

Biographie

Recherche

Intergiciels adaptables pour systèmes temps réel répartis embarqués

Nous étudions l'ingénierie des intergiciels pour les systèmes temps réel répartis embarqués (TR2E).

Pour rompre avec la complexité du développement intergiciel, nous avons défini l'architecture schizophrène. Celle-ci a permis pour la première fois d'instancier plusieurs personnalités de l'interigiciel (pour plusieurs modèles de répartition) simultanément présentes avec un excellent taux de réutilisation entre personnalités comparativement à d'autres approches. PolyORB, une mise en oeuvre de cette architecture hautement configurable, est désormais maintenue par AdaCore.

PolyORB fait également partie des rares intergiciels qui ont donné lieu à une modélisation et une vérification à l'aide de réseaux de Petri (collaboration avec LIP6/UPMC) sur des configurations non-triviales afin de démontrer des propriétés d'absence d'interblocage, de famine ou de dimensionnement correct de tampons. Pour améliorer l'analysabilité du système TR2E et de son intergiciel dédié, nous avons adopté le profil Ravenscar, un modèle de concurrence utilisé pour les systèmes à haute intégrité. Nous avons enfin utilisé Architecture Analysis and Description Language (AADL) (collaboration avec SEI/CMU) pour porter notre nouveau processus de conception d'intergiciels TR2E.

Nous avons raffiné PolyORB et son architecture schizophrène pour définir PolyORB-HI. Celui-ci s'appuye sur AADL et Ravenscar pour déduire des informations sur la configuration et le déploiement qui seront utilisées pour produire automatiquement des composants intergiciels vérifiés et optimisés. La plate-forme d'exécution PolyORB-HI constitue un des résultats principaux du projet ASSERT portés par l'Agence Spatiale Européenne mais aussi du projet Flex-eWare. Par exemple, THALES a réduit par un facteur de 500 l'empreinte mémoire d'exécutables produits par des approches concurrentes. PolyORB-HI associé à nos générateurs de code constitue actuellement la première plate-forme d'exécution AADL produisant du code Ada, C ou RTSJ pour des systèmes TR2E.

Actuellement, nous étudions l'impact de nouvelles approches telles que le partitionnement hierarchique ou la dualité entre la sûreté de fonctionnement et la sûreté sur l'architecture intergicielle. Notamment, POK enrichit PolyORB-HI de fonctions de sûreté (ARINC) et de sécurité (MILS) venant de systèmes partitionnés. A notre connaissance, POK est le premier noyau open-source fournissant des services de type ARINC et MILS. Par ailleurs, dans le contexte de Flex-eWare, nous avons renforcé nos architectures pour introduire des fonctions de reconfiguration par changement de modes.

Développement fondé sur les modèles pour les systèmes temps réel répartis embarqués

Nous avons établi une expertise globale autour des intergiciels modulaires, de la modélisation formelle et du génie logiciel. Ce vaste spectre d'expertise aide à fournir une chaîne d'outils complète visant au développement de systèmes temps réel répartis embarqués (TR2E).

Nous avons choisi AADL (Architecture Analysis and Design Language) comme langage pivot de modélisation. AADL est un langage de description d'architecture qui cible notamment les systèmes TR2E. Nous avons oeuvré significativement à la standardisation de ce langage, en proposant de plusieurs contributions au coeur de la version 2 du langage et en s'investissant dans la définition de certaines annexes comme celle de modélisation des données, de projection vers les langages de programmation ou de l'intégration d'ARINC653 pour la modélisation de systèmes avioniques.

En nous appuyant sur AADL, nous avons conçu processus de conception dirigé par la vérification, où le concepteur vérifie son système de manière itérative et à différents niveaux. En effet, nous montrons que plusieurs niveaux de vérification sont possibles et s'avèrent nécessaires :

Nous avons adopté le profil Ravenscar d'Ada comme l'un de nos principaux patrons de génération de code en raison de sa robustesse et de sa pertinence pour les systèmes à haute intégrité mais aussi pour les garanties de déterminisme et d'ordonnançabilité qu'il assure par construction.

Nous avons travaillé en collaboration avec LIP6/UPMC l'utilisation des Réseaux de Petri colorés et temporisés comme outils pour vérifier les systèmes TR2E que nous produisons, ou avec UBO l'analyse fine d'ordonnancement de ces systèmes.

Nous avons étudié en collaboration avec SEI/CMU l'expression de propriétés de sûreté de fonctionnement et de sécurité dans les modèles AADL. Nous avons défini une annexe (REAL) afin de définir des patrons de conception spécifiques à ARINC et MILS.

Ocarina est notre plate-forme logicielle open-source qui rassemble nos contributions et outils autour d'AADL. Ocarina a été utilisé et évalué par des partenaires académiques et industriels au travers de projets de recherche et développement comme ASSERT et Flex-eWare mené respectivement par l'aAgence Spatiale Européenne et THALES. Ocarina fournit également une méthode d'intégration d'autres environnement de modélisation comme ceux de SCADE et Simulink.


Projets en cours

Logiciels

Publications

Enseignement

Masters (M2)

Télécom ParisTech