Réponse rapide
Coordonner plusieurs agents logiciels demande des contrats d’échange, une horloge ou un ordre d’événements, une gestion des ressources et une règle lorsque leurs objectifs divergent. Un superviseur ou un protocole attribue l’autorité et détecte les doublons. Les agents ne doivent pas exécuter simultanément des commandes incompatibles sur le même actionneur.
Répartir responsabilités et états
Chaque agent possède propriétaire, entrées valides, sorties, fréquence et conditions de retrait. Les transitions, verrous et priorités sont explicites. Une information porte son âge, sa source et sa qualité pour éviter une fusion aveugle.
Tester concurrence et reprise
Le banc injecte retards, messages dupliqués, redémarrages, perte de leader et charge élevée. On mesure ordre, conflit, délai et état obtenu. Une coordination interrompue revient à une politique locale et bornée.
Ne pas résoudre un conflit par le dernier message reçu
L’ordre réseau ne suffit pas à définir une priorité de sécurité ou une commande valide. Autorité, échéance et contexte doivent être vérifiés. Les arbitrages sont visibles dans les journaux.
Sources et références
- [1] Artificial intelligence and robotics — NIST