Spécialiste des environnements logiciels pour les marchés de périphérie de réseau (edge) critiques, Lynx Software Technologies annonce la prise en charge prochaine du langage Rust par son système d'exploitation LynxOS-178 et par LynxElement, le premier "unikernel" compatible Posix destiné à un usage professionnel et dévoilé lors du salon Embedded World 2022.
Rust est un langage de développement initié par les ingénieurs de Mozilla dès 2006, dont la version 1.0 avec un compilateur stable a été publiée en 2015. Rust se veut une alternative aux langages de programmation classiques comme le C et le C++ en évitant notamment les problèmes de sécurité mémoire qui affligent ces langages, et ce sans recourir à la complexité de Java.
Dans le cadre de son initiative, Lynx s'est associé à AdaCore, le principal fournisseur de solutions logicielles professionnelles pour les langages Ada, C et C++, et à Ferrous Systems, un fournisseur auprès des utilisateurs de Rust de chaînes d'outils certifiées vis-à-vis de la sûreté de fonctionnement. Un peu plus tôt dans l’année, Ferrous Systems et AdaCore ont uni leurs forces pour développer la chaîne d'outils de compilation Ferrocene, dans le but de répondre aux besoins de divers marchés fortement réglementés comme l'automobile, l'avionique, l'espace et le ferroviaire.
A cet égard, Lynx considère Rust et Ferrocene comme des composants clés pour moderniser la façon dont les systèmes embarqués sont développés et, par conséquent, l’éditeur a mis sur sa feuille de route leur prise en charge par ses produits phares afin de garantir le développement d'un code plus sûr.
L’éditeur américain souligne la dynamique qui existe aujourd’hui autour du langage Rust, en particulier sur le marché des logiciels embarqués critiques, notamment dans les industries automobile et aérospatiale. Récemment Mark Russinovich, le directeur technique d’Azure a déclaré dans un message Twitter que les nouveaux programmes devraient « arrêter de démarrer des projets en C/C++ » en faveur de Rust, un langage où l’utilisation de la technologie du ramasse-miettes (comme dans Java) n'est pas autorisée. Par ailleurs, la langage Rust a franchi une étape que C++ n'a pas pu enjamber en s'intégrant au noyau Linux (lire notre article).
« Dans ce cadre, on perçoit clairement l'alignement des missions respectives d'AdaCore, de Ferrous Systems et de Lynx Software Technologies, indique Tim Reed, le CEO de Lynx. Alors que nous pouvons nous prévaloir d’une longue tradition dans le développement de systèmes critiques en matière de sûreté de fonctionnement, AdaCore affiche une histoire réussie en tant que fournisseur de confiance de chaînes d'outils certifiées et Ferrous Systems apporte un savoir-faire et des réussites prometteuses en aidant les développeurs à adopter Rust dans leur systèmes logiciels embarqués. Nous pensons que la combinaison de nos offres respectives permettra à l'industrie de commercialiser rapidement des systèmes plus sûrs. »
Pour rappel, LynxOS-178 est un système d'exploitation temps réel à partitionnement nativement compatible Posix, certifié selon les normes de sécurité fonctionnelle FAA DO-178C DAL A. L’unikernel LynxElement, de son coté, est proposé au sein du framework de développement et d’intégration Lynx MOSA.ic pour un ensemble diversifié de cas d'usage critiques. Les unikernels conviennent aux applications nécessitant de la vitesse et de l'agilité tout en offrant une petite surface d'attaque (du fait d’une image fixe et minimale) pour une sécurité accrue et une certification facilitée des équipements, à l'instar des équipements embarqués dans les aéronefs, des véhicules autonomes et des infrastructures critiques. (Lire, pour plus de détails, l’article Unikernel : une technologie qui réunit les avantages de la virtualisation et de la création de conteneurs.)
« J'ai suivi les unikernels d'un point de vue technologique depuis 2017, car ils sont prometteurs pour accroître la sécurité, les performances et l'efficacité d'une grande variété d'applications, souligne Tom Macklin, Computer Scientist de l’US Naval Research Laboratory. Cependant, les barrières à l'entrée pour les développeurs et les intégrateurs sont des obstacles majeurs à leur adoption. Des initiatives comme celle de Lynx ouvrent l'écosystème Rust pour un déploiement sur des unikernels et il est particulièrement intéressant de voir comment cette association va rendre les systèmes plus sûrs, plus performants, plus sécurisés et plus modulaires. »