Systerel dispose d’un centre de compétences pour le développement de logiciels critiques, embarqués et temps réel.
Ces compétences s’appliquent notamment :
- à la réalisation et à l’intégration des couches basses de logiciels complexes
- à la réalisation de logiciels applicatifs soumis à des exigences de sûreté et/ou de sécurité
- au portage en contexte industriel d’algorithmes développés en laboratoire
- à l’évolution maîtrisée de logiciels existants, incluant un processus de reverse-engineering
Logiciels critiques
Les logiciels critiques doivent respecter des exigences issues d’études de sécurité.
Leur cycle de développement est contraint par un contexte normatif spécifique : EN 50128, EN 50716, DO178, CEI 61508…
Systerel met en place les processus, méthodes et outils nécessaires à l’obtention du niveau d’intégrité logicielle requis par les normes applicables.
D’un point de vue technologique, cela passe par la mise en œuvre :
- d’architectures redondées et diversifiées de type 2oo2 ou 2oo3
- de mécanismes de ségrégation spatiale et temporelle entre fonctions de niveaux d’intégrité différents
- de chaînes de développement qualifiées ou spécifiques (pour plateforme à base de monoprocesseur codé par exemple)
Logiciels embarqués
Couches basses
Les ingénieurs Systerel maîtrisent les implémentations de couches basses :
- BSP, Drivers, Middleware
- communication niveaux 1 et 2 (RS, SPI, I2C, CAN, Ethernet)
- protocoles industriels (CANOpen, ModBus, OPC UA…)
- moteurs de séquencement
Systèmes d’exploitation temps-réel
Systerel possède une expertise dans la mise en œuvre de systèmes d’exploitation temps-réel.
Outre la capacité à déployer et intégrer ces composants logiciels, Systerel sélectionne l’OS le plus adapté aux contraintes des projets (safety, empreinte mémoire, coûts, performances, …) parmi l’offre open source ou propriétaire : FreeRTOS, Zephyr, Micrium OS, QNX, Linux RT, PikeOS.
Problématiques temps réel
Les équipes de Systerel peuvent implémenter des traitements synchrones en temps réel dur ou des traitements asynchrones (cibles microcontrôleurs ARM, TI, Power PC…).
Nos experts maîtrisent les problématiques associées à la mise en œuvre de RTOS, telles que :
- l’ordonnancement priorisé des tâches
- la synchronisation entre tâches ou entre process (IPC)
- l’optimisation de performances
Afin de résoudre des problèmes épineux de consommation de mémoire ou de CPU, Systerel dispose des outils et des moyens humains permettant d’instrumenter le code pour diagnostic et correction.
Cette expertise est appliquée à la mise en œuvre d’algorithmes issus de recherches menées par des acteurs métier disposant d’une connaissance précise des phénomènes physiques. Ces algorithmes sont portés suivant un process industriel avec optimisation des performances et vérification des résultats par rapport aux modèles MATLAB.
Références
- Commande sécurisée des aiguilles et des feux de signalisation ferroviaire (SIL4, EN 50128)
- Logiciel d’odométrie avec synchronisation via des balises
- Mise en œuvre d’un protocole de redondance en anneau de réseau Ethernet (MRP)
- Tableau de bord sécurisé de pilotage de train (DMI SIL2)
- Monitoring de moteur d’avion embarqué sur carte OMAP
- Portage de Linux sur carte dédiée OMAP (ARM+DSP)
- Logiciel embarqué de centrale inertielle d’hélicoptère
- Drivers sécurisés I/O et CAN en langage Ada (SIL4, EN 50128)
- Portage d’une passerelle CAN – MVB sur processeur Texas Hercules RM48
- Algorithme de détection de défaut de voie ferroviaire embarqué sur rame IRIS
- Développement de passerelles de communication SIL2 pour systèmes ATS
- Développement en Ada d’une interface SIL4 entre un RBC et un Control Center
- Développement de simulateurs en Python à des fins de tests automatiques d’équipements ferroviaires
- Développement d’un outil de maintenance orienté cyber pour le maintien en conditions de sécurité d’une flotte d’équipements ferroviaires
Formations
Systerel propose plusieurs modules de formation pour accompagner le développement de compétences techniques :
– Langage C appliqué aux systèmes embarqués
– Langage Ada, particulièrement adapté aux systèmes critiques temps réel