Mots clés : système hybride,
génération de test .
Le développement d'un système enfoui temps réel, tel que
décrit dans ces pages, prend des processus discrets pour
modèles des procédés physiques de l'environnement et suppose
donc l'étude algorithmique (par exemple de lois de commande)
effectuée. Or la validation d'un système complet doit prendre
en compte, soit par modèle, soit dans des maquettes
matérielles (et souvent les deux), les fonctions continues
dirigeant le comportement des procédés. Si des travaux
d'interfaÇage entre des langages synchrones et des outils
dédiés au continu tels que Matlab et Simulink ont été
entrepris, il reste beaucoup à faire pour obtenir une réelle
intégration des formalismes discrets et continus
dans des systèmes hybrides.
Un obstacle sérieux à la mise en oeuvre correcte par
construction des systèmes temps réel reste le lien entre
temps physique et temps logique et entre différents grains de
temps discret, en particulier pour les points
suivants :
- Prise en compte des événements fournis par
l'environnement le plus souvent asynchrone au programme
synchrone : les études sur les modèles de
communication synchrone/
asynchrone sont à compléter.
- Si nous savons définir correctement des procédures de
raffinement efficaces portant sur l'espace
(adjonction/suppression de variables), en ce qui concerne
le temps, les études que nous avons entreprises tant par le
biais des transformations affines, que dans les cadres du
(re)timing monocadencé ou de l'utilisation de l'algèbre
MaxPlus, restent encore de portée trop limitée pour
satisfaire les besoins de transformation visant à éliminer
les systèmes d'exploitation dans les systèmes critiques
enfouis.
Pour aller vers la vérification complète des propriétés
d'un système, il est nécessaire de prendre en compte des
domaines plus riches que les booléens. Nous comptons
entreprendre des études visant à compléter dans un premier
temps le calcul d'horloges par des techniques provenant des
résolutions de contraintes sur domaines finis ; pour aller
plus loin, il deviendra nécessaire d'adapter des techniques
de démonstration automatique. Nous envisageons de conduire
ces études en collaboration avec des équipes spécialisées sur
ces thèmes de recherche.
Même si les techniques formelles progressent, tant dans
les esprits de leurs utilisateurs potentiels que dans les
performances des algorithmes mis en oeuvre, la simulation et
le test resteront des activités nécessaires à la validation
d'un système. C'est pourquoi nous envisageons de participer à
des études sur la génération automatique de tests,
principalement d'intégration, qui posent des problèmes non
résolus. Ces études pourront se faire en corrélation étroite
avec les méthodes de synthèse automatique de contrÔleurs
actuellement développées dans le projet.
En supposant un système correct vis-à-vis de
spécifications de comportements nominaux, l'étude du
comportement du système en présence de défaillances reste un
sujet majeur pour les entreprises mettant en oeuvre des
systèmes critiques. Les études théoriques (qui bien sûr ne
peuvent concerner les seuls informaticiens) doivent être
développées. Nous comptons aborder ce sujet sans prétendre à
des solutions à court terme.