Jeudi 9 Février 2012
Article paru en janvier 2006
dans CEA Techno(s) n° 79

Logiciels temps réel

pourquoi le plus sûr est aussi moins cher

Développer des logiciels temps réel multitâches dont le comportement serait sûr en toutes circonstances : tous les industriels en rêvent aujourd'hui. Mais bien peu savent qu'ils peuvent y parvenir sans investir davantage, comme l'a fait en 2003 la PME francilienne SMIE : le CEA dispose avec OASIS, sa chaîne de développement, d'un outil de travail 100% opérationnel. Interview de Vincent David, spécialiste du domaine au CEA List.

Pourquoi la sûreté des logiciels devient-elle un enjeu pour un nombre croissant d'industriels ?
D'abord, parce que leurs applications sont de plus en plus complexes, donc fragiles. Ensuite, parce que cette fragilité entraîne une explosion des coûts de maintenance : on est face à des défauts non reproductibles, donc inexplicables, et la seule solution face au client mécontent est de changer la pièce. C'est ce que vivent actuellement certains secteurs industriels avec la montée en puissance de l'électronique embarquée. Enfin, les défaillances récurrentes ou touchant à la sécurité détériorent l'image de l'entreprise.

Pourtant, la validation des logiciels est de plus en plus poussée. Alors ?
Quand un applicatif requiert l'entrelacement de millions ou de milliards d'instructions par seconde, il existe autant de scénarios d'exécution possibles pour le partage des ressources et la communication entre tâches. Il est impossible de tous les prévoir et aucune batterie de test ne permet de tous les couvrir. Or, l'utilisateur voudrait que "ça marche" dans 100% des cas. La seule façon d'y parvenir, c'est de concevoir autrement, en adoptant des règles qui imposent la maîtrise du développement et du fonctionnement comme dans le nucléaire ou l'avionique.

Quels sont leurs grands principes ?
La première consiste à maîtriser à 100% le mode de partage des ressources et la communication entre tâches : le comportement de l'application devient totalement prédictible et reproductible, autrement dit totalement déterministe.
La seconde porte sur la tolérance aux fautes : elles sont détectées systématiquement et l'application décide si elle peut continuer à travailler ou si elle se met en sécurité. On change de philosophie ; ce n'est plus "la plupart du temps, ça marche", mais "dans le pire des cas, on ne risque rien".

Mener de tels développements doit forcément coûter beaucoup plus cher...
Le temps de conception va à peu près doubler, car vous devez exprimer davantage de choses. Selon le matériel, il vous faudra aussi un peu plus de mémoire. En revanche, les tâches d'implémentation sont simplifiées et facilitées et la phase de tests est considérablement allégée pour les mêmes objectifs. Globalement, j'estime qu'on obtient pour un prix équivalent ou inférieur une application totalement fiable, sans difficulté de mise au point, donc sans coûts de non-qualité. C'est le pari qu'a fait SMIE (lire ci-contre) en utilisant OASIS pour son nouveau système anti-collision pour grues.




François Beaulier, société SMIE
"Oasis, une approche totalement originale du temps réel"
"Avant d'adopter OASIS, nous avions étudié les systèmes d'exploitation temps réel du marché. Tous étaient basés sur un principe de priorisation des tâches qui ne garantit aucunement la tenue d'une échéance : il reste à vérifier expérimentalement que ça marche. L'approche du CEA est totalement originale : on structure la conception autour du concept d'échéance pour chaque tâche, ce qui correspond au besoin réel. En travaillant ainsi, nous avons gagné du temps et créé une solution plus facile à tester et à garantir.
La prise en main de l'outil s'est effectuée en deux mois : il est simple, ergonomique et facile à maîtriser."




Vincent David, expert CEA en sûreté des logiciels.