Le message resta à l'écran.
DEMANDE : DÉFINIR LA LIMITE DE RÉCUPÉRATION
Dhiraj ne toucha pas au clavier.
Aarya non plus.
Pendant plusieurs secondes, le seul bruit dans le laboratoire de déploiement fut le système de refroidissement sous les baies de serveurs.
Alors Aarya parla.
« Ce n'est pas un des nôtres. »
« Non. »
« Quelqu'un a pu brancher un appareil de test sur l'interface héritée ? »
« J'ai vérifié le chemin physique. »
« Et ? »
« Il n'y a pas de canal de commande moderne. »
Aarya se tourna de nouveau vers l'affichage.
L'ancien système n'avait pas demandé une instruction.
Il avait demandé une définition.
Cette distinction importait.
Dhiraj ouvra la base de données de déploiement terrain.
« Montre-moi le site de Pune. »
L'écran se divisa en quatre panneaux.
Équipement physique.
État de capacité.
État de service.
État d'autorité.
Il en ajouta un cinquième.
Observation héritée.
La chronologie apparut.
L'ancien nœud avait émis toutes les quatre-vingt-dix secondes.
Rien de plus.
Aucun ordre.
Aucune tentative d'accès au réseau moderne.
Juste de l'observation.
Puis les données de déploiement terrain commencèrent à défiler sur l'écran.
Température du générateur.
État de la batterie.
Qualité de communication.
Pression d'eau.
Accessibilité de l'autorité.
Fenêtres de ressources de récupération.
Dhiraj étudia la séquence.
Les quatre motifs d'interaction non résolus de l'analyse précédente étaient toujours là.
Aarya zooma sur l'un d'eux.
« Regarde ça. »
Le générateur n'avait pas lâché.
La liaison de communication n'avait pas lâché.
La batterie n'avait pas lâché.
Le service n'avait pas lâché.
Pourtant le système était entré dans un état dégradé.
« Rien n'a franchi sa frontière individuelle », dit Dhiraj.
« Exactement. »
Aarya traça une ligne entre les variables.
« Le problème n'est pas les composants. »
« C'est l'interaction. »
« Oui. »
Dhiraj se pencha davantage.
L'architecture était devenue douée pour décrire ce qu'un composant pouvait faire.
Elle était devenue douée pour mesurer si cette capacité changeait.
Elle était devenue douée pour comprendre comment la perte d'une capacité pouvait affecter un service.
Mais le terrain avait révélé un autre problème.
Deux capacités pouvaient rester individuellement sûres tandis que leur trajectoire combinée devenait dangereuse.
Une liaison de communication saine pouvait devenir insuffisante quand l'accessibilité de l'autorité était déjà dégradée.
Un générateur pouvait rester dans son enveloppe thermique tandis qu'une réserve de batterie réduite raccourcissait la fenêtre de récupération.
Un service d'eau pouvait rester techniquement fonctionnel tandis que la combinaison d'une baisse de pression et d'un délai de récupération le poussait vers un seuil en aval.
Aucun des modèles existants n'était faux.
Ils étaient incomplets.
Aarya se tourna vers lui.
« Il faut arrêter de traiter les interactions comme des dépendances statiques. »
Dhiraj acquiesça.
« Elles sont dépendantes du temps. »
« Et conditionnelles. »
« À la preuve. »
« À la capacité. »
« Au service. »
« À l'autorité. »
Elle le regarda.
« Et à ce qui se passe si la prochaine chose change. »
Dhiraj sourit légèrement.
« C'est un putain de problème d'ingénieur chiant. »
« Je sais. »
---
À 07:00, le Laboratoire National de Coordination avait été converti en salle d'analyse d'ingénierie.
Atlas consomma les données terrain des dix-neuf premiers déploiements.
Aucune nouvelle autorité autonome ne fut accordée.
À la place, Dhiraj instruisit Atlas de faire quelque chose de plus ciblé.
Trouver les combinaisons de variables changeantes qui produisaient des conséquences non prédites par aucun sous-système isolé.
La première exécution dura quatorze minutes.
La deuxième, six.
La troisième, deux.
Puis le système produisit une nouvelle représentation.
Pas une liste.
Pas un arbre de dépendances.
Une surface en mouvement.
Une enveloppe d'interaction de capacités.
Dhiraj la fixa.
« Comment on appelle ça ? »
Aarya ne répondit pas immédiatement.
Elle fit pivoter le modèle.
« Interaction. »
Il attendit.
« Enveloppe d'Interaction Dynamique. »
Dhiraj acquiesça.
« Trop large. »
« Il faut que ce soit large. »
« Non. Il faut que ça dise à un ingénieur ce que ça protège vraiment. »
Aarya réfléchit un instant.
« Enveloppe d'Interaction Opérationnelle. »
« Mieux. »
Atlas généra une structure proposée.
EIO-1 — Enveloppe d'Interaction Opérationnelle
Le système était délibérément conservateur.
Il ne prédisait pas toute interaction possible.
Il surveillait les combinaisons d'états vérifiés qui pouvaient altérer la frontière opérationnelle d'un autre système.
Chaque interaction contenait :
Conditions de déclenchement.
Capacités affectées.
Exposition du service.
Sensibilité temporelle.
Confiance de la preuve.
Conséquence maximale bornée.
Autorité requise.
Condition de terminaison.
L'ajout critique était le dernier.
Une interaction ne pouvait pas rester active indéfiniment sous prétexte que la condition d'origine existait encore.
Elle devait être réévaluée en continu.
Si les conditions physiques changeaient, l'enveloppe changeait.
Si la preuve se dégradait, l'enveloppe se contractait.
Si une dépendance disparaissait, l'interaction était supprimée.
Si une conséquence inattendue apparaissait, le système s'arrêtait et demandait une revue d'ingénierie.
Dhiraj lut la règle finale.
AUCUNE HYPOTHÈSE D'INTERACTION PERSISTANTE SANS PREUVE ACTUELLE.
« Ça, dit-il, ça va dans le matériel. »
Aarya le regarda.
« Pas seulement Atlas ? »
« Surtout pas seulement Atlas. »
---
Le premier prototype d'EIO-1 occupait la moitié d'un établi.
Il n'était pas impressionnant.
Un boîtier de processeur renforcé.
Horloge indépendante.
Deux interfaces de communication isolées.
Un bus d'entrée de preuves physiques.
Un petit enregistreur d'événements.
Et un module de confinement matériellement garanti.
La sophistication résidait dans ce qu'il refusait de faire.
L'EIO-1 pouvait observer simultanément plusieurs états de capacité.
Il pouvait calculer si leur combinaison produisait une nouvelle frontière de risque.
Il pouvait signaler les contrôleurs de continuité concernés.
Il pouvait recommander la contraction d'une enveloppe existante.
Mais il ne pouvait pas autoriser l'expansion.
Il ne pouvait pas changer les priorités de service.
Il ne pouvait pas créer d'autorité.
Et il ne pouvait pas outrepasser PADE-1.
Dhiraj insista sur la séparation.
« La modélisation d'interaction ne doit jamais devenir une couche de décision cachée. »
Aarya acquiesça.
« Si elle peut changer silencieusement ce que le système a le droit de faire, on a bâti un second système d'autorité. »
« Et on n'en a pas besoin. »
« Certainement pas. »
Le prototype fut installé dans la même installation municipale qui avait échoué à la certification à cause de la batterie dégradée.
Cette fois, le test ne portait pas sur la batterie.
Il portait sur la relation entre la batterie, le générateur, les communications et la pression d'eau.
Les ingénieurs dégradèrent délibérément chaque variable en séquence.
Réserve de batterie en baisse.
Charge du générateur en hausse.
Qualité de communication en baisse.
Pression d'eau qui commence à chuter.
Individuellement, chaque système restait dans sa frontière permise.
L'EIO-1 resta silencieux.
Puis le générateur franchit un seuil d'alerte thermique.
Le système n'arrêta rien immédiatement.
À la place :
INTERACTION DÉTECTÉE
CAPACITÉS : 04
EXPOSITION DE SERVICE : MODÉRÉE
FENÊTRE DE RÉCUPÉRATION : CONTRACTION
CONFIANCE DE LA PREUVE : ÉLEVÉE
ENVELOPPE OPÉRATIONNELLE : RÉDUITE
Le système de pompage d'eau continua.
Mais les charges électriques non critiques furent réduites.
La trajectoire thermique du générateur se stabilisa.
La fenêtre de récupération cessa de se rétrécir.
Aarya regarda le graphique.
« Ça s'est produit avant le seuil de service. »
Dhiraj acquiesça.
« Parce que le système a vu l'interaction. »
L'opérateur de l'installation fixa l'affichage.
« Donc il a prédit la panne ? »
« Non », dit Dhiraj.
L'opérateur parut confus.
« Il a détecté que les conditions produisant la panne étaient en train de se former. »
Il y avait une différence.
L'une impliquait la certitude.
L'autre créait de la place pour agir.
Cette différence finirait par importer bien au-delà de l'infrastructure.
---
Le deuxième test terrain produisit un échec.
L'EIO-1 détecta une interaction dangereuse entre un chemin de communication et un chemin d'accès à l'autorité.
Le système de communication lui-même était assez sain.
Le terminal d'autorité lui-même était assez sain.
Mais les deux dépendaient de la même sauvegarde physique d'alimentation.
Si la réserve de secours tombait sous un certain point, le système de communication resterait opérationnel tandis que le terminal d'autorité perdrait l'accès.
Les modèles de capacité individuels n'avaient pas considéré cette combinaison comme dangereuse.
L'EIO-1, si.
RISQUE D'INTERACTION
ACCESSIBILITÉ DE L'AUTORITÉ : DÉGRADATION FUTURE
DÉPENDANCE : RESSOURCE DE SECOURS PARTAGÉE
CONSÉQUENCE DE RÉCUPÉRATION : ÉLEVÉE
ACTION : REVUE D'INGÉNIERIE
Aarya regarda Dhiraj.
« C'est l'architecture qui apprend quelque chose. »
« Non. »
Il regarda la ligne de secours partagée.
« C'est elle qui nous montre quelque chose qu'on a raté dans la modélisation. »
Elle sourit.
« T'es impossible. »
« Précis. »
Les ingénieurs changèrent l'arrangement physique d'alimentation.
Une petite réserve indépendante fut ajoutée à l'interface d'autorité.
La modification coûta moins cher que remplacer tout le système de communication.
Le chemin d'autorité était maintenant physiquement séparé de la ressource de secours partagée.
Un seul changement d'ingénierie éliminait une classe entière de pannes futures.
C'était la valeur de l'EIO-1.
Pas prédire les désastres.
Trouver les relations que les ingénieurs avaient oubliées de considérer.