Comment éviter les courses critiques dans un programme robotique événementiel ?

Réponse rapide

Pour éviter une course critique, on protège les états partagés par synchronisation, files, transactions ou modèle d’acteur et on définit l’ordre, l’exclusion et l’annulation.

Une course peut commander deux fois

Événements simultanés et états partagés peuvent produire double action ou décision périmée. Sérialisez ou protégez les invariants et testez les interleavings.

Identifier le partage

Repérez variables, actionneurs, fichiers, files, horloges et ressources lus ou modifiés par plusieurs réactions.

Imposer un ordre

Verrous courts, messages sérialisés, versions et opérations atomiques empêchent une décision de reposer sur un état intermédiaire.

Tester les interleavings

Variez délais, répétitions, annulations, redémarrages et événements simultanés et vérifiez invariants et état sûr.

Sources et références

  1. [1] Robotics and Autonomous Systems — NIST

Cette réponse vous a-t-elle été utile ?