Conception de systèmes embarqués : comment gagner en productivité ?
Modèles > Les systèmes embarqués qui équipent les produits de la vie courante (carte à puce, téléphone, voiture ) ou de l'industrie (avion gros porteur, usines) sont de plus en plus nombreux ; mais ils restent difficiles et longs à développer, faute de méthodes de conception formalisées et ?industrielles??. Un domaine qui mobilise d'importantes ressources au CEA/LIST : ses recherches sur l'ingénierie des modèles de conception laissent entrevoir des gains de productivité spectaculaires, et des améliorations sensibles des systèmes eux-mêmes.
Comment des produits industriels fabriqués en grande série peuvent-il être conçus selon des méthodes non automatisées et non formalisées ? C'est tout le paradoxe des systèmes embarqués et temps réel (ABS, contrôle GPS, contrôle moteur sur une voiture par exemple), de plus en plus nombreux, de plus en plus coûteux ? 25% du prix d'une automobile haut de gamme ?, mais toujours développés de manière "artisanale", au cas par cas.
"C'est d'autant plus complexe qu'un système embarqué doit être optimisé avec soin en temps de traitement, temps de réponse, puissance de calcul, sûreté, etc., souligne François Terrier, du CEA/LIST. Résultat : les systèmes commercialisés aujourd'hui sont bridés en fonctionnalités et parfois en performances, malgré des temps et des coûts de développement élevés".
Les industriels, conscients du problème, ont décidé de prendre les choses en main. Et le CEA/LIST, acteur de réputation européenne en matière de conception de systèmes, voit affluer les contrats : PSA pour les méthodes de développement et de test de composants, CS et l'INRIA pour le développement de systèmes critiques et la production automatisée de code, Schlumberger et Verimag pour les cartes à puces sécuritaires, Thalès et l'INRIA en mars dernier pour les composants réutilisables, la production automatisée de tests et les supports d'exécution Ces chantiers ne visent pas à développer un système précis, mais à construire des outils de conception qui donneront naissance à de multiples systèmes ; bref, à rendre possible la fabrication en série.
Le LIST a choisi d'appuyer ses travaux sur UML(1), le langage de modélisation le plus courant pour les systèmes informatiques. Spécialisé par le LIST, dans l'atelier ACCORD/UML(2), il permet d'établir la spécification d'ensemble, la conception générale, la conception détaillée en sous-modèles décrivant chaque aspect du système (fonctionnel : structure, comportement, traitements ; matériel : architecture, performance, consommation, temps de réponse, taille mémoire ), indépendamment de sa programmation finale en C, C++ ou Java. Autre ligne directrice des travaux, l'automatisation : aux termes de la spécification détaillée, par exemple, les sous-modèles doivent pouvoir être assemblés et affinés pour l'étape suivante par des outils logiciels automatisés. Même logique pour la génération et l'exécution des tests de validation, qui doivent se définir et s'exécuter en automatique ; c'était l'un des objectifs des projets de recherche menés avec PSA.
Ces recherches ne peuvent déboucher en six mois ou un an. "Nous sommes partis quasiment de rien" souligne François Terrier, qui rappelle que l'horizon de l'ambitieux programme lancé avec Thalès est à 3 ans. Pour se donner toutes les chances d'aboutir, le LIST participe aussi aux travaux de l'OMG(3), chargée de standardiser l'UML : le langage doit être adapté pour suivre les multiples besoins des développeurs, tout en restant dans le cadre de règles et d'une "grammaire" normalisées.
(1) Unified Modeling Language.
(2) Atelier de Conception par Composants
et Objets temps-Réel Distribués.
(3) Object Management Group.