#image_title

L’avenir du développement de logiciels embarqués : la tendance vers une plus grande complexité remodèle le développement de produits – Embedded Computing Design

22 avril 2024

Histoire

L'avenir du développement de logiciels embarqués : la tendance vers une plus grande complexité remodèle le développement de produits

L’essor de l’Internet industriel des objets (IIoT) pousse le développement de logiciels embarqués vers une plus grande complexité – une transformation aux vastes implications impactant chaque étape du processus de développement logiciel.

De nouvelles exigences strictes en matière de cybersécurité, des écosystèmes d’appareils de plus en plus complexes, des innovations dans les architectures de puces, des technologies de connectivité émergentes et l’intégration des technologies d’intelligence artificielle et d’apprentissage automatique remodèlent complètement le développement de logiciels embarqués.

La gestion de cette complexité nécessitera de nouvelles approches. Par exemple, je m’attends à ce que les architectures basées sur les services et les stratégies de virtualisation comme la conteneurisation, largement utilisées dans les applications Web, deviennent de plus en plus importantes dans les systèmes embarqués.

La cybersécurité occupe le devant de la scène

La plus grande pression aux États-Unis vient peut-être des récents mandats en matière de cybersécurité. Ces politiques et cadres se concentrent sur le renforcement de la cybersécurité, la protection des infrastructures critiques et l’amélioration de la résilience contre les cybermenaces. Je m’attends à ce que ces mandats s’étendent rapidement à tous les marchés réglementés – et à terme à l’ensemble de l’écosystème numérique – pour contribuer à renforcer la cybersécurité de l’économie américaine.

Vous pouvez voir cela prendre forme dans les directives générales publiées par la FDA, exigeant la cybersécurité pour tout appareil avec des « considérations de cybersécurité » – donc tout ce qui est doté d’une clé USB, d’une carte réseau ou d’un réseau sans fil, qu’il soit connecté ou non à un réseau. responsabilité de divulguer les vulnérabilités, de mettre à jour leurs processus de conception et de développement pour se conformer aux meilleures pratiques, de fournir une nomenclature logicielle et de fournir la possibilité de proposer des correctifs lorsque des problèmes sont découverts.

En ce qui concerne spécifiquement les systèmes embarqués, où un appareil typique comporte des centaines de composants logiciels, souvent avec des dépendances interconnectées, ce mandat de cybersécurité modifiera fondamentalement la manière dont les produits sont développés. Traditionnellement, la meilleure pratique consistait à démarrer un projet avec l’ensemble de composants le plus récent, puis à construire et renforcer le projet au fur et à mesure de sa progression. Mais à la lumière de ce mandat, les fabricants doivent désormais adopter une approche plus proactive en matière de gestion de la chaîne d’approvisionnement logicielle, par exemple en assurant une surveillance continue et des mises à jour après le déploiement.

Autres tendances impactant les systèmes embarqués

Au-delà de la cybersécurité, de nombreuses tendances ont un impact sur le développement des systèmes embarqués, par exemple la coexistence et l’interopérabilité des appareils. Une grande partie de la valeur de l’IIoT vient de la création d’un environnement dans lequel les appareils, capteurs, applications, systèmes informatiques et équipements réseau travaillent ensemble pour prendre en charge les opérations industrielles. Le large éventail de types d’appareils et d’appareils spécifiques produit un écosystème d’une grande complexité – et la responsabilité de la gestion de cette complexité incombera en grande partie aux logiciels exécutés sur divers composants du système, idéalement construits au-dessus des normes industrielles stabilisatrices.

La gamme apparemment infinie de technologies de connectivité ajoute également de la complexité aux systèmes embarqués. Avec autant de technologies conçues pour connecter des appareils afin de créer un système fonctionnel, il est probable que de nouvelles normes industrielles seront éventuellement établies dans le but de réduire le nombre de pièces mobiles. En attendant, les développeurs peuvent gérer la complexité grâce à des initiatives telles que la norme IoT Matter de Google, qui permet à votre appareil de fonctionner avec n’importe quel écosystème en utilisant un protocole unique.

