Actualités

RAMSES, maître du temps des systèmes embarqués

29 août 2018 • Cybersécurité - Industrie du futur - Mobilité intelligente - Réseaux & IoT - Smart City

Les systèmes informatiques embarqués ont parfois à charge l’exécution de fonctions dites « critiques ». Dans les transports, ils peuvent assurer par exemple l’absence de collision entre deux véhicules. Pour aider à la conception de ces systèmes, Étienne Borde, chercheur sur les systèmes embarqués à Télécom Paris, a mis au point la plateforme RAMSES. Elle donne aux développeurs des outils pour rationaliser la conception de ces systèmes. Son potentiel d’application dans les secteurs industriels comme les transports ou la robotique est reconnu par le Carnot Télécom & Société numérique, qui l’intègre à son offre de plateforme technologique.

A quoi la plateforme RAMSES sert-elle ?

Étienne Borde : RAMSES est une plateforme d’aide à la conception des systèmes temps réel embarqués critiques. Par ce terme technique, on désigne des systèmes embarqués dont la dimension temporelle est particulièrement importante : si une opération informatique prend plus de temps que prévu pour être réalisée, il peut y avoir une défaillance critique du système. D’un point de vue logiciel, le temps est géré par un système d’exploitation temps-réel dont RAMSES automatise la configuration tout en garantissant le respect des exigences temporelles du système.

Quelles applications sont concernées par ce genre d’aide à la configuration des systèmes ?

EB : Les transports sont particulièrement concernés, et nous avons un cas d’étude ferroviaire qui illustre l’apport de la plateforme. RAMSES y est utilisée pour l’estimation des pires temps de transmission des données dans le système de contrôle d’un train. Les messages les plus critiques transmis consistent à s’assurer que le train n’entre pas en collision avec un autre train. Pour assurer la sécurité, les calculs s’effectuent sur trois calculateurs à l’arrière du train, et en même temps sur trois calculateurs à l’avant du train. Ce qu’apporte RAMSES, c’est un meilleur contrôle des temps de latence, et une meilleure gestion du flux dans les opérations de transmission.

Comment RAMSES aide-t-elle à mieux configurer ces systèmes temps réel embarqués critiques ?

EB : RAMSES est un compilateur du langage AADL. Ce langage permet de décrire des architectures informatiques. Le principe de base d’AADL est de définir des catégories de composants logiciels ou matériels qui correspondent à des objets physiques du quotidien d’un informaticien ou d’un électronicien. Par exemple, une des catégories est celle des processeurs : AADL permet de décrire l’unité de calcul de l’ordinateur par ses paramètres, comme sa fréquence. RAMSES va faciliter l’assemblage de ces catégories entre elles pour représenter le système avec différents niveaux d’abstraction. C’est de là que la plateforme tire son nom : Refinement of AADL Models for Synthesis of Embedded Systems, ou raffinement de modèles AADL pour la synthèse de systèmes embarqués.

Qu’est-ce qu’un compilateur comme RAMSES apporte à un professionnel ?

EB : Actuellement, les professionnels développent leurs systèmes à la main dans le langage de programmation de leur choix, ou en générant ce code à partir d’un modèle. Ils peuvent évaluer le temps de transmission des données sur le produit final, mais avec une faible traçabilité par rapport au modèle de départ. Si une commande prend plus de temps que prévu, les développeurs peuvent difficilement isoler l’étape qui pose problème. RAMSES fournit des représentations intermédiaires au fur et à mesure de sa réalisation. L’outil analyse le temps associé à chaque tâche pour vérifier qu’il n’y a pas de dérives excessives. Dès qu’une accumulation de mécanismes introduit une trop forte divergence par rapport aux bornes temporelles imposées, RAMSES alerte le professionnel. La plateforme peut indiquer quels sont les étapes qui posent problème, et faciliter la correction du code AADL.

Principe de fonctionnement de la plateforme RAMSES

Principe de fonctionnement de la plateforme RAMSES

RAMSES est donc principalement un outil d’aide à la décision ?

EB : L’aide à la décision fait partie de ce que nous pouvons faire. La conception des systèmes temps réel embarqués critiques est très complexe. Les développeurs ne disposent pas en avance de toutes les informations sur le comportement du système. RAMSES ne gomme pas toutes les incertitudes, mais permet de les atténuer. L’outil donne la possibilité de raisonner sur la base de ces incertitudes pour décider ce qu’il est possible de faire. Sans un tel outil, l’alternative est de prendre des décisions sans avoir fait suffisamment d’analyse. Mais l’aide à la décision n’est pas la seule utilisation de RAMSES. La plateforme peut aussi améliorer la résilience des systèmes par exemple.

Comment l’optimisation de la configuration impacte la résilience du système ?

EB : Des travaux récents de la communauté des chercheurs en sécurité des systèmes concernent la criticité mixte. Le but est d’utiliser des architectures multi-cœurs pour déployer sur même calculateur des fonctions critiques et des fonctions moins critiques. Lorsque les contraintes temporelles pour les fonctions critiques sont dépassées, les fonctions non-critiques sont dégradées. Les ressources de calcul ainsi libérées sont mises à disposition des fonctions critiques, ce qui garantit leur résilience.

C’est un sujet sur lequel vous travaillez ?

EB : Dans notre équipe, nous avons mené des travaux pour garantir que les tâches critiques auront ainsi toujours assez de ressources, quoi qu’il advienne. Et en parallèle, nous travaillons sur la disponibilité minimale des ressources pour les fonctions les moins critiques. Cela permet de s’assurer que les fonctions non-critiques ne sont pas trop souvent dégradées. Sur un train par exemple, cela assure qu’il ne s’arrêtera pas de manière intempestive pour des raisons de sous-dimensionnement des ressources de calcul. Dans ce genre de contexte, RAMSES évalue la disponibilité des fonctions selon leur degré de criticité, tout en garantissant l’existence de ressources suffisantes pour les fonctions les plus critiques.

Quelles sont les grandes thématiques industrielles intéressées par ces applications de RAMSES ?

EB : Le secteur des transports est le principal domaine d’application : les systèmes embarqués temps réel critiques y sont beaucoup utilisés. Nous avons des partenariats avec Thales, Dassault, et SAFRAN en avionique, Alstom sur la partie ferroviaire et Renault pour l’automobile. Au-delà des transports, la robotique pourrait également être un domaine d’application intéressant. Les systèmes ont une dimension critique dans ce secteur, en particulier lorsque cela concerne des grandes machines qui peuvent présenter un danger pour les personnes alentours en cas de défaillance. C’est une thématique sur laquelle il pourrait y avoir de bons cas d’usage.

Dernières actualités

DAGOBAH : les tableaux, l’IA comprendra

Pour comprendre rapidement les données tabulaires, EURECOM et Orange mettent au point la plateforme d’annotation sémantique DAGOBAH.

Gaia-X : un réseau cloud européen interopérable et souverain

La France et l’Allemagne dévoilent le projet Gaia-X. Son objectif est d’uniformiser les services cloud en Europe pour faciliter le partage de données.

AIDY-F2N : un laboratoire pour répondre aux défis de la 5G

Télécom SudParis et Davidson Consulting veulent apporter des solutions mathématiques et algorithmiques pour optimiser l‘architecture réseau de la 5G.

Besoin d’informations ?