Aller au contenu principal

Systèmes de négociation

Comprendre les états d’exécution d’un système de négociation

Pourquoi les états en cours, en pause et arrêté comptent, comment les interpréter et ce qu’une interface opérationnelle claire doit communiquer.

Par Sunbot Labs

Mis à jour le

5 min de lecture

Illustration des états du système commercial reliés par des transitions surveillées

Le moyen le plus rapide de perdre confiance dans un système est de cacher son état d'exploitation. Les états d'exécution définissent si le logiciel peut évaluer les entrées, soumettre de nouvelles demandes, poursuivre la surveillance ou attendre la récupération. Les étiquettes claires comptent, mais les règles de transition et les conséquences opérationnelles derrière chaque étiquette comptent davantage.

L’état en cours ne signifie pas que le système est sain

Un système peut fonctionner et a encore besoin d'attention. L'état d'exécution devrait être visible parallèlement au contexte d'événement afin que les opérateurs sachent ce que le logiciel fait.

Une interface utile associe l'état à une activité récente, de sorte qu'un opérateur peut faire la différence entre un flux de travail qui fonctionne normalement et un flux de travail qui fonctionne mais qui est coincé derrière une entrée qu'il n'a jamais reçue.

Illustration des états du système commercial reliés par des transitions surveillées

En pause est une limite de contrôle délibérée

L'opérateur doit cesser intentionnellement de nouvelles actions tout en préservant la visibilité et le contexte. C'est un état de contrôle, pas une vague défaillance partielle.

La pause doit également être réversible et attribuable. L'interface devrait enregistrer qui a interrompu le flux de travail et quand, donc la reprise est une décision plutôt qu'une supposition.

L'arrêt doit être sans ambiguïté

L'arrêt signifie que le système ne prend pas de nouvelles mesures. Cet état doit être explicite tant dans l'interface que dans le modèle d'exploitation.

L'ambiguïté est chère. Si arrêté peut signifier calmement partiellement arrêté, le modèle d'exploitation a une lacune que aucune quantité de polissage d'interface ne fermera.

Concevoir les transitions, pas seulement les étiquettes

La plupart des confusions opérationnelles se produisent entre les États plutôt qu'à l'intérieur. Que se passe-t-il lorsqu'un flux de travail est interrompu? Quelles données ou actions sont abandonnées lors de l’arrêt? Qui est autorisé à le reprendre?

Répondre à ces questions pendant la phase de conception est beaucoup moins cher que de répondre à ces questions lors d'un incident.

  • Ce qui arrive au travail en vol au moment d'une pause
  • Que les entrées en file d'attente soient conservées, rejetées ou rejouées
  • Quels rôles peuvent reprendre ou arrêter le flux de travail
  • Comment la transition est enregistrée pour examen ultérieur

Ce que les opérateurs doivent pouvoir répondre en cinq secondes

Une interface d’exécution bien conçue passe un test simple: un nouvel opérateur devrait pouvoir répondre à ces questions d'un seul écran, sans demander à un collègue.

  • Dans quel état est le système?
  • Qui a changé cet état, et quand?
  • Quelque chose attend-il derrière l'état actuel?
  • Quelle est la prochaine action, et qui la possède?
Illustration d'un opérateur examinant l'état d'exécution, les événements, les alertes et les actions suivantes

Spécifier les conséquences de l'état avant de nommer les contrôles

Pour chaque État, déterminer si de nouveaux signaux sont évalués, si de nouvelles demandes de commande peuvent être présentées, comment les commandes ouvertes sont traitées, si la surveillance de la position se poursuit, quelles alertes demeurent actives et qui peut se retirer. Il peut s'agir d'arrêter les nouvelles présentations pendant que la surveillance se poursuit; l'arrêt peut nécessiter un arrêt pur et un processus de rétablissement distinct. La politique exacte doit être visible plutôt que déduite de l'étiquette.

Tester les transitions au cours d'une demande ouverte, les données du marché, la déconnexion du courtier, le changement de configuration et le redémarrage. Si le système ne peut pas établir l'état actuel de la plateforme, il devrait entrer dans la récupération ou l'examen plutôt que de retourner directement à l'exécution. Ces contrôles gèrent le fonctionnement du logiciel; ils ne suppriment pas le risque de négociation.

Les libellés d’état ne deviennent opérationnelles que lorsque leurs conséquences sont documentées.
ÉtatNouvelles communicationsSurveillanceÉtat de sortie
CourirAutorisé par des gardes configurésTous les contrôles nécessaires sont actifsPause, arrêt, défaillance ou défaillance de la garde
PausBloquéPoursuivre les vérifications de compte et de commande définiesCause dégagée et de reprendre les gardes passent
RécupérationBloquéRéconcilier l'état local et le lieuDifférences résolues ou attribuées
ArrêtsBloquéMaintenir la visibilité requise en matière de santé et de vérificationProcédure de redémarrage explicite

Questions pratiques

Questions fréquentes sur le sujet

Pourquoi les états d'exécution sont-ils plus importants que les simples libellés d’état?

Les États définissent ce que le système est autorisé à faire ensuite. Les statistiques décrivent ce qui s'est déjà passé. Les opérateurs ont besoin du premier à agir et du deuxième à examiner.

Est-ce que l'arrêt d'un flux de travail dejette le travail en file d'attente?

C'est une décision de conception qui doit être documentée. La partie importante est que le comportement est explicite dans l'interface plutôt que découvert lors d'un incident.

Combien d'états d'exécution un système devrait-il exposer?

Assez peu pour être mémorable et distinct. Courir, s'arrêter et couvrir la plupart des besoins opérationnels, à condition que les transitions entre eux soient clairement définies.

Collaborer avec Sun Cluster

Vous planifiez un système semblable pour votre organisation?

Les ingénieurs Sun Cluster ont automatisé les systèmes de négociation avec un état d'exécution explicite, des garanties opérationnelles et des chemins de récupération.