REtro-ingénerie de Traces d'analyse de SIMulation et d'EXécution de systèmes temps-réel – RT-SIMEX
Ce projet s’inscrit dans l’ambition générale d’amélioration des méthodes et outils de conception de logiciels embarqués. Il a pour objet le développement de techniques permettant de relier entre elles différentes prédictions et observations du comportement temps-réel de logiciels. Ces techniques seront mises en oeuvre dans des outils d'aide à la mise au point, optimisation et rétro ingénierie. Les comportements attendus sont définis formellement au niveau d’un modèle de conception. Nous utiliserons le profil UML/MARTE, et plus particulièrement les mécanismes d’annotation, et le modèle de temps. Les observations du logiciel sont matérialisées notamment par des « traces d’exécution », qui constituent des données brutes qu’il s’agit de traiter, analyser, corréler, et présenter à l’utilisateur sous une forme pertinente et conviviale, à des fins de vérification, validation, et localisation de défauts. En cours de conception du logiciel, le recours à des techniques de simulation facilite l’observation, dans la mesure où les ressources informatiques sont moins contraintes que dans l’environnement d’exécution nominal. Il faut néanmoins disposer de techniques de simulation efficaces , le projet s’appuiera sur les meilleures technologies disponibles. En phase d’intégration, le logiciel, « enfoui », est par construction plus difficile à observer. Il faut disposer de mécanismes peu intrusifs. Plusieurs environnements d’exécution seront mis en œuvre dans les cas de test : Java temps-réel, processeur généraliste sous Linux temps-réel, micro-contrôleur. L’interprétation des données (précises mais bas niveau) fournies par les outils d’observation d’utilisation courante repose, surtout quand il s’agit de localiser des défauts, sur un contexte intégrant une connaissance de l’implémentation du logiciel et des mécanismes d’exécution sous-jacents. Par exemple, dans une séquence d’événements observés, les liens de « causalité » sont définis par la combinaison de la structure du logiciel (séquence d’exécution dans un processus par exemple) et le système d’exploitation (préemption). L’approche proposée consiste à formaliser la connaissance de la structure du logiciel (idéalement, issue d’une démarche de conception basée sur des modèles, éventuellement reconstituée par analyse statique du code), et à l’exploiter pour pouvoir fournir à l’utilisateur des informations de haut niveau pertinentes pour sa tâche de vérification, validation ou recherche de défauts. Une présentation adaptée des informations issues de ces traitements est un aspect essentiel pour la mise en œuvre industrielle des résultats. On s’appuiera notamment sur les représentations graphiques des modèles de conception, pour y ajouter, sous forme d’annotations ou d’animations, les informations pertinentes. Au delà de l’exploitation des résultats du projet sous forme d’outils pour l’aide à la localisation des défauts en conception et intégration, les techniques d’analyse et de synthèse d’information développées pourraient également être exploitées, à l’exécution, pour la surveillance de bon fonctionnement de fonctions logicielles (applications de type « Flight Warning System » dans l’avionique).
Coordination du projet
PME (petite et moyenne entreprise)
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenariat
COMMISSARIAT A L'ENERGIE ATOMIQUE - CENTRE D'ETUDES NUCLEAIRES SACLAY
Aide de l'ANR 996 105 euros
Début et durée du projet scientifique :
- 36 Mois