Génération de code pour l’avionique des systèmes aérospatiaux

La génération de code pour les systèmes avioniques convertit automatiquement les modèles en code documenté de haute qualité, embarqué dans des éléments remplaçables en ligne (LRU). Cette procédure a déjà permis aux entreprises aérospatiales de réduire leurs efforts de 40 % par ligne de code, d’atteindre la qualité Six-Sigma pour le logiciel avionique et de garantir le bon fonctionnement du pilote automatique dès le premier essai.

Avec des millions de lignes de code générées automatiquement grâce à Embedded Coder® dans les LRU d'aujourd'hui, MathWorks continue de développer des technologies dont les entreprises ont besoin pour :

  • L'architecture et le design de logiciel
  • La génération du code des systèmes avioniques
  • La vérification du code des systèmes avioniques, y compris les tests software-in-the-loop et processor-in-the-loop
  • La certification DO-178

« Nous utilisons notre modèle de design de système dans Simulink pour l’ARP4754 afin d'établir des exigences stables et objectives. Nous gagnons du temps en utilisant ce modèle comme base pour notre modèle de design logiciel pour le DO-178, à partir duquel nous générons le code de l’avionique, et en réutilisant les tests de validation pour la vérification logicielle. »

Ronald Blanrue, Airbus Helicopters

L'architecture et le design de logiciels

Simulink® et Stateflow® sont particulièrement adaptés au développement des designs de systèmes aérospatiaux (avionique, GN&C, propulsion ou radar, notamment). Utiliser des  spécifications exécutables plutôt que des diagrammes statiques accélère le design et permet d'effectuer les opérations de vérification et de validation très tôt dans le cycle de développement. Avec System Composer et Simulink Requirements, vous pouvez créer des modèles d'architecture et tracer les exigences.

Génération de code SIMD à partir d'un modèle Simulink.

Génération et intégration du code des systèmes avioniques

Embedded Coder génère du code embarqué depuis des fichiers MATLAB® ou des modèles Simulink. Le code C ou C++ ANSI/ISO est généré par défaut pour n’importe quelle cible. De plus, des API flexibles permettent d'optimiser facilement ce code pour des MCU ou des DSP spécifiques. L'intégration de code manuel pour la simulation ou la génération de code est supportée. Avec GPU Coder, générez du code pour les GPU.

Vérification du code des systèmes avioniques

Simulink Code Inspector contribue à automatiser les revues de code source pour les normes de sécurité en effectuant une analyse d'équivalence structurelle et en générant des rapports de traçabilité basés sur un modèle et son code généré.

Les tests software-in-the-loop (SIL), processor-in-the-loop (PIL) et hardware-in-the-loop (HIL) constituent la pierre angulaire de la vérification du code des systèmes avioniques. En effet, ils automatisent l'exécution et la comparaison des résultats du code par rapport au comportement du modèle de référence. La création d'un environnement de test PIL est supportée avec Embedded Coder ou une connexion directe à vos cartes processeur. Vous pouvez créer, exécuter, examiner et organiser des tests et des cas de tests à l'aide de Simulink Test™. Vous pouvez calculer la couverture structurelle du code généré à l'aide de Simulink Coverage™ pour évaluer l'état de réalisation de vos tests.

Certification DO-178B

La certification DO-178 constitue la principale norme de sécurité logicielle pour le secteur aérospatial. Le support de MathWorks pour le DO-178 est assuré par le DO Qualification Kit. Il permet un processus de génération de code qualifiable en utilisant des outils de qualification pour vérifier les modèles et le code, dont Simulink Code Inspector.