160 likes | 282 Views
FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour l’analyse de propriétés de sûreté. Les enjeux (1). Emergence et importance des composants répartis. Programmation par assemblage.
E N D
FIACREFiabilité des Assemblages de Composants RépartisModèles et outils pourl’analyse de propriétés de sûreté
Les enjeux (1) • Emergence et importance des composants répartis. • Programmation par assemblage. • Réduction des coûts de développement, et de validation (vérification à l’assemblage avant déploiement).
Les enjeux (2) • Spécification : comment être sûr qu’un composant « sur étagère » correspond aux besoins. • Composition : un assemblage de composants élémentaires est-il cohérent? Remplit-il les besoins pour lesquels il est créé ? Peut-on sans risque remplacer un composant dans une application existante ?
Situation actuelle : vérification de composants • La spécification, et la vérification de compatibilité des composants est actuellement réduit à la syntaxe et au typage statique • Des outils de vérification de composants (Java) séquentiels ou multi-threadés existent : • Génération de modèles finis : Bandera (KSU), Java PathFinder (NASA), SLAM (Microsoft) • Vérification par assertions : MOBIJ (LIACS, Pays-Bas) • Modélisation et conception : Cadena (KSU) • Mais les fonctionnalités permettant de vérifier les aspects “distribués” des assemblages de composants répartis sont peu nombreuses
Situation actuelle : techniques devérification de systèmes distribués • Model checking • Exploration des états d’un modèle • Supporté par de nombreux outils (CADP, FC2, MEC, TINA, SPIN, nuSMV, etc.) • Typage comportemental • Notion de contrat que doivent satisfaire les composants afin d’assurer un bon assemblage. • Pas d’outils • Besoin d’une méthodologie et d’une chaîne complète d’outils pour l’application aux composants répartis • Spécification et vérification des propriétés • Maîtrise de l’explosion combinatoire
Projets connexes en cours (1/2) • Projet ITEA “OSMOSE” (2003-2005) • Définition d’un modèle hiérarchique et extensible de composants logiciels • Projet IST “OMEGA” • Définition d’une méthodologie de développement en UML pour les systèmes embarqués et temps-réel, basée sur les méthodes formelles • Projet RNTL “ARCAD” (2001-2004) • Définition d’un environnement d’exécution extensible pour composants, permettant l’adaptibilité des composants en fonction des modifications de leur environnement
Projets connexes en cours (2/2) • Projet RNTL “COTRE” (2002-2004) • Méthodologie de conception et environnement logiciel pour le développement de systèmes avioniques temps réel • Projet GET “CARISM” • Définition d’une plate-forme intergicielle dédiée aux réseaux ambiants et systèmes mobiles • Projet ACI “CORSS” • Application des méthodes formelles pour le développement de services en vue de satisfaire par construction des propriétés de sûreté et de vivacité.
Une barre à franchir • Spécification des composants répartis : • proposer un formalisme permettant la vérification compositionnelle: -> vérification « boite noire » des assemblages. • Modèles paramétrés et techniques d’analyse associées. • Mettre ces méthodes à la portée du développeur d’applications : • Intégrer une chaîne complète d’outils automatiques. • Diminuer la complexité de la vérification : • Nouveaux algorithmes, nouvelles représentations.
Partenaires • projet OASIS, INRIA Sophia-Antipolis (coordinateur) • Développement de la bibliothèque ProActive, sémantique comportementale, génération de modèles paramétrés et vérification pour applications distribuées. • projet VASY, INRIALPES • Validation et vérification de systèmes asynchrones, développement de la boite à outils logiciels CADP basée sur les algèbres de processus et la logique temporelle. • SVF (fédération FERIA, Toulouse) • Modèles pour la concurrence et la communication, techniques de vérification par ordre partiels, outils de vérification. • LTCI (CNRS - GET/ENST Paris) • Comportements des composants distribues, contrats et typage comportemental.
3 Axes de travail • Définition d’un langage de spécification pour la description des comportements • Génération de modèles comportementaux • Outils de vérification.
Axe 1 : Langage de Spécification,Format Intermédiaire • Abstractions pour décrire les comportements, typage comportemental, logiques temporelles. • Formalisme commun adressant les aspects de spécification et de représentation des modèles paramétrés. • Equivalences comportementales adaptées aux assemblages de composants. [ Tous les partenaires ]
Axe 2 : Génération de Modèles • Méthodes et outils pour la génération de modèles paramétrés à partir du code source des composants distribués : • Abstractions de données, et outils d’aide • Analyse statique, procédures de génération • Abstractions finies des modèles paramétrés • Algorithmes et outils [ Oasis, Vasy ]
Axe 3 : Vérification deComposition Hiérarchique de Composants • Théorie et mise en œuvre de préordres comportementaux • Complexité, “méthodes classiques”: on-the-fly, ordres partiels, nouvelles méthodes compositionelles • Méthodes paramétrées. • Implantation du typage comportemental. [ Vasy, SVF, ILR ]
PROGRAMME • A mi-parcours (18 mois) : • définition du langage de spécification commun, prototype, impact des méthodes de réduction pour la vérification de ce langage. • prototype du générateur de modèle pour un noyau de ProActive. • ensemble de prototypes logiciels. A terme (36 mois) : • intégration du langage de spécification dans des standards de composants • plate-forme logicielle pour la vérification de composants ProActive • distribution des outils de vérification, étude de cas. • Chiffres clés • Durée : 36 mois • Coût : 342 Keuros, 282 hommes * mois, dont 24 mois IE financés par l’ACI
Critères de réussite du projet • Sur le plan scientifique • Nouveaux résultats en vérification compositionelle, en génération de modèles, en langages et architectures de spécification de composants • Sur le plan technique • Les avancées théoriques se retrouvent dans les outils de développement d’applications réparties. • Les résultats en terme de langage de spécification et d’outils sont intégrés dans des standards et des consortiums français et européens.