Mission de stage: Un programme temps-réel ASTERIOS s'écrit en utilisant le langage PsyC, et se décompose en une pluralité d'unités d'exécutions nommées « agents », qui définissent des automates temporisés, et peuvent être assimilés à des threads dans une certaine mesure. Le PsyC est un langage d'architecture dont la syntaxe est fortement inspirée du C ; son objectif est d'orchestrer des instructions C en leur affectant des contraintes temporelles, ainsi que d'exprimer des canaux de communication temporisés entre agents. Le PsyC est compilé par une chaîne outillée propriétaire développée en interne. Elle pilote une chaîne de compilation « classique » sur étagère (e.g. gcc) permettant la génération de code objet ainsi que l'édition de liens et la manipulation de binaires. Les binaires issus de la phase de compilation sont exécutés par une plateforme d'exécution PsyC (ASTERIOS Engine) : typiquement, un noyau temps-réel s'exécutant directement sur un matériel dédié. Asterios Technologies réalise la conception, le développement, et la campagne de certification de ces composants logiciels, de sorte à assurer une compatibilité avec le DAL-A, plus haut niveau de sûreté de fonctionnement du standard aéronautique DO-178C. Il est également possible d'exécuter du PsyC en mode simulation via ASTERIOS Simulator, qui s'exécute nativement sur un système d'exploitation grand public (e.g. GNU/Linux ou Windows). Rust est un langage de programmation système en pleine croissance depuis sa première version stable en 2015.Les bonnes propriétés du langage ont suscité beaucoup d'intérêt, notamment dans le domaine de l'aéronautique. Les objectifs de ce stage consistent à étudier les préconditions permettant l'exécution d'un programme Rust sur un environnement bare-metal (sans le support d'un système d'exploitation), et à exécuter un programme Rust au sein d'un agent PsyC piloté par un noyau ASTERIOS. Le stage sera découpé en plusieurs jalons : 1. Découverte de l'environnement ASTERIOS et du langage PsyC. 2. Mise en place de mécanismes de FFI (Foreign Function Interface) permettant l'exécution de code Rust au sein de code PsyC sur ASTERIOS Simulator, permettant de se reposer sur un système d'exploitation généraliste. 3. Étude des mécanismes de lancement d'un programme Rust compilé en bare-metal. 4. Application des connaissances obtenues pour porter le prototype développé avec ASTERIOS Simulator sur un système embarqué piloté par ASTERIOS. Il pourra être nécessaire de modifier le noyau ASTERIOS pour obtenir un support satisfaisant des programmes Rust.
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.