
Logiciel embarqué aéronautique en C++ pour Bombardier
Via SII Group, nous avons livré du logiciel embarqué en C++ pour Bombardier dans le domaine aéronautique — écrit pour un comportement déterministe sur du matériel contraint, avec des tests rigoureux, de la revue de code et de la traçabilité. Les détails du programme sont soumis à la confidentialité client.
Bombardier est un grand constructeur aéronautique. En travaillant avec SII Group comme partenaire intégrateur, nous avons contribué du logiciel embarqué en C++ aux travaux d’ingénierie aéronautique de Bombardier.
Le logiciel embarqué aéronautique s’exécute sur du matériel dédié, avec des limites strictes de mémoire et de temps de calcul, et doit se comporter de la même manière à chaque fois. Il est développé au sein de grands programmes d’ingénierie, avec un partenaire intégrateur, de nombreuses équipes et des processus stricts.
Les détails des programmes, systèmes et matériels concernés sont soumis à la confidentialité client. Cette page décrit notre manière de travailler.
Le défi
- Comportement déterministe : temps d’exécution et usage mémoire prévisibles, sans surprise à l’exécution
- Des cibles aux ressources contraintes, où chaque allocation, copie et cycle compte
- Une vérification exigeante : chaque exigence implémentée, testée et traçable
- Travailler au sein d’un grand programme d’ingénierie, via un partenaire intégrateur et aux côtés de nombreuses autres équipes
- Un code qui doit rester lisible et maintenable sur une longue durée de vie du produit
Notre ingénierie
Du C++ moderne écrit pour des cibles contraintes et déterministes, et vérifié à chaque étape.
- 1
C++ moderne pour l’embarqué
Typage fort, RAII, constexpr et templates pour détecter les erreurs dès la compilation, dans un sous-ensemble discipliné du langage adapté aux cibles embarquées.
- 2
Code déterministe et sobre en ressources
Boucles bornées, flot de contrôle prévisible, pas de coûts cachés, et usage prudent, principalement statique, de la mémoire et du temps de calcul.
- 3
Développement guidé par les exigences
Chaque fonction implémentée à partir d’exigences identifiées, avec les décisions de conception documentées.
- 4
Tests rigoureux
Tests unitaires et d’intégration écrits avec le code et exécutés systématiquement à chaque modification.
- 5
Revue de code systématique
Chaque modification relue par un pair selon les règles de codage du programme avant d’être acceptée.
- 6
Traçabilité de bout en bout
Des liens maintenus entre exigences, code et tests : chaque exigence peut être suivie jusqu’à son implémentation et sa vérification.
Travailler avec un partenaire intégrateur
Une capacité d’ingénierie livrée au sein d’un grand programme, via SII Group.
Dans les processus du partenaire
Nous avons suivi les processus d’ingénierie, les outils et les règles qualité de l’intégrateur et du client.
Des interfaces claires
Des interfaces logicielles bien définies et des livrables convenus entre équipes.
Des livraisons complètes
Code, tests et traçabilité livrés ensemble, prêts pour la revue.
Maintenabilité à long terme
Un code lisible et documenté que d’autres équipes peuvent reprendre et faire évoluer.
Pratiques d’ingénierie
- Règles de codageDes règles de codage C++ cohérentes appliquées à toute la base de code et vérifiées en revue.
- Discipline de vérificationRien n’est terminé tant que ce n’est pas testé, relu et tracé.
- ConfidentialitéDétails du programme et informations client traités dans la plus stricte confidentialité.
Technologies et pratiques
Langage
Ingénierie
Qualité
Collaboration
Résultats
- Logiciel embarqué C++ livré pour Bombardier dans le domaine aéronautique, via SII Group
- Un code conçu pour un comportement déterministe sur du matériel aux ressources contraintes
- Tests, revue de code et traçabilité intégrés à chaque livraison
- Une collaboration fluide au sein d’un grand programme d’ingénierie avec un partenaire intégrateur
Parlons de vos enjeux.
Architecture, migration, IA ou montée en charge d’une équipe — présentez-nous votre situation. Nous vous répondons sous un jour ouvré.