Therac-25

Der Therac-25 war eine Strahlentherapie-Maschine, die durch die Atomenergie von Canada Limited (AECL) nach dem Therac-6 erzeugt ist, und Therac-20 Einheiten (waren die früheren Einheiten in der Partnerschaft mit CGR Frankreichs erzeugt worden).

Es wurde an mindestens sechs Unfällen zwischen 1985 und 1987 beteiligt, den Patienten massive Überdosen der Radiation, etwa 100mal die beabsichtigte Dosis gegeben wurden. Diese Unfälle haben die Gefahren der Softwarekontrolle von sicherheitskritischen Systemen hervorgehoben, und sie sind eine Standardfall-Studie in der Gesundheitsinformatik und Softwaretechnik geworden.

Problem-Beschreibung

Die Maschine hat zwei Weisen der Strahlentherapie angeboten:

  • Direkte Elektronbalken-Therapie, die niedrige Dosen von energiereichen (5 MeV zu 25 MeV) Elektronen im Laufe kurzer Zeitspannen geliefert hat;
  • Megavolt-Röntgenstrahl-Therapie, die erzeugte Röntgenstrahlen durch das Kollidieren energiereich (25 MeV) Elektronen in ein "Ziel" geliefert hat.
Als

man in der direkten Elektronbalken-Therapie-Weise funktioniert hat, wurde ein Niedrigenergieelektronbalken direkt von der Maschine ausgestrahlt, hat sich dann zu sicheren Konzentrationsverwenden-Abtastungsmagneten ausgebreitet. Als man in der Megavolt-Röntgenstrahl-Weise funktioniert hat, wurde die Maschine entworfen, um vier Bestandteile in den Pfad des Elektronbalkens rotieren zu lassen: Ein Ziel, das den Elektronbalken in Röntgenstrahlen umgewandelt hat; ein flach werdender Filter, die den Balken über ein größeres Gebiet ausdehnen; eine Reihe beweglicher Blöcke (hat auch einen collimator genannt), der den Röntgenstrahl-Balken gestaltet hat; und ein Röntgenstrahl-Ion-Raum, der die Kraft des Balkens gemessen hat.

Die Unfälle sind vorgekommen, als der Hochleistungselektronbalken statt des beabsichtigten niedrigen Macht-Balkens, und ohne den in den Platz rotieren gelassenen Balken-Streumaschine-Teller aktiviert wurde. Die Software der Maschine hat nicht entdeckt, dass das vorgekommen war, und deshalb den Patienten nicht davon abgehalten hat, eine potenziell tödliche Dosis der Beta-Radiation zu erhalten. Der Hochleistungselektronbalken hat die Patienten mit etwa 100mal der beabsichtigten Dosis der Radiation geschlagen, ein Gefühl verursachend, das vom Patienten Ray Cox als "ein intensiver Stromschlag" beschrieben ist. Es hat ihn veranlasst, zu schreien und am Behandlungszimmer knapp zu werden. Mehrere Tage später sind Strahlenbrandwunden erschienen, und die Patienten haben die Symptome von der Strahlenvergiftung gezeigt. In drei Fällen sind die verletzten Patienten später von Strahlenvergiftung gestorben.

Der Softwarefehler wird als eine Rasse-Bedingung anerkannt.

Wurzelursachen

Eine Kommission hat beschlossen, dass der primäre Grund dem schlechten Softwaredesign und den Entwicklungsmethoden, und nicht ausführlich zu mehreren Codierfehlern zugeschrieben werden sollte, die gefunden wurden. Insbesondere die Software wurde entworfen, so dass es realistisch unmöglich war, es auf eine saubere automatisierte Weise zu prüfen.

