Elektronika.lt
 2024 m. gruodžio 22 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 - Elektronika, technika
 - Kompiuterija
 - Telekomunikacijos
 - Įvykiai, visuomenė
 - Pažintiniai, įdomybės
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 Schemų archyvasSąrašas
 Teorija, žinynaiSąrašas
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Gruodžio 22 d. 11:24
Energetikos sektoriaus laukia pokyčiai – alternatyvų yra, bet ar užteko laiko pasiruošti?
Gruodžio 21 d. 11:33
Kokį elektronikos įrenginį dovanoti, kad jis vėliau neišaugintų elektros sąskaitos?
Gruodžio 20 d. 17:12
KTU mokslininkai sukūrė nanolazerį – sidabro nanokubus panaudojo šviesos generavimui
Gruodžio 20 d. 14:28
Lietuvių kalba ir technologijos: VU mokslininkų projektas LIEPA-3 atvers naujas galimybes
Gruodžio 20 d. 11:49
Stacionarūs kompiuteriai: koks jų vaidmuo nešiojamųjų kompiuterių eroje?
Gruodžio 20 d. 08:14
„DS Automobiles“ pristato naujausią savo elektrinį flagmaną – „DS N°8“ kupė
Gruodžio 19 d. 20:18
Naudingi patarimai, kurie padės maksimaliai padidinti jūsų elektrinio automobilio priemonės įveikiamą atstumą
Gruodžio 19 d. 17:27
Žaidybinimas: efektyvus švietimo įrankis ar bėgimas nuo tikrovės?
Gruodžio 19 d. 14:27
Orkaitės darbymetis prasideda: 5 paprasti patarimai, kurie kalėdinius kepinius leis paruošti elektrą naudojant taupiau
Gruodžio 19 d. 11:15
Proveržis magnetų tyrimuose: ištisas savaites tarnaujanti telefono baterija ir 1000 kartų didesnė jo sparta
FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Reklama
 Straipsniai » Pažintiniai, įdomybės Dalintis | Spausdinti

Kada programinės klaidos būna mirtinos: „Therac-25“ istorija

Publikuota: 2008-05-27 07:01
Tematika: Pažintiniai, įdomybės
Skirta: Pradedantiems
Autorius: Mindaugas Barysas
Aut. teisės: ©Alfa.lt
Inf. šaltinis: Alfa.lt

Technologijoms žingsniuojant į priekį šimtamyliais žingsniais, kompiuteriai tampa vis labiau neatskiriami nuo mūsų gyvenimo būdo – neretai, patys nė nesusimąstydami, savo gyvybę saugoti atiduodame į šiems nuostabiems ir sudėtingiems aparatams. Tačiau šalia angelo paveikslo egzistuoja ir demono sąvoka: blogai užprogramuotas draugiškas ir gelbstintis kompiuteris greitai gali tapti netgi žudiku.

 Rodyti komentarus (0)
Įvertinimas:  1 2 3 4 5 

Technologijoms žingsniuojant į priekį šimtamyliais žingsniais, kompiuteriai tampa vis labiau neatskiriami nuo mūsų gyvenimo būdo – neretai, patys nė nesusimąstydami, savo gyvybę saugoti atiduodame į šiems nuostabiems ir sudėtingiems aparatams.

Gal todėl, kad draugiško ir visad gelbstinčio kompiuterio paveikslas baigia įsitvirtinti mūsų kolektyvinėje pasąmonėje, nė kiek nebestebina ir tai, kad kompiuteriai plačiai panaudojami medicinoje – tiek diagnostinėje, tiek terapinėje.

Tačiau šalia angelo paveikslo egzistuoja ir demono sąvoka: blogai užprogramuotas draugiškas ir gelbstintis kompiuteris greitai gali tapti netgi žudiku.

Prieš apšaukdami technofobais tuos, kurie sako, kad klysti – žmogiška, ir kad kompiuteris – tik įrankis žmogaus rankose, žinokite, kad mirtinų klaidų buvo, ir ši – „Therac-25“ istorija – viena iš jų.

„Therac-25“ buvo sukurtas tam, kad padėtų gelbėti gyvybes. Prieš tai kompanijos „AECL“, sukūrusios „CANDU“ branduolinius reaktorius, gaminti radioterapiniai aparatai „Therac-6“ ir „Therac-20“ buvo gerokai silpnesni, ne tokie našūs, ir buvo valdomi iš esmės mechaniškai – kompiuteris buvo naudojamas tik kaip priedas. „Therac-25“, naujos kartos, gerokai efektyvesnis ir mažesnis radioterapijos aparatas turėjo dvi inovatyvias naujoves: jis turėjo du švitinimo režimus ir buvo valdomas „DEC“ firmos kompiuterio „PDP11“.