Une autre tendance importante à laquelle je suis témoin est l’émergence de nouvelles architectures de puces. Dans le passé, à mesure que les microprocesseurs devenaient plus rapides, plus petits et plus efficaces et que la puissance de traitement augmentait, l’architecture de base des puces restait statique. Mais ces derniers temps, les architectures de puces évoluent à mesure que les fabricants de puces s’efforcent de répondre aux exigences informatiques des applications d’apprentissage automatique (ML). Les technologies IA/ML sont de plus en plus populaires et apparaissent déjà dans une variété d’applications embarquées, depuis les systèmes d’infodivertissement embarqués automobiles et de maintenance prédictive jusqu’aux diagnostics médicaux. Cette tendance va sans doute s’accentuer avec la disponibilité de puces encore plus puissantes.

Dans cet environnement, l’importance croissante des architectures orientées services est logique. La valeur de l’IIoT est créée en orchestrant des appareils qui ont des objectifs différents, des emplacements différents et des utilisateurs différents, de sorte qu’ils constituent collectivement le meilleur moyen de répondre aux exigences du système. Les architectures orientées services aident à gérer la complexité des systèmes IIoT en se concentrant sur les messages envoyés entre les appareils. Des outils tels que Protobuf de Google nécessitent un schéma clair et cohérent et de bonnes pratiques de programmation. En retour, ils offrent une communication réseau efficace, une compatibilité ascendante et ascendante et une prise en charge multilingue.

La conteneurisation et les microservices, courants dans les applications mobiles et cloud, sont également proposés comme méthode de gestion de la complexité en simplifiant le développement, le déploiement et la maintenance de logiciels embarqués. Une application conteneurisée peut, par exemple, être exécutée sur un PC, un serveur ou une cible intégrée, à condition que toutes les plates-formes prennent en charge l’exécution du conteneur. Les microservices, qui sont souvent utilisés conjointement avec des conteneurs, peuvent réduire la complexité du développement et du déploiement en définissant une application comme un ensemble de services autonomes faiblement couplés qui fonctionnent ensemble pour répondre aux exigences du système.

Cependant, il est important de noter que les avantages de l’utilisation de conteneurs dans une partie d’un système doivent être pris en compte parallèlement à la complexité supplémentaire de la communication entre les conteneurs, en particulier lorsque deux conteneurs doivent communiquer avec un seul appareil. Ce problème est répandu dans le développement d’interfaces utilisateur, où plusieurs applications doivent partager l’écran. Pour relever ce défi, on observe une adoption croissante d’une approche GUI-as-a-service dans laquelle l’interface graphique est séparée dans son propre conteneur.

Les plats à emporter

Les systèmes embarqués deviennent de plus en plus complexes, ce qui rend le développement de systèmes plus compliqué. De plus en plus de technologies sont utilisées, ce qui nécessite davantage de développeurs – et plus spécialisés – pour créer ces systèmes. Pour les fabricants d’appareils, ces changements ouvrent de nouvelles opportunités de développement de produits, mais entraînent à leur tour des responsabilités supplémentaires qui peuvent être difficiles à assumer. Toutes les entreprises, à l’exception des plus grandes, peuvent avoir du mal à rassembler en interne toutes les compétences nécessaires pour créer de nouveaux produits embarqués. Pour les fabricants dépourvus de leurs vastes équipes de conception, de développement, de cybersécurité, d’assurance qualité et de réglementation, les collaborations avec des partenaires deviendront la norme pour combler les lacunes.


Peter Winston est le fondateur et PDG de la société de développement de logiciels personnalisés Integrated Computer Solutions, spécialisée dans le développement de produits pour des cas d’utilisation complexes et des marchés réglementés, des dispositifs médicaux à l’IoT automobile et industriel.

Peter Winston est le fondateur et PDG de la société de développement de logiciels personnalisés Integrated Computer Solutions, spécialisée dans le développement de produits pour des cas d’utilisation complexes et des marchés réglementés, des dispositifs médicaux à l’IoT automobile et industriel.

Plus de Peter

www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Lire la suite