Projet ANR-07-TLOG-0019 – SIESTA : Automatisation du Test des Systèmes Embarqués  réalisés en  SCADE et SIMULINK
Programme : Technologies logicielles (TLOG) 2007
Année de financement : 2007
Coordinateur du projet : UNIVERSITE GRENOBLE I [JOSEPH FOURIER] (UNIVERSITE GRENOBLE I [Joseph Fourier])
Partenaires : Entreprise autre que TPE ou PME; Entreprise autre que TPE ou PME; Commissariat à l'énergie atomique et aux énergies alternatives; PME; Grenoble INP; Office national d'études et de recherches aérospatiales; Entreprise autre que TPE ou PME; Entreprise autre que TPE ou PME; Université Paris-Sud; Université de Grenoble Alpes
Montant : 1135505.0 euros
Durée : 36 mois
Résumé : Les industries de l’aérospatiale (ainsi que de l’automobile, du transport ferroviaire et de l’énergie) utilisent depuis de nombreuses années des méthodes formelles dans le développement de leurs systèmes critiques temps réel. Ainsi, malgré une complexité croissante des systèmes embarqués, le cycle de développement de ces derniers s’est considérablement réduit, notamment par l’introduction de l’usage des générateurs permettant de générer automatiquement le code exécutable à partir de descriptions formelles de haut niveau d’abstraction, écrites en langages graphiques, SCADE ou Simulink qui ont la particularité mettre explicitement l’accent sur la description du flot de données.     Simulink est un environnement graphique de description de systèmes dynamiques très largement utilisé dans l’industrie. Il permet une modélisation hiérarchique des systèmes continus ainsi que leur simulation.  SCADE est un environnement de conception basé sur l’approche synchrone et le langage Lustre. Il permet la définition hiérarchique de composants logiciels ainsi que la génération automatique de code avec des générateurs de code qualifiables.   Les deux outils sont souvent utilisés indépendamment l’un de l’autre, mais leur utilisation conjointe (Simulink pour définir le système dans son ensemble, SCADE pour spécifier et réaliser la partie logicielle) est de plus en plus courante. Pour tirer profit de l’utilisation de ces deux formalismes de description, l’environnement SCADE a récemment introduit une passerelle permettant, à partir de la spécification d’un système écrite à Simulink, d’obtenir, sous certaines conditions, la description SCADE des composants logiciels puis générer le code associé.     La validation des systèmes ainsi développés, objet du projet SIESTA,  est un enjeu majeur et contribue de manière tout à fait significative au coût global d’un développement. L’amélioration de la validation et la réduction de son coût sont des préoccupations constantes des communautés scientifique et industrielle depuis plusieurs années.  En particulier, SCADE a fait l’objet de travaux de recherche et de développement ayant abouti à la définition de techniques de preuve formelle entièrement automatique, aujourd’hui commercialisées et utilisées à l’échelle industrielle. Toutefois, les techniques de validation statique ne permettent qu’une validation partielle du système pour plusieurs raisons : complexité en temps et en mémoire, difficulté de prendre en compte les calculs numériques, complexité de l’environnement. Par conséquent, le test dans un environnement simulé puis réel reste une activité indispensable. Les campagnes de test restent extrêmement coûteuses, en particulier parce que la production des tests repose essentiellement sur l’expertise des testeurs et reste une activité « manuelle ».     L’objectif du projet SIESTA est d’étudier l’amélioration du processus de test pour offrir des moyens d’automatiser la génération des tests ainsi que l’évaluation de leur qualité en s’appuyant sur des spécifications SCADE et Simulink.     Il s’appuie sur le savoir faire des partenaires qui ont mené, depuis plusieurs années, des travaux de recherche sur le thème du test de programmes SCADE qui ont abouti à des propositions d’outils. Ces derniers doivent être confrontés à la réalité industrielle et prendre en compte des concepts insuffisamment traités jusqu’ici, comme l’analyse de la testabilité et le test de non régression. De plus, ces travaux doivent être étendus pour prendre en compte l’utilisation de plusieurs horloges dans la description du flot de données et l’utilisation simultanée de diagrammes de flux de données et de machines d’états finis, désormais possible dans l’environnement SCADE V6 (automates synchrones), ainsi qu’à Simulink Stateflow.    Par ailleurs, l’utilisation de Simulink comme outil d’expression des exigences système n’est pas aujourd’hui prise en compte dans le processus de vérification. En ce qui concerne le test, l’utilisation de ce fo