Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Garantir un timing fiable dans les systèmes embarqués multicœurs critiques pour la sécurité

Les véhicules et avions modernes ne reposent plus uniquement sur des composants mécaniques. Leur sécurité et performance dépendent de logiciel embarqué s'exécutant sur des processeurs multicœurs hétérogènes complexes, gérant tout, du contrôle de vol à la direction assistée, avec des échéances au niveau microseconde.

Dans un environnement multicœur, le temps d'exécution d'une tâche est influencé non seulement par son propre code mais aussi par d'autres tâches partageant les mêmes ressources matérielles. Cette interférence peut pousser un système au-delà de ses marges de sécurité.

Développer du logiciel embarqué critique pour la sécurité demande un effort de plusieurs millions d'euros sur plusieurs années. Dès les premiers stades de conception, la sécurité doit être ancrée dans l'architecture et le comportement temporel de chaque tâche doit être rigoureusement compris pour garantir le respect des échéances.

Résoudre le puzzle de l'analyse temporelle multicœur

Si les processeurs multicœurs promettent une performance plus élevée, ils introduisent aussi de la contention pour ressources partagées comme bus, mémoire, caches et accélérateurs. Une tâche s'exécutant sur un cœur peut ralentir les tâches sur d'autres cœurs, créant des variations de timing imprévisibles.

Questions clés : Comment quantifier l'impact de telle interférence ? Comment analyser, tester et documenter que le logiciel critique pour la sécurité finira toujours dans ses échéances sur une plateforme multicœur ?

Leaders de l'industrie — Barcelona Supercomputing Center (BSC), Rapita Systems Ltd (RPT), Raytheon Technologies (RTRC), et Marelli Europe (MAR) — ont passé des années à adresser ces défis. BSC et Rapita livrent maintenant un ensemble de solutions qui sera bientôt adopté dans les secteurs aérospatial et automobile. Le succès repose sur outillage spécialisé, automatisation, et une méthodologie orientée sécurité, pilotée par les exigences.

Ce travail sous-tend le projet MASTECS, une initiative R&D multidisciplinaire financée par la Commission Européenne, lancée en décembre 2019. MASTECS fera mûrir les technologies et fournira une approche éprouvée pour certifier systèmes avioniques et automobiles, avec études de cas de RTRC et MAR illustrant l'impact réel.

Outils à l'état de l'art

Les outils commerciaux excellent pour l'analyse mono-cœur mais peinent face à la complexité de la certification multicœur. Les limitations incluent :

À ce jour, aucun outil commercial hors effort de développement MASTECS n'offre d'analyse temporelle multicœur complète alignée avec standards de sécurité et exigences de certification émergentes.

Analyse et contrôle d'interférence en action

La pierre angulaire de notre approche est une méthodologie de test structurée qui mélange expertise matériel et logiciel pour générer des preuves de comportement temporel multicœur. La technologie de micro-benchmark multicœur de BSC (MμBT), commercialisée par Rapita comme RapiDaemons, permet aux concepteurs de créer des scénarios d'interférence qui stressent des ressources partagées spécifiques.

Les micro-benchmarks — minuscules extraits de code bas niveau — opèrent à l'interface matériel-logiciel pour imposer une pression quantifiable sur une ressource cible. Ils révèlent l'effet de canaux d'interférence et peuvent être adaptés pour induire, mesurer, ou valider la contention. Attributs clés :

  1. Pression ciblée, quantifiable sur une ressource partagée.
  2. Comportement vérifiable via moniteurs d'événements.
  3. Alignement avec exigences temporelles spécifiques, comme tester l'efficacité d'atténuation.

Garantir un timing fiable dans les systèmes embarqués multicœurs critiques pour la sécurité
Figure 1 : Utilisation de micro-benchmarks dans analyse d'interférence. (Source : Auteurs)

Une bibliothèque diverse de micro-benchmarks existe pour matcher niveaux d'interférence désirés, maximiser impact ressource, ou agir comme tests « victime » sensibles.

Pour analyser l'interférence, nous associons MμBT avec un Modèle de Contention de Tâche (TCM) qui fournit estimations précoces de délais de contention. RapiTest et RapiTime de Rapita automatisent création et exécution de tests sur la cible embarquée.

Méthodologie de conception

Suivant un processus en sept étapes intégré au cycle de vie logiciel en V (voir Figure 2), les ingénieurs gagnent une compréhension profonde des effets d'interférence :

  1. Configuration matériel & identification canaux d'interférence. Experts matériel identifient réglages critiques, voies d'interférence, options d'atténuation, tout en sélectionnant moniteurs d'événements pour vérification.
  2. Définir exigences temporelles. Capturer besoins utilisateur, risques, contraintes sécurité, et évaluer stratégies d'isolation matériel.
  3. Conception cas de test. Élaborer descriptions de test validant hypothèses, spécifiant micro-benchmarks nécessaires pour analyse interférence sous conditions isolées et stressées.
  4. Implémenter procédures de test. Assembler cadre de test, micro-benchmarks, sondes de mesure. Actuellement manuel, cela sera automatisé dans MASTECS.
  5. Collecter preuves. Exécuter tests sur plateforme cible, collectant données liées directement aux exigences de vérification.
  6. Analyser résultats. Experts techniques examinent résultats vs exigences. Par exemple, Figure 3 montre la décomposition temps d'exécution de RapiTime.
  7. Valider & documenter. Revue finale, génération rapport, artefacts qualification prêts pour soumissions certification.

Garantir un timing fiable dans les systèmes embarqués multicœurs critiques pour la sécurité
Figure 2 : Étapes MTA dans processus développement logiciel V-model. (Source : Auteurs)

Expertise matériel et processus d'analyse temporelle

L'insight matériel est vital dès le début. Implication précoce inclut :

  1. Identifier configurations multicœur façonnant comportement fonctionnel et temporel, et déterminer mécanismes d'isolation réduisant contention.
  2. Repérer canaux d'interférence en naviguant manuels processeur complexes et consultant vendeurs pour détails manquants.
  3. Sélectionner moniteurs d'événements capturant activité tâche sur canaux d'interférence, et les valider avec micro-benchmarks dédiés [2].
  4. Collaborer avec analystes temporels pour dériver exigences et concevoir tests chargeant canaux d'interférence spécifiques.

Dans stades ultérieurs, experts matériel évaluent résultats tests, affinent hypothèses, proposent tests additionnels si nécessaire.

Garantir un timing fiable dans les systèmes embarqués multicœurs critiques pour la sécurité
Figure 3 : Analyse résultats (RapiTime). (Source : Auteurs)

Le tableau d'ensemble

Le processus de conception en sept étapes fait partie d'une méthodologie plus large de vérification multicœur (voir Figure 2). Elle délivre traçabilité complète — des preuves et résultats jusqu'aux exigences et conception — supportant tanto CAST-32A que ISO 26262. CAST-32A, publié par l'équipe Certification Authorities Software Team (CAST) en 2016, définit objectifs pour avionique multicœur sûre, incluant bornage d'interférence. EASA et FAA travaillent sur une adaptation AMC/AC unifiée (AMC 20-193) attendue cette année.

L'expertise ne peut être automatisée

La dynamique d'interférence est complexe ; les outils automatisés ne peuvent que compléter, pas remplacer, ingénieurs chevronnés. Experts multicœur apportent connaissance profonde configurations matériel et canaux d'interférence, tandis qu'analystes logiciels traduisent exigences en tests rigoureux. L'insight humain est essentiel pour valider hypothèses, interpréter résultats, itérer sur designs.

Références

  1. Reinhard Wilhelm. Mixed Feelings about Mixed Criticality. Workshop on Worst‑Case Execution Time Analysis, 2018.
  2. Enrico Mezzetti, Leonidas Kosmidis, Jaume Abella, Francisco J. Cazorla. High‑Integrity Performance Monitoring Units in Automotive Chips for Reliable Timing V&V. IEEE Micro 38(1): 56‑65 (2018).
  3. EASA and FAA to issue further guidance on multicore certification this year.

Embarqué

  1. Débogage systèmes embarqués : types, techniques et outils pour logiciel fiable
  2. Chaînes de caractères : une vulnérabilité cachée dans les logiciels embarqués
  3. SOAFEE : une architecture cloud-native pour plateformes automobiles logicielles
  4. TRS-STAR EPS-KBLHE : PCs embarqués robustes, sans ventilateur, pour automatisation industrielle silencieuse
  5. Axiomtek CAPA310 : SBC embarqué 3,5 pouces pour applications critiques
  6. 14 vulnérabilités critiques dans la pile TCP/IP NicheStack exposent les appareils OT aux attaques à distance
  7. L'IA prédit l'avantage quantique : un réseau neuronal prédit le comportement du système
  8. Systèmes Embarqués & Intégration Système : Architecture Moderne et Connectivité
  9. Exploiter le DevOps pour surmonter les défis du logiciel embarqué