Therac-25

Therac-25

La Therac-25 era una máquina de radioterapia producida por la Atomic Energy of Canada Limited (AECL) después de las unidades Therac-6 y Therac-20 (las unidades anteriores fueron producidas en asociación con CGR de Francia). Estuvo envuelta en al menos seis accidentes entre 1985 y 1987, en los que los pacientes recibieron sobredosis masivas de radiación, de aproximadamente cien veces la dosis esperada. Tres de los seis pacientes murieron como consecuencia directa. Estos accidentes remarcaron los riesgos del control por software de sistemas de seguridad crítica, y estos se convirtieron en un caso de estudio típico de la informática médica y la ingeniería de software.

Contenido

Descripción del Problema

La máquina ofrecía dos modos de terapia por radiación:

  • Terapia de haz de electrones directo, la cual entregaba bajas dosis de electrones de alta energía (5 MeV a 25 MeV) por cortos períodos de tiempo;
  • Rayos X de Mega voltaje (Megavoltage X-Rays), la cual entregaba rayos X colisionando electrones de alta energía (25 Mev) en un objetivo.

Cuando operaba en el modo de haz de electrones, un haz de electrones de baja potencia era emitido directamente desde la máquina, que propagaba una concentración segura usando escáneres de magneto. En el modo de rayos X, la máquina estaba diseñada para rotar cuatro componentes en el camino del rayo de electrones: un objetivo, que convertía el haz de electrones en rayos X; un filtro difusor, que repartía el haz en un área más amplia; un juego de bloques movibles (también llamado colimador), que daba forma al haz de rayos X, y una cámara de iones de rayos X, que medía el poder del haz.

Los accidentes ocurrían cuando el haz de electrones de alta energía era activado en lugar del haz de baja energía y sin la placa difusora colocada en su lugar. El programa de la máquina no detectaba que esto estaba ocurriendo, y por lo tanto no prevenía que el paciente recibiera una dosis potencialmente letal de radiación. El haz de electrones alcanzaba a los pacientes con aproximadamente cien veces la dosis de radiación esperada, causando una sensación descrita por el paciente Ray Cox como "una intensa descarga eléctrica". Aquello provocó que gritara y huyera del cuarto de tratamiento. Varios días después aparecían quemaduras de radiación y los pacientes mostraban los síntomas de envenenamiento radiactivo. En tres casos, los pacientes afectados murieron por envenenamiento radiactivo. El defecto del programa se determinó como una condición de carrera.

Causas Originales

La comisión investigadora ha concluido que la razón primaria puede ser atribuida a las malas prácticas de desarrollo, un mal análisis de requerimientos y un mal diseño de software, y no explicitó si fueron encontrados varios errores de código. En particular, el programa fue diseñado de forma tal que era relativamente imposible de testear de forma automática.

Los investigadores de los accidentes encontraron varias causantes. Estas incluían las siguientes causas institucionales:

  • AECL no tenía el código fuente revisado de forma independiente.
  • AECL no consideró el diseño del software durante su evaluación de cómo la máquina produciría los resultados correctos y qué tipos de fallos existirían. Esto forma parte de las técnicas conocidas como ingeniería de la confiabilidad y gestión de riesgos.
  • El sistema notificaba que algo andaba mal y detenía los rayos X, pero solamente mostraba la palabra "MALFUNCTION" seguida de un número del 1 al 64. El manual de usuario no explicaba ni mostraba los códigos de error, por lo tanto el operador presionaba la tecla P para saltar la advertencia y proceder con el proceso.
  • El Personal de AECL, así como los operadores de las máquinas, inicialmente no creían en las quejas de los pacientes. Probablemente porque estaban muy confiados en la máquina.
  • AECL no había probado la Therac 25 con la combinación de software y hardware antes de montarla en el hospital.

Los investigadores también encontraron problemas de ingeniería:

  • El fallo sólo ocurría cuando una secuencia particular de teclas era ingresado en la terminal VT100 que controlaba la computadora PDP-11: la X que (erróneamente) seleccionaba el modo de fotones de 25MV, seguido de "cursor arriba", "E" que (correctamente) seleccionaba el modo de electrones de 25MeV y luego "Enter". Esa secuencia de pulsaciones era improbable, y por lo tanto el problema no ocurría muy seguido y fue desconocido por un largo tiempo.
  • El diseño no contaba con un entrelazado de hardware que previniese que el haz de electrones operase en el modo de alta energía sin el objetivo en su lugar.
  • La ingeniería había reutilizado software de modelos más antiguos, que contaban con entrelazados hardware que cubrían los defectos de software. Esos dispositivos de seguridad no tenían forma de reportar que habían sido disparado, por los que no había indicación de la existencia de comandos del software que fallen.
  • El hardware no suministraba ninguna forma para que el software verifique que los sensores estaban funcionando correctamente (ver Lazo Abierto. El sistema de posicionamiento de la mesa fue el primero implicado en los fallos de la Therac-25; el fabricante lo revisó con conmutadores redundantes para verificar de forma cruzada la operación.
  • La tarea del equipamiento de control no se sincronizaba de manera adecuada con la tarea de la interfase de operador, por ello ocurrían condiciones de carrera si el operador cambiaba la configuración demasiado rápido. Esto no se supo durante las pruebas, ya que los operadores necesitaban práctica para poder manejar la máquina velozmente para que ocurra el problema.
  • El programa establecía una variable bandera incrementándola. Ocasionalmente ocurría un desbordamiento aritmético, causando que el software ignorara los chequeos de seguridad.

El programa estaba escrito en lenguaje ensamblador, que puede requerir más atención en las pruebas y en el buen diseño. No obstante, la elección del lenguaje por si misma no fue considerado como una causa primaria en el informe. La máquina además usaba su propio sistema operativo.

Véase también

Notas

Traducción de la Versión de Wikipedia en inglés

Referencias

  • Baase, S (2008). "A Gift of Fire", Pearson Prentice Hall.

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Therac — 25 war ein Linearbeschleuniger zur Anwendung in der Strahlentherapie. Er wurde von 1982 bis 1985 in elf Exemplaren von der kanadischen Regierungsfirma Atomic Energy of Canada Limited (AECL) gebaut und in Kliniken in den USA und in Kanada… …   Deutsch Wikipedia

  • Therac-25 — war ein Linearbeschleuniger zur Anwendung in der Strahlentherapie. Er wurde von 1982 bis 1985 in elf Exemplaren von der kanadischen Regierungsfirma Atomic Energy of Canada Limited (AECL) gebaut und in Kliniken in den USA und in Kanada installiert …   Deutsch Wikipedia

  • Therac-25 — était le nom d une machine de radiothérapie développée conjointement par l Énergie atomique du Canada Limitée (EACL, Canada) et CGR MeV (France). Il s agissait d une évolution des modèles Therac 6 et Therac 20. Entre 1985 et 1987, le Therac 25… …   Wikipédia en Français

  • Therac-25 — era una máquina empleada en terapia de radiación, producida por Atomic Energy of Canada Limited, notoria por haber sido objeto del error de software, causando al menos seis accidentes entre 1985 y 1987, y que le costó la vida al menos a cinco… …   Enciclopedia Universal

  • Therac-25 — Пользовательский интерфейс аппарата[1] PATIENT NAME : JOHN DOE TREATMENT MODE : FIX BEAM TYPE: X ENERGY (MeV): 25 ACTUAL PRESCRIBED UNIT RATE/MINUTE 0 200 MONITOR UNITS 50 50 200 TIME (MIN) 0.27 1.00 GANTRY ROTATION (DEG) 0.0 0 VERIFIED… …   Википедия

  • Therac-25 — The Therac 25 was a radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) and CGR MeV of France after the Therac 6 and Therac 20 units. It was involved with at least six accidents between 1985 and 1987, in which patients… …   Wikipedia

  • Therac-25-Beschleuniger — Therac 25 war ein Linearbeschleuniger zur Anwendung in der Strahlentherapie. Er wurde von 1982 bis 1985 in elf Exemplaren von der kanadischen Regierungsfirma Atomic Energy of Canada Limited (AECL) gebaut und in Kliniken in den USA und in Kanada… …   Deutsch Wikipedia

  • Состояние гонки — У этого термина существуют и другие значения, см. Гонки. Состояние гонки (англ. race condition)  ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке… …   Википедия

  • List of software bugs — Many software bugs are merely annoying or inconvenient but some can have extremely serious consequences either financially or as a threat to human well being. This is a list of the software bugs with the most notable consequences: Space… …   Wikipedia

  • Software bug — To report a MediaWiki error on Wikipedia, see Wikipedia:Bug reports. A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”