Kada programinės klaidos būna mirtinos: „Therac-25“ istorija

Režimai buvo valdomi volframo plokštele, uždengiančia elektronų srautą: uždengus būdavo galima švitinti didelės energijos (25 MeV) rentgeno spinduliais, o neuždengus – „silpna“ (5–25 MeV) elektronų srauto srove.

Tiesa, kurdami „Therac-25“, „AECL“ padarė porą esminių klaidų: jeigu „Therac-6“ ir „Therac-20“ buvo sukurti pagal išbandytus radioterapijos aparatus, veikiančius be kompiuterio įsikišimo, tai „Therac-25“ buvo sukurtas taip, kad būtų valdomas tik kompiuterio, be to, jeigu „Therac-20“ turėjo elektronines ir mechanines apsaugos sistemas, nepriklausančias nuo kompiuterio, tai, kurdami „Therac-25“, „AECL“ taupumo sumetimais nusprendė jų atsisakyti ir visą atsakomybę užkrauti ant programinės įrangos pečių.

Programinė įranga irgi buvo kuriama taupant laiką ir lėšas: ji buvo pagrįsta „Therac-6“ programiniu kodu, naudojo kai kurias „Therac-20“ paprogrames, buvo rašoma naudojant „PDP assembly“ kalbą ir nebuvo pakankamai dokumentuota.

Nepaisant to, 1983 metais „Therac-25“ buvo beveik paruoštas naudojimui. „AECL“ atliko įrenginio saugumo analizę, į ją neįtraukusi programinės įrangos, ir padariusi tris prielaidas:

  • Programavimo klaidų skaičius sumažintas iki minimumo testuojant simuliatoriuje.
  • Programinė įranga neprastėja dėl susidėvėjimo, nuovargio ar pakartotinio naudojimo.
  • Programos vykdymo klaidos įvyksta dėl aparatinės dalies gedimų ar atsitiktinių klaidų, sukeltų alfa dalelių ar elektromagnetinio triukšmo.

Vienuolika „Therac-25“ iškeliavo į ligonines – penki į JAV, šeši į Kanadą. Nuo 1983 iki 1987 metų – kai aparatai buvo sugražinti į gamyklą dėl „esminių konstrukcijos pakeitimų“, į kuriuos įėjo ir apsaugos įrengimų, nepriklausančių nuo programinės įrangos, įdiegimas – įvyko šešetas įvykių, iš kurių trys baigėsi paciento mirtimi.

Pirmasis incidentas įvyko 1985 metais, Kennestono regiono onkologiniame centre, praėjus šešiems mėnesiams nuo aparato eksploatacijos pradžios – 61 metų amžiaus moteris patyrė radiacinį nudegimą, po kurio ji nebegalėjo valdyti dešinės rankos ir teko amputuoti krūtį. Nukentėjusioji padavė onkologinį centrą ir „AECL“ į teismą.

„AECL“ atsisakė patikėti, kad radiacinį nudegimą galėjo sukelti „Therac-25“, sumokėjo nežinomo dydžio kompensaciją ir teismo išvengė. Verta atkreipti dėmesį ir į tai, kad „AECL“ neturėjo procedūrų tokių incidentų sekimui ir nesiėmė ieškoti galimos problemos.

Antrąja „Therac“ auka tapo keturiasdešimtmetė moteris, prieš tai jau turėjusi 23 „Therac“ radioterapijos seansus. Praėjus vos 5 sekundėms nuo terapijos pradžios, aparatas nustojo dirbęs ir kompiuterio ekrane technikui užsižiebė užrašas: „No Dose“. Technikas, pripratęs prie tokių aparato „ožiavimųsi“, paspaudė „P“ – atseit, tęsti. Šis scenarijus pasikartojo penkis kartus, ir pacientė gavo apie 15000 radų radiacijos (kai normali terapinė dozė siekia 200 radų). Moteris mirė nuo vėžio vos už trijų mėnesių – bet net jei ji ir būtų likusi gyva, jai dėl radiacijos perdozavimo būtų reikėję protezuoti visą klubą. Incidentas įvyko Kanadoje, Ontarijo vėžio fondo ligoninėje, esančioje Hamiltone.

Trečias incidentas įvyko Yakima miestelyje, Vašingtono valstijoje – pacientas patyrė radiacinį nudegimą, tačiau po daugelio metų pilnai išgijo.

Žiauriausias įvykis buvo ketvirtas – Tyler miestelyje, Teksase. Vyriškos lyties pacientui buvo vykdoma radioterapija nugaros srityje. Aparatas buvo nustatytas rentgeno spinduliavimui, taigi operatorius tiesiog spustelėjo klavišą „aukštyn“ ir pakeitė režimą, taip aktyvuodamas dar nežinomą programinės įrangos klaidą. Paleidus aparatą, kompiuteris parodė klaidą „Malfunction 54“ („Gedimas 54“), reiškiančią, kad buvo išspinduliuota per maža dozė. Technikas paspaudė „P“.

Pacientas, jau pirmąjį kartą gavęs gerokai per didelę dozę, kėlėsi nuo stalo – ir gavo antrąją dozę. „Therac-25“, buvęs šioje ligoninėje, turėjo neveikiančią garso ir vaizdo stebėjimo įrangą, todėl technikas nežinojo, kad apšvitino pacientą, kuris per pirmas savaites nustojo valdyti abi kojas ir kairę ranką, o po penkių mėnesių numirė. Jis tapo pirmąja auka, kurios mirtis buvo tiesiogiai susijusi su „Therac-25“ aparatu. Penktas įvykis įvyko toje pačioje klinikoje, kai tas pats technikas padarė tą pačią klaidą – „ištaisė“ režimą ir kompiuteris parodė lemtingą klaidos pranešimą „Malfunction 54“. Šįkart garso stebėjimo įranga buvo sutaisyta ir technikas išgirdo, kaip žmogus, gavęs dozę suklykia ir ima dejuoti. Pacientui radioterapija buvo vykdoma veido srityje, todėl milžiniška radiacijos dozė pažeidė smegenis, žmogus krito į komą ir po trijų savaičių mirė.

Šeštas ir paskutinis incidentas vėl įvyko Yakima, Vašingtono valstijoje – atliekant terapiją aparatas vėl „užsikirto“, vėl buvo paspaustas mygtukas „P“, žmogus, kuriam reikėjo silpno švitinimo, gavo per didelę dozę, ir mirė po trijų mėnesių.

Kyla klausimas – kas įvyko? Kas kaltas?

Pasirodo, aparate buvo panaudota ankstesnių modelių, turėjusių nuo programinės įrangos nepriklausomus blokavimo mechanizmus ir todėl mažiau jautrių programavimo klaidoms, programinė įranga, kuri dėl aparatinių apribojimų negalėjo patikrinti, ar visi davikliai veikia teisingai.

Pagrindinėje programoje tas pats kintamasis buvo naudojamas tiek operatoriaus įvestų duomenų, tiek filtrų sistemos padėties analizei. Greitai įvedant duomenis, susidarydavo lenktynių aplinka. Buvo nustatyta, kad 8 sekundes trunkančio magnetų nustatymo metu sistema visiškai ignoruodavo įvedamą informaciją, nors operatorius to nematydavo (klaviatūra reaguodavo, ir renkami simboliai pasirodydavo ekrane). Vienas esminis kintamasis buvo nustatomas į loginio vieneto būseną vienetu padidinant jo reikšmę. Tam buvo skirtas vienas baitas, todėl 256 kartus pakartojus tokią operaciją, įvykdavo buferio perpildymas, ir kintamojo reikšmė „peršokdavo“ į nulį.

Klaidos, kurias padarė pati „AECL“ – iki skaudumo paprastos: kompanija saugojo programinės įrangos kodą paslaptyje ir neleido jo patikrinti nepriklausomiems ekspertams, neatliko pakankamai išsamaus įrangos testavimo – tam buvo skirta vos 2700 valandų. Atskiri programos moduliai nebuvo testuojami pavieniui, buvo tikrinama jau surinkta mašina.

Sistemos dokumentacija irgi nebuvo baigta: joje nebuvo aiškaus klaidų kodų aprašymo – pranešimai apie klaidas pasirodydavo kaip „Malfunction 1 ... Malfunction 64“ ir joje nebuvo nė užuominų, kurie iš šių pranešimų rodo, kad mašiną eksploatuoti darosi pavojinga.

Ir visgi, ko gero, didžiausia iš visų klaidų buvo ta, kad kompanija iš pradžių netikėjo pirmaisiais pranešimais apie netinkamą aparato darbą ir juos tiesiog atmetė. Jeigu „AECL“ būtų sureagavusi iškart po pirmojo incidento, tikėtina, kad likusių penkių įvykių ir trijų mirčių būtų buvę išvengta.


Alfa.lt



Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama