Avec Lynx MOSA.ic, Lynx Software veut simplifier la manière de concevoir des logiciels complexes robustesInitialement porté par le Département de la Défense américaine, le concept MOSA (Modular Open Systems Approach) vise à bâtir des équipements constitués de modules fortement homogènes au couplage lâche et séparables qu’il est possible d’acquérir auprès de sociétés tierces, éventuellement mises en compétition, puis de modifier ou de faire évoluer sans avoir à toucher aux autres composantes du système. ...Avec l’environnement MOSA.ic (ic pour Integration Center), dévoilé fin février sur Embedded World 2019, l’éditeur Lynx Software Technologies estime mettre aujourd’hui à la portée des développeurs de logiciels complexes et robustes ce concept qui vise à simplifier la création, la certification et la maintenance de systèmes obéissant à des contraintes strictes de sûreté et de sécurité de fonctionnement (automobile, avionique, industriel, etc.). Si l’on en croit l’Américain, cet environnement permet aux concepteurs d’intégrer divers composants logiciels indépendants au sein d’un même framework de développement, y compris des composants « historiques » d’ores et déjà compilés et des composants édités par des sociétés concurrentes. Dans le détail, le produit de Lynx Software repose sur le système de partitionnement LynxSecure qui exploite les mécanismes de virtualisation des architectures de processeurs multicœurs les plus récentes (Armv8-A, Intel VTx, Power QorIQ...) afin d’offrir un modèle distribué de contrôle des ressources plus simple que le modèle traditionnel de gestion centralisée reposant sur les fonctionnalités des systèmes d’exploitation. Selon l’éditeur, LynxSecure isole les ressources de traitement dans des environnements distribués indépendants qui sont capables de se gérer eux-mêmes (bare-metal, Autosar, LynxOS, LynxOS-178, Buildroot Linux, autres). Réduisant ainsi la complexité système inhérente à l’empilement de couches logicielles d’abstraction qui démarrent au niveau applicatif dans les modèles de développement traditionnels où les applications s’appuient sur les API d’un OS pour transférer et stocker des données (voir illustration ci-dessus). Cette réduction de la complexité entre les interfaces applicatives et les couches d’abstraction sécurisées contrôlant les ressources matérielles minimise en outre les vecteurs d’attaque et rend Lynx MOSA.ic naturellement résistant aux failles de sécurité et aux défauts critiques de sûreté, assure l'éditeur américain. Bâti en pratique sur un framework configurable qui permet de partitionner les ressources matérielles, l’environnement a comme fonction première de décentraliser la gestion de ressources et les services applicatifs, les applications pouvant alors gérer leurs propres ressources indépendamment des autres. Des kits de développement croisés fournis par la plate-forme servent alors à la mise au point de modules applicatifs de différentes taille, qualité et complexité et des outils d’intégration permettent d’y lier des modules fournis par des tiers ou des éditeurs concurrents. Modules qu’il est alors possible de mapper sur des ressources matérielles gérées en toute indépendance. En renonçant à un contrôle centralisé au niveau CPU, Lynx MOSA.ic libère des capacités d’intégration modulaire sans précédent pour un développement rapide de systèmes robustes, assure Lynx Software. A noter qu’à l’occasion de la Hannover Messe qui se tient du 1er au 5 avril en Allemagne, l’éditeur met en œuvre son environnement dans le cadre d’une démonstration d’une application de robotique industrielle répartie entre une station de travail opérateur, un contrôleur robotique et une station de travail de « mise à l’épreuve ». La station de travail opérateur est un PC portable implémentant un partitionnement sécurisé qui isole des outils de conception de confiance des menaces internes et externes. Le contrôleur robotique s’appuie des son côté sur une puce-système multicœur MPSoC Zynq UltraScale+ de Xilinx (l’une des premières plates-formes prenant en charge Lynx MOSA.ic) et intègre un système temps réel partitionné qui gère en simultané un bras robotisé, un tapis roulant et un sous-système de reconnaissance d’image. Toutes les fonctions de contrôle sont implémentées dans des applications indépendantes bare-metal afin minimiser les vecteurs d’attaque et de réduire les comportements non déterministes, précise Lynx Software. La station de travail de mise à l’épreuve, quant à elle, vérifie le comportement temps réel de l’ensemble et sert de point d’entrée pour simuler des attaques malveillantes sur le réseau et prouver la résistance du système robotique… |