Forscher, die die Unfälle untersucht haben, haben mehrere beitragende Ursachen gefunden. Diese haben die folgenden Institutionsursachen eingeschlossen:

  • AECL hatte den unabhängig nachgeprüften Softwarecode nicht.
  • AECL hat das Design der Software während seiner Bewertung dessen nicht gedacht, wie die Maschine die gewünschten Ergebnisse erzeugen könnte, und welche Misserfolg-Weisen bestanden haben. Diese bilden Teile der allgemeinen Techniken, die als das Zuverlässigkeitsmodellieren bekannt sind, und riskieren Management.
  • Das System hat bemerkt, dass etwas falsch gewesen ist und der Röntgenstrahl-Balken gehalten wurde, aber bloß das Wort "FUNKTIONSSTÖRUNG" gezeigt hat, die von einer Zahl von 1 bis 64 gefolgt ist. Das Benutzerhandbuch hat nicht erklärt oder sogar die Fehlercodes gerichtet, so hat der Maschinenbediener den P Schlüssel gedrückt, die Warnung zu überreiten und irgendwie weiterzugehen.
  • AECL Personal, sowie Maschinenmaschinenbediener, hat am Anfang Beschwerden nicht geglaubt. Das war wahrscheinlich wegen der Rücksichtslosigkeit.
  • AECL hatte den Therac-25 mit der Kombination der Software und Hardware nie geprüft, bis es im Krankenhaus gesammelt wurde.

Die Forscher haben auch mehrere Technikprobleme gefunden:

  • Der Misserfolg ist nur vorgekommen, als in eine besondere Sonderfolge von Anschlägen auf dem VT-100 Terminal eingegangen wurde, das den PDP-11 Computer kontrolliert hat: "X", um 25MV Foton-Weise (falsch) auszuwählen, die vom "Cursor", "E" gefolgt ist, um 25 Elektronweise von MeV (richtig) auszuwählen, "Gehen" dann, alle innerhalb von acht Sekunden "Herein". Diese Folge von Anschlägen war unwahrscheinlich, und so ist das Problem sehr häufig nicht vorgekommen und ist unbemerkt seit langem gegangen.
  • Das Design hatte keine Hardware greift ineinander, um den Elektronbalken davon abzuhalten, in seiner energiereichen Weise ohne das Ziel im Platz zu funktionieren.
  • Der Ingenieur hatte Software von älteren Modellen wiederverwendet. Diese Modelle hatten Hardware greift ineinander, der ihre Softwaredefekte maskiert hat. Jene Hardware-Sicherheit hatte keine Weise zu berichten, dass sie ausgelöst worden waren, also gab es keine Anzeige der Existenz von fehlerhaften Softwarebefehlen.
  • Die Hardware hat keinen Weg für die Software zur Verfügung gestellt, um nachzuprüfen, dass Sensoren richtig arbeiteten (sieh Kontrolleur der offenen Schleife). Das Tabellenpositionssystem war das in die Misserfolge von Therac-25 hineingezogene erste; der Hersteller hat es mit überflüssigen Schaltern revidiert, um ihre Operation zu überprüfen.
  • Die Ausrüstungskontrollaufgabe ist mit der Maschinenbediener-Schnittstelle-Aufgabe nicht richtig gleichzeitig gewesen, so dass Rasse-Bedingungen vorgekommen sind, wenn der Maschinenbediener die Einstellung zu schnell geändert hat. Das wurde während der Prüfung verpasst, seitdem man etwas Praxis gebraucht hat, bevor Maschinenbediener schnell genug arbeitsfähig waren, um diese Misserfolg-Weise auszulösen.
  • Die Software hat eine Fahne-Variable durch das Erhöhen davon gesetzt. Gelegentlich ist eine arithmetische Überschwemmung vorgekommen, die Software veranlassend, Sicherheitskontrollen zu umgehen.

Die Software wurde auf der Zusammenbau-Sprache geschrieben, die mehr Aufmerksamkeit für die Prüfung und das gute Design verlangen könnte. Jedoch wird die Wahl der Sprache allein als eine primäre Ursache im Bericht nicht verzeichnet. Die Maschine hat auch sein eigenes Betriebssystem verwendet.

Siehe auch

Zeichen

Außenverbindungen


John Baldwin / Michael Hayes
Impressum & Datenschutz