13.07.2015 Views

Détection d'erreur au plus tôt dans les systèmes temps-réel : une ...

Détection d'erreur au plus tôt dans les systèmes temps-réel : une ...

Détection d'erreur au plus tôt dans les systèmes temps-réel : une ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.3. ÉVALUATION DU COÛT DU DÉTECTEUR 119liées par τ-transitions sous forme d’arbre <strong>au</strong> lieu d’<strong>une</strong> liste. De <strong>plus</strong>, <strong>une</strong> implémentationde la fonction de vérification <strong>dans</strong> l’espace noy<strong>au</strong> permettrait de gagner 1,5 microsecondesur chaque appel système, c’est à dire 4,5 micro secondes <strong>au</strong> total. Ceci représente entre10 et 20% du <strong>temps</strong> d’exécution du détecteur.ConclusionA la fin du chapitre 3, nous étions en possession d’un algorithme de h<strong>au</strong>t nive<strong>au</strong> permettantde mettre en place un service de détection <strong>au</strong> <strong>plus</strong> tôt pour <strong>une</strong> spécification définievia un <strong>au</strong>tomate temporisé. Cet algorithme était «désincarné» puisqu’il supposait <strong>une</strong>exécution indépendante de l’algorithme de vérification et de l’application. En pratique lecode de vérification doit se prémunir des différentes suspensions d’activités déclenchéespar l’ordonnanceur. Nous avons proposé <strong>dans</strong> ce chapitre <strong>une</strong> implémentation de cet algorithmesur la plate-forme de développement et d’exécution d’applications <strong>temps</strong> réelXenomai.Le prototype proposé permet d’intercepter <strong>les</strong> événements non <strong>au</strong>torisés par la spécificationet de déclencher le processus de recouvrement. Cela se fait par exemple, enbloquant la progression de l’exécution de l’application et en déclenchant le réveil d’<strong>une</strong>tâche de recouvrement. Le recouvrement des erreurs dues à un dépassement d’échéance sefait lui <strong>au</strong>ssi avec a priori <strong>une</strong> latence de l’ordre d’un changement de contexte, <strong>au</strong> mieux.La description du prototype couvre <strong>les</strong> aspects liés à l’architecture logicielle assurantun bon contrôle de l’exécution de l’application surveillée, et <strong>les</strong> algorithmes et structuresde données concrètement utilisés pour réaliser la vérification. La conception du détecteurà partir d’un modèle nous a permis de bien séparer le code qui peut être réutilisé de celuiqui doit être régénéré pour chaque application. Cette séparation nous a permis de mettreen place un processus <strong>au</strong>tomatique pour générer le code complet du détecteur, et l’intégrerà <strong>une</strong> application donnée. L’outil est distribué librement 4 bien qu’il ne soit qu’à l’état deprototype.Ce chapitre de description du prototype est clos par <strong>une</strong> étude du coût du détecteuren terme de code ajouté à l’application, d’empreinte mémoire, et de <strong>temps</strong> processeurconsommé. Le détail des algorithmes et structures utilisés <strong>dans</strong> <strong>les</strong> différentes étapes duprocessus de détection, nous a permis de déterminer l’accroissement de l’empreinte mémoireet temporelle du détecteur. En effet, ces deux aspects du coût d’intégration du détecteurvarient en fonction de paramètres représentatifs de la complexité de la spécificationvérifiée. Les résultats de cette étude ont pu être complétés par des résultats expériment<strong>au</strong>x.4 http://www.laas.fr/~trobert/RTRV/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!