SIESTA: Automatisation du Test des Systèmes Embarqués réalisés en SCADE et SIMULINK


ANR Programme Technologies Logicielles

Description

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 l’efficacité 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é.
Le projet SIESTA s’appuie sur le savoir faire des entreprises et laboratoires partenaires qui mènent, depuis plusieurs années, des travaux de recherche sur le thème du test de programmes SCADE. Les résultats théoriques et pratiques de ces travaux, et en particulier les outils proposés, 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 formalisme procure une information supplémentaire qui peut être prise en compte lors de la génération des tests et de leur exécution mais aussi un modèle du système dont la « couverture » par le test doit être envisagée. Dans le cadre du projet SIESTA, le test des applications spécifiées en Simulink sera abordé de manière plus prospective, mais avec des objectifs précis. En s’appuyant sur l’expérience des partenaires et en tirant profit des similitudes entre SCADE et Simulink, l’objectif est d’identifier les besoins en termes méthodologie et d’outils de test pour ce langage et d’évaluer l’opportunité à utiliser pour ce dernier des outils ou approches de test développées pour SCADE. Cet objectif inclut l’étude de l’opportunité d’enrichir les techniques de test de SCADE en tirant profit des spécifications supplémentaires Simulink.


Partenaires du projet

Coordinateur: UJF - LIG

Contact : Ioannis Parissis

Durée :  01/01/2008 - 31/12/2010