Logiciels et Systèmes Embarqués : Enjeux Economiques Défis Scientifiques et Directions de Travail Joseph Sifakis Laboratoire Verimag novembre 2002
plan Les Systèmes Embarqués L approche Centrée Système et les Grands Défis Directions de Travail
Systèmes Embarqués Un Système Embarqué intègre des logiciels et des matériels conjointement et spécifiquement conçus pour assurer des fonctionnalités souvent critiques.
Systèmes Embarqués : Enjeux Économiques Les Systèmes Embarqués sont d une importance stratégique pour l économie! Facteur d innovation et de différentiation : nouvelles fonctionnalités et nouveaux services dans les produits existants, nouveaux produits et services! Source principale de valeur ajoutée : surtout les logiciels embarqués! Amélioration de la compétitivité Forte croissance du secteur taux annuel prévu pour la période 2001-2006 ( source: Venture Development Corp. )! 7,3% des développeurs de matériels et de logiciels pour systèmes embarqués! 8,7% du nombre des développeurs de logiciels! 18,9% du marché mondial des OS pour systèmes embarqués " D une importance vitale pour l économie Européenne.
Systèmes Embarqués : Besoins! Intégration massive de composants embarqués répartis - systèmes de systèmes communicants pour bâtir la société de l information : téléphones cellulaires PDA machines programmables automobile - appareils médicaux photo/vidéo/hifi électroménager avionique - spatial jouets! Outils théoriques et pratiques pour l intégration permettant de prendre en compte tous ces critères à la fois (recherche d optimalité, par rapport au marché ciblé) Fonctionnalité Qualité : Robustesse et Performances Contraintes matérielles (poids, encombrement,.. ) Coût global, consommation électrique Délai de mise sur le marché Construire des systèmes de fonctionnalité et qualité déterminée et garantie, à coût acceptable, est un défi technologique et scientifique majeur.
Systèmes Embarqués : L État de l Art Aujourd hui, nous savons faire à un coût élevé : - Systèmes Contrôle/commande Critiques " Atterrissage automatique Haute Réactivité + Haute Fiabilité - Systèmes complexes à réactivité «souple» " Téléphonie 2G Répartition + Bonne Réactivité + Bonne Fiabilité Technologies trop chères pour l automobile Technologies pas assez matures pour l UMTS Demain, la vision à atteindre : Systèmes Réactifs Répartis Hétérogènes et Complexes - Autoroutes automatiques - Control de trafic aérien du futur - «Intelligence Ambiante» Réactivité + Répartition + Haute Fiabilité + Autonomie + Sécurité + Sûreté +. + Intelligence
Contrôle du Trafic Aérien - Nouvelle Génération Un pari impossible? 1984 Début du projet 25 avril 1994 Air traffic takes another turn FAA weighs fixes for automation project By Gary H. Anthes - April 25, 1994 The Federal Aviation Administration is considering major changes in its troubled Advanced Automation System (AAS) project, now billions of dollars over budget and years behind schedule. FAA administrator David R. Hinson told a congressional panel that the agency might scrap the project entirely, although he said some scaling back was more likely. The FAA has spent about $1.5 billion to date on the estimated $6.9 billion air traffic control system. 9 avril 2002 The FAA's Course Correction The Ugly History of Tool Development at the FAA By David Carr and Edward Cone April 9, 2002 Online exclusive: The agency wrote off $1.5 billion of its $2.6 billion investment to overhaul the nation's air traffic control computer systems. What went wrong? (Just about everything.) One participant says, "It may have been the greatest failure in the history of organized work." Certainly the Federal Aviation Administration's Advanced Automation System (AAS) project dwarfs even the largest corporate information technology fiascoes in terms of dollars wasted. Kmart's $130 million write-off last year on its supply chain systems is chump change compared to the AAS. The FAA ultimately declared that $1.5 billion worth of hardware and software out of the $2.6 billion spent was useless.
plan Les Systèmes Embarqués L approche Centrée Système et les Grands Défis Directions de Travail
Systèmes Embarqués : Approche Centrée Système Aspects : Techniques : Conception conjointe (Matériel, Logiciel, Environnement) Économiques : Optimisation par rapport au marché, entre coût et qualité (efficacité, flexibilité) Multi-compétence : Combinaison de compétences en logiciel, contrôle, réseaux, ingénierie en électronique, IHM, usages. => FORMATION
Approche Centrée Système Cette approche soulève des problèmes de recherche fondamentale difficiles, à la base d'une théorie émergente qui doit rapprocher les sciences de l information et les sciences physiques. Aujourd hui : Les systèmes complexes sont construits comme les cathédrales au moyen-age : Pas de théorie unifiée pour les logiciels et les propriétés dynamiques de leur exécution sur un matériel donné Construction des systèmes complexes par «patch» successifs Explosion des coûts de validation!
Grand Défi 1: Hétérogénéité Construire des systèmes complexes par intégration de composants hétérogènes Hétérogénéité : mécanismes de communication, vitesse de fonctionnement, granularité des calculs, variété des médias, Normes pour garantir l interopérabilité Modèle unifié supportant l intégration hétérogène (parallélisme, temps, gestion des ressources, performances )
Grand Défi 2: Complexité L effort de validation augmente exponentiellement avec le nombre de composants intégrés. " Remplacer les méthodes de validation a posteriori par des méthodes de validation incrémentale. Composabilité : Préserver la fonctionnalité et la qualité des composants le long de l intégration $ Compositionalité : Inférer les propriétés d un systèmes à partir des propriétés de ses composants Développer des outils théoriques et techniques pour la validation incrémentale
Grand Défi 3: Intelligence Moyen d améliorer la qualité (robustesse et la performance) des systèmes : Réflexivité : capacité d analyser, d auto-diagnostiquer son état Adaptabilité: capacité d adapter (auto-organiser+planifier) son comportement en fonction d objectifs de robustesse et de performance Deux propriétés de robustesse : Sûreté : résistance aux mauvais fonctionnements (pannes, erreurs) et aux aléas de l environnement Sécurité : résistance aux attaques et actes de malveillance Développer des outils théoriques et pratiques pour l ingénierie des systèmes intelligents
plan Les Systèmes Embarqués L approche Centrée Système et les Grands Défis Directions de Travail
Le Développement des Systèmes Niveaux d Abstraction abstraction Modèle (exigences) Conception (logiciels) V&V Système Plate-forme intégration
Développement Fondé sur les Modèles Passer du prototypage physique au prototypage virtuel (modélisation): Avantages : minimiser les coûts, souplesse, généricité, possibilité de validation formelle Environnements de modélisation et de validation pour systèmes temps-réel complexes ex. Intégration d outils Matlab, UML, SDL. Bibliothèques de composants ex. HW, SW, modèles de systèmes dynamiques continus Environnement de Modélisation Langages et outils d assemblage de composants Outils de Validation Synthèse de logiciels embarqués à partir de modèles spécifiques à des domaines ex. Matlab
Technologies de programmation Application SW Architecture model Timing QoS Security Compiler Compiler Compiler Scheduler Event Handler Task1 Task2 Task3 Task4 Synchronization and resource management Platform
Systèmes d exploitation Les systèmes d exploitation sont souvent : beaucoup plus complexes que nécessaire peu fiables à fonctionnalités cachées difficiles à gérer et à utiliser de façon efficace Il faut aller vers des OS légers, dédiés à un domaine d application ex. OSEK, ARINC, JavaCard, TinyOS Architectures minimales, reconfigurables, adaptatives, avec aspects pour la sûreté et la sécurité Donner le contrôle à l application pousser la gestion des ressources hors du noyau Fournir et permettre des politiques d ordonnancement adaptatives qui tiennent compte du contexte d environnement (ex: disponibilité des ressources critiques comme l énergie)
Intégration Automatique et Informatique Les applications control/commande sont d une importance stratégique leur conception et implantation soulèvent des problèmes difficiles Intégration d aspects multi-disciplinaires (automatique, analyse numérique, informatique) Modélisation et Vérification des Systèmes Hybrides Combinaison de contrôle/commande continu et discret prise en compte des événements discrets dans les techniques de discrétisation Autres difficultés dues à la répartition et à la tolérance aux fautes (influence des retards de communication, décalage entre horloges, échantillonnage apériodique)
Propriétés de Robustesse Les techniques traditionnelles, par redondance ont un intérêt limité Développer avec la préoccupation de la robustesse dès le départ : style de programmation, la traçabilité, les techniques de validation, mécanismes de tolérance aux fautes.. Directions de travail : Méthodologies pour des normes spécifiques aux domaines ex. - DO178B Process Control Software Safety Certification (temps-réeel avionique) - Common Criteria for Information Technology Security Evaluation Technologie de Vérification (résistance à certaines classes de mauvais fonctionnements et aux attaques) technologie de certification Nouvelles approches pour la tolérance aux fautes ex. auto-monitoring, techniques de reconfiguration en ligne
Intégration de Technologies MO PR MW NW OS SoC SystemC Matrix-X, UML Metropolis Matlab/Simulink SDL MetaH Rapide VHDL Lustre-Esterel ADA RT-Java C C++ C# Java.NET Jini Corba TTP CAN SafeBus Bluetooth Wireless OSEK Prot. ARINC Ravenscar JavaCard EPOC TinyOS VxWorks POSIX RT-Linux µcontroller DSP RISC FPGA
Intégration de Technologies : Automobile MO PR MW NW OS SystemC Matrix-X, UML Metropolis Matlab/Simulink SDL MetaH Rapide VHDL Lustre-Esterel ADA RT-Java C C++ C# Java.NET Jini Corba TTP CAN SafeBus Bluetooth Wireless OSEK Prot. ARINC Ravenscar JavaCard EPOC TinyOS VxWorks POSIX RT-Linux
Intégration de Technologies : Avionique et Espace MO PR MW NW OS SystemC Matrix-X, UML Metropolis Matlab/Simulink SDL MetaH Rapide VHDL Lustre-Esterel ADA RT-Java C C++ C# Java.NET Jini Corba TTP CAN SafeBus Bluetooth Wireless OSEK Prot. ARINC Ravenscar JavaCard EPOC TinyOS VxWorks POSIX RT-Linux