L’infrastructure et les écosystèmes le long de la pyramide de Feynman [4] : les systèmes embarqués

par Jean-Luc Dormoy

Dans le « plus petit », on trouve désormais toutes sortes de systèmes distribués dans les systèmes embarqués.

Les systèmes embarqués sont les systèmes digitaux présents dans les objets « ordinaires » et leur conférant un comportement actif, voire intelligent. Les premiers systèmes embarqués sont nés avec les débuts du PC, lorsque les niveaux de coût ont rendu possible ce genre d’application. Certains objets très chers pouvaient être informatisés assez tôt car ils n’avaient pas de limite de prix à ce niveau, comme les usines, les centrales électriques, etc.

Aujourd’hui les systèmes embarqués tendent à être omniprésents, et représentent une part importante du marché des technologies de l’information.

Ainsi, une voiture comporte aujourd’hui trois infrastructures de systèmes distribués embarqués : pour la partie moteur et propulsion, pour la partie carrosserie, pour la partie habitacle.

Les deux premières infrastructures ont subi depuis quelques années des évolutions importantes, pour devenir un véritable système distribué gouverné par la norme AUTOSAR. Les travaux autour d’AUTOSAR ont commencé il y a une dizaine d’années, lancés par certains constructeurs allemands, vite rejoints par PSA et d’autres constructeurs européens, Toyota, puis progressivement la quasi totalité des constructeurs mondiaux.

Avec AUTOSAR, une fonction au sens de l’utilisateur – par exemple la mise en route des essuie-glaces – est décomposée en composants logiciels contrôlant toutes les étapes du processus. Ces composants s’exécutent sur une infrastructure de système distribué comportant des processeurs reliés par un réseau, ayant chacun un système d’exploitation temps réel, et au-dessus desquels tourne le middleware AUTOSAR, l’ensemble assurant des propriétés de sûreté. Les composants logiciels sont répartis sur les processeurs de façon à ce que la charge soit équilibrée et garantie en toutes circonstances. En outre, les composants pouvant provenir de fournisseurs et équipementiers divers, des systèmes de trace permettent de connaître l’origine des éventuels incidents.

Ami lecteur, sachez qu’une voiture de moyenne gamme ou de haut de gamme peut comporter aujourd’hui jusqu’à une centaine de millions de lignes de code répartie sur plusieurs dizaines de processeurs, l’ensemble coûtant jusqu’au tiers de l’effort de R&D de la voiture. L’infrastructure décrite ci-dessus n’est donc pas un jouet, et résout des problèmes complexes d’ingénierie, de coût, de sûreté, et de fluidité de la chaîne industrielle de l’automobile.

Les avions modernes comportent également ce genre d’infrastructure. La question de la convergence des ces infrastructures entre voitures et avions se pose.

Un centre de production manufacturière (usine) ou de procédé continu (chimie, centrale électrique) est informatisé depuis quelques décennies. Cela permet sa supervision, voire son contrôle à distance. Cela permet surtout de mettre en œuvre une production flexible, capable de produire des objets uniques à partir de milliers d’options possibles. Pour atteindre ces stades idéaux de flexibilité, on utilise désormais des web services. Cela permet de programmer l’usine avec les standards du web, et d’intégrer ainsi le « système usine » avec l’ensemble du système d’information de l’entreprise. Même les pièces entrant dans la fabrication des produits sont désormais digitalisés, par exemple par des puces RFID, et sont intégrées (temporairement) au système distribué de l’usine.

La maison évolue vers un système distribué. Les appareils et objets de la maison sont en effet digitalisés ou en phase de digitalisation, et de connexion à travers un réseau local. A ce jour il ne s’agit pas réellement d’un système distribué, car on n’a pas d’application qui s’exécute de façon distribuée sur plusieurs nœuds, et qui font donc participer ces nœuds ensemble à la fonction – comme par exemple un système liant un capteur de présence, un gestionnaire énergétique, et les volets roulants motorisés. C’est une des raisons pour lesquelles les systèmes domotiques n’existent que dans les paroles depuis maintenant plusieurs décennies. Mais à terme les objets de la maison devraient être connectés, et participer à un ou plusieurs systèmes distribués domestiques. Le type d’infrastructure sous-jacent reste à définir. Un des aspects intéressants est qu’il devra s’agir d’un système distribué construit sans intervention experte – car on ne peut pas demander à l’utilisateur d’être plus informaticien que de savoir effectuer des branchements simples et sans risque – et en perpétuel changement – les objets apparaissent (achat) et disparaissent (mobilité) sans arrêt.

La grande innovation des systèmes embarqués par rapport aux systèmes de calcul « purs » précédents est qu’ils interagissent en temps réel avec le monde physique aussi bien qu’avec les personnes. « Temps réel » ne signifie pas (seulement) qu’ils doivent aller suffisamment vite pour accomplir leur tâche, mais qu’ils doivent le faire avant un certain délai défini par la tâche. De plus, les systèmes embarqués, en agissant sur le monde réel, peuvent causer des dommages aux biens et aux personnes. Lorsque cette contrainte est forte, on les appelle des systèmes critiques, qui doivent remplir des critères de sûreté.

Nous le détaillons plus loin, les systèmes critiques ont conduit à créer une nouvelle sorte d’informatique, basée non sur le best effort, c’est-à-dire des systèmes qui utilisent au mieux les ressources pour terminer un calcul, mais sans garanties relatives au temps qu’ils mettront ou à l’utilisation d’autres ressources; et les systèmes worst case, qui au contraire garantissent qu’au pire certaines quantités de ressources, par exemple le temps, ne seront pas dépassées.

Par exemple, les deux infrastructures d’une voiture pour les parties moteur et propulsion, et la partie carrosserie relèvent de cette problématique. La troisième, située dans l’habitacle, est essentiellement destinée au multimédia et à la communication avec l’extérieur (car les voitures commencent à être connectées à l’Internet), et est basée sur une infrastructure « normale » best effort.

Néanmoins, les systèmes embarqués resteront le domaine où l’informatique est contrainte. Une de ces contraintes, très importante, est l’énergie consommée par ces systèmes. L’électronique embarquée pourrait ainsi contraindre à augmenter le voltage des batteries automobiles. Dans la perspective des véhicules hybrides et électriques, c’est évidemment inacceptable. Il en est de même pour les appareils mobiles, dont la durée d’utilisation possible entre deux charges constitue un critère essentiel de qualité.

Les systèmes embarqués ont déjà commencé à se connecter vie l’Internet entre eux, au web, et aux infrastructures centralisées, comme le Cloud Computing. Il s’agit d’un vaste domaine qui commence seulement son développement, que l’on appelle les Cyber Physical Systems. Nous les examinons dans l’article Web des objets.

Licence Creative Commons
Moore’s Law and the Future of [Technology] Economy de Jean-Luc Dormoy est mis à disposition selon les termes de la licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage à l’Identique 3.0 non transposé.
Basé(e) sur une oeuvre à mooreslawblog.com.