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
- Airbus France
- Astrium ST
- Hispano-Suiza
- Turbomeca
- Esterel Technologies
- CEA - LIST
- Grenoble INP - LCIS
- UJF - LIG
- Université Paris Sud - LRI
- ONERA - CERT
Coordinateur: UJF - LIG
Durée : 01/01/2008 - 31/12/2010