Informatika pro záchranu života Stefan Ratschan Ústav Informatiky Akademie Věd tefan Ratschan (Ústav Informatiky Akademie Věd) 1 / 15
Katastrofický začátek. Stefan Ratschan (Ústav Informatiky Akademie Věd) 2 / 15
Therac-25 Zařízení pro radioterapii Stefan Ratschan (Ústav Informatiky Akademie Věd) 3 / 15
Therac-25 Zařízení pro radioterapii Původní zařízení (therac-20) skoro výhradně mechanické. Stefan Ratschan (Ústav Informatiky Akademie Věd) 3 / 15
Therac-25 Zařízení pro radioterapii Původní zařízení (therac-20) skoro výhradně mechanické. Pozorování: Mechanický přístroj nebezpečný (opotřebuje se), softwarové řízení. Stefan Ratschan (Ústav Informatiky Akademie Věd) 3 / 15
Therac-25 Zařízení pro radioterapii Původní zařízení (therac-20) skoro výhradně mechanické. Pozorování: Mechanický přístroj nebezpečný (opotřebuje se), softwarové řízení. Výsledek? Stefan Ratschan (Ústav Informatiky Akademie Věd) 3 / 15
Therac-25 Zařízení pro radioterapii Původní zařízení (therac-20) skoro výhradně mechanické. Pozorování: Mechanický přístroj nebezpečný (opotřebuje se), softwarové řízení. Výsledek? Alespoň 6 haváríı s nadměrnou dávkou radiace, některé z nich smrtelné. Stefan Ratschan (Ústav Informatiky Akademie Věd) 3 / 15
Ariane 5 let 501 (1996) Stefan Ratschan (Ústav Informatiky Akademie Věd) 4 / 15
Ariane 5 let 501 (1996) Stefan Ratschan (Ústav Informatiky Akademie Věd) 4 / 15
Ariane 5 let 501 (1996) Let skončil několik desítek sekund po startu explozí Škoda: 290 Me Odklad programu jeden rok Stefan Ratschan (Ústav Informatiky Akademie Věd) 4 / 15
Northeast Blackout of 2003 tefan Ratschan (Ústav Informatiky Akademie Věd) 5 / 15
Northeast Blackout of 2003 Výpadek proudu ve velké části Spojených států amerických 14.-16.8.2003 Víc než 10 přimých úmrtí Obrovské finanční škody tefan Ratschan (Ústav Informatiky Akademie Věd) 5 / 15
Souvislost Co to má společného s informatikou? tefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Souvislost Co to má společného s informatikou? Každá nadměrná dávka v Therac-25 byla výsledkem chyby v řídícím softwaru. Nebezpečný stav byl dříve vyloučen mechanickým zařízením. tefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Souvislost Co to má společného s informatikou? Každá nadměrná dávka v Therac-25 byla výsledkem chyby v řídícím softwaru. Nebezpečný stav byl dříve vyloučen mechanickým zařízením. Exploze Ariane 5 byla výsledkem chybné konverze z čísla s pohyblivou čárkou do celého čísla. tefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Souvislost Co to má společného s informatikou? Každá nadměrná dávka v Therac-25 byla výsledkem chyby v řídícím softwaru. Nebezpečný stav byl dříve vyloučen mechanickým zařízením. Exploze Ariane 5 byla výsledkem chybné konverze z čísla s pohyblivou čárkou do celého čísla. tefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Souvislost Co to má společného s informatikou? Každá nadměrná dávka v Therac-25 byla výsledkem chyby v řídícím softwaru. Nebezpečný stav byl dříve vyloučen mechanickým zařízením. Exploze Ariane 5 byla výsledkem chybné konverze z čísla s pohyblivou čárkou do celého čísla. Raketa měla dva redundantní počítače Stefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Souvislost Co to má společného s informatikou? Každá nadměrná dávka v Therac-25 byla výsledkem chyby v řídícím softwaru. Nebezpečný stav byl dříve vyloučen mechanickým zařízením. Exploze Ariane 5 byla výsledkem chybné konverze z čísla s pohyblivou čárkou do celého čísla. Raketa měla dva redundantní počítače (stejný problém v obou). tefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Souvislost Co to má společného s informatikou? Každá nadměrná dávka v Therac-25 byla výsledkem chyby v řídícím softwaru. Nebezpečný stav byl dříve vyloučen mechanickým zařízením. Exploze Ariane 5 byla výsledkem chybné konverze z čísla s pohyblivou čárkou do celého čísla. Raketa měla dva redundantní počítače (stejný problém v obou). Ariane 5 (na rozdíl od verze 4) tuto softwarovou funkcionalitu už ani nepotřebovala. tefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Souvislost Co to má společného s informatikou? Každá nadměrná dávka v Therac-25 byla výsledkem chyby v řídícím softwaru. Nebezpečný stav byl dříve vyloučen mechanickým zařízením. Exploze Ariane 5 byla výsledkem chybné konverze z čísla s pohyblivou čárkou do celého čísla. Raketa měla dva redundantní počítače (stejný problém v obou). Ariane 5 (na rozdíl od verze 4) tuto softwarovou funkcionalitu už ani nepotřebovala. Výpadek proudu výsledkem pozdní reakce na menší problém kvůli chybě v softwaru poplachového zařízení. Stefan Ratschan (Ústav Informatiky Akademie Věd) 6 / 15
Cyber-Physical Systems (CPS) Čím dál větší integrace digitalní elektroniky/softwaru a fyzikálních systémů Stefan Ratschan (Ústav Informatiky Akademie Věd) 7 / 15
Cyber-Physical Systems (CPS) Čím dál větší integrace digitalní elektroniky/softwaru a fyzikálních systémů Stefan Ratschan (Ústav Informatiky Akademie Věd) 7 / 15
Cyber-Physical Systems (CPS) Čím dál větší integrace digitalní elektroniky/softwaru a fyzikálních systémů Náklady na elektroniku/software vyšší než fyzické auto. Stefan Ratschan (Ústav Informatiky Akademie Věd) 7 / 15
Cyber-Physical Systems (CPS) Čím dál větší integrace digitalní elektroniky/softwaru a fyzikálních systémů Náklady na elektroniku/software vyšší než fyzické auto. Dnes: Většina výpočetní kapacity se už nenachází ve stolních počítačích Stefan Ratschan (Ústav Informatiky Akademie Věd) 7 / 15
Safety Critical System Nejen, čím dál větší integrace digitalní elektroniky/softwaru a fyzikálních systémů, ale i integrace do každodenního lidského života Stefan Ratschan (Ústav Informatiky Akademie Věd) 8 / 15
Safety Critical System Nejen, čím dál větší integrace digitalní elektroniky/softwaru a fyzikálních systémů, ale i integrace do každodenního lidského života Poruchy mohou ohrožovat lidský život Stefan Ratschan (Ústav Informatiky Akademie Věd) 8 / 15
Safety Critical System Nejen, čím dál větší integrace digitalní elektroniky/softwaru a fyzikálních systémů, ale i integrace do každodenního lidského života Poruchy mohou ohrožovat lidský život Správnost nezbytná Stefan Ratschan (Ústav Informatiky Akademie Věd) 8 / 15
Zakládáme podnik na pračky tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 s tvrdou vodou, s měkkou vodou tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 s tvrdou vodou, s měkkou vodou hodně prádla, málo prádla tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 s tvrdou vodou, s měkkou vodou hodně prádla, málo prádla velmi špinavé prádlo, skoro čisté prádlo tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 s tvrdou vodou, s měkkou vodou hodně prádla, málo prádla velmi špinavé prádlo, skoro čisté prádlo když stojí úplně vodorovně, když ne tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 s tvrdou vodou, s měkkou vodou hodně prádla, málo prádla velmi špinavé prádlo, skoro čisté prádlo když stojí úplně vodorovně, když ne... tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 s tvrdou vodou, s měkkou vodou hodně prádla, málo prádla velmi špinavé prádlo, skoro čisté prádlo když stojí úplně vodorovně, když ne... Předpoklad: 15 takových parametrů, jen 2 hodnoty, každý pokus trvá hodinu, stojí 20e. tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Zakládáme podnik na pračky Dříve než je prodáváme, musíme zjistit, jestli fungují Před-počítačový věk: pokusy s prototypy: teploty: 40, 60, 90 s tvrdou vodou, s měkkou vodou hodně prádla, málo prádla velmi špinavé prádlo, skoro čisté prádlo když stojí úplně vodorovně, když ne... Předpoklad: 15 takových parametrů, jen 2 hodnoty, každý pokus trvá hodinu, stojí 20e. Pak: 1365 dny (>3 roky) testování, skoro 1 Me tefan Ratschan (Ústav Informatiky Akademie Věd) 9 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2 Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4 Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234 Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234, 10231,... možné hodnoty. I když vybíráme jakýkoli počet hodnot pro testy, můžeme vždy minout problémovou hodnotu. Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234, 10231,... možné hodnoty. I když vybíráme jakýkoli počet hodnot pro testy, můžeme vždy minout problémovou hodnotu. Vývoj v čase! Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234, 10231,... možné hodnoty. I když vybíráme jakýkoli počet hodnot pro testy, můžeme vždy minout problémovou hodnotu. Vývoj v čase! Pračka je relativně jednoduchý stroj vlaky, letadla,... : několik tisíc parametrů, selhání má za následek katastrofu! Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234, 10231,... možné hodnoty. I když vybíráme jakýkoli počet hodnot pro testy, můžeme vždy minout problémovou hodnotu. Vývoj v čase! Pračka je relativně jednoduchý stroj vlaky, letadla,... : několik tisíc parametrů, selhání má za následek katastrofu! V okamžiku, kdy už nemůžeme dál, přijde Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234, 10231,... možné hodnoty. I když vybíráme jakýkoli počet hodnot pro testy, můžeme vždy minout problémovou hodnotu. Vývoj v čase! Pračka je relativně jednoduchý stroj vlaky, letadla,... : několik tisíc parametrů, selhání má za následek katastrofu! V okamžiku, kdy už nemůžeme dál, přijde: počítač! Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234, 10231,... možné hodnoty. I když vybíráme jakýkoli počet hodnot pro testy, můžeme vždy minout problémovou hodnotu. Vývoj v čase! Pračka je relativně jednoduchý stroj vlaky, letadla,... : několik tisíc parametrů, selhání má za následek katastrofu! V okamžiku, kdy už nemůžeme dál, přijde: počítač! Pokusy na počítači: simulace, testování Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Testování Tvrdost vody, objem prádla, špinavost prádla, náklon pračky atd.: Parametry: Nejsou jen 2, 4, 234, 10231,... možné hodnoty. I když vybíráme jakýkoli počet hodnot pro testy, můžeme vždy minout problémovou hodnotu. Vývoj v čase! Pračka je relativně jednoduchý stroj vlaky, letadla,... : několik tisíc parametrů, selhání má za následek katastrofu! V okamžiku, kdy už nemůžeme dál, přijde: počítač! Pokusy na počítači: simulace, testování Potřebujeme model (počítačová reprezentace pračky) Stefan Ratschan (Ústav Informatiky Akademie Věd) 10 / 15
Model: Mikročip pro řízení otáček zvyseni vykonu otacky 2.2 otacky 1.5 nalozeni zachovani vykonu otacky 1.8 otacky 2.5 snizeni vykonu tefan Ratschan (Ústav Informatiky Akademie Věd) 11 / 15
Diskrétní: dobře oddělené stavy, navíc: konečný počet tefan Ratschan (Ústav Informatiky Akademie Věd) 11 / 15 Model: Mikročip pro řízení otáček zvyseni vykonu otacky 2.2 otacky 1.5 nalozeni zachovani vykonu otacky 1.8 otacky 2.5 snizeni vykonu
Modelování vývoje otáček Zatím popisujeme (tj. modelujeme) jen změnu výkonu. Stefan Ratschan (Ústav Informatiky Akademie Věd) 12 / 15
Modelování vývoje otáček Zatím popisujeme (tj. modelujeme) jen změnu výkonu. Vývoj počtu otáček? Stefan Ratschan (Ústav Informatiky Akademie Věd) 12 / 15
Modelování vývoje otáček Zatím popisujeme (tj. modelujeme) jen změnu výkonu. Vývoj počtu otáček? otacky s t Stefan Ratschan (Ústav Informatiky Akademie Věd) 12 / 15
Modelování vývoje otáček Zatím popisujeme (tj. modelujeme) jen změnu výkonu. Vývoj počtu otáček? otacky s t Spojitý model Stefan Ratschan (Ústav Informatiky Akademie Věd) 12 / 15
Modelování vývoje otáček Zatím popisujeme (tj. modelujeme) jen změnu výkonu. Vývoj počtu otáček? otacky s t Spojitý model Často se používají diferenciální rovnice ẋ = f (x) Stefan Ratschan (Ústav Informatiky Akademie Věd) 12 / 15
Model: Hybridní systém zvyseni vykonu otacky = f + (otacky) otacky 2.2 otacky = 0 nalozeni otacky 1.5 zachovani vykonu otacky = 0 otacky = f 0 (otacky) otacky 1.8 otacky 2.5 snizeni vykonu otacky = f (otacky) tefan Ratschan (Ústav Informatiky Akademie Věd) 13 / 15
Simulace: Pokusy na modelu Demo: Scicos Stefan Ratschan (Ústav Informatiky Akademie Věd) 14 / 15
Simulace: Pokusy na modelu Demo: Scicos Výhoda: levnější, rychlejší, bezpečnější než pokusy Stefan Ratschan (Ústav Informatiky Akademie Věd) 14 / 15
Simulace: Pokusy na modelu Demo: Scicos Výhoda: levnější, rychlejší, bezpečnější než pokusy Problém: Simulace sice pomáhají najít chyby Stefan Ratschan (Ústav Informatiky Akademie Věd) 14 / 15
Simulace: Pokusy na modelu Demo: Scicos Výhoda: levnější, rychlejší, bezpečnější než pokusy Problém: Simulace sice pomáhají najít chyby Ale: nikdy si nemůžeme být jisti, jestli jsme už našli všechny chyby Stefan Ratschan (Ústav Informatiky Akademie Věd) 14 / 15
Simulace: Pokusy na modelu Demo: Scicos Výhoda: levnější, rychlejší, bezpečnější než pokusy Problém: Simulace sice pomáhají najít chyby Ale: nikdy si nemůžeme být jisti, jestli jsme už našli všechny chyby Současní výzkum: Formální verifikace hybridních systémů: matematický důkaz správnosti, automaticky na počítači Stefan Ratschan (Ústav Informatiky Akademie Věd) 14 / 15
Simulace: Pokusy na modelu Demo: Scicos Výhoda: levnější, rychlejší, bezpečnější než pokusy Problém: Simulace sice pomáhají najít chyby Ale: nikdy si nemůžeme být jisti, jestli jsme už našli všechny chyby Současní výzkum: Formální verifikace hybridních systémů: matematický důkaz správnosti, automaticky na počítači Model nemá žádný vývoj do nebezpečního stavu. Stefan Ratschan (Ústav Informatiky Akademie Věd) 14 / 15
Závěr Zajištění správnosti technických systémů: Pokusy (drahé, nebezpečné, omezená jistota) Stefan Ratschan (Ústav Informatiky Akademie Věd) 15 / 15
Závěr Zajištění správnosti technických systémů: Pokusy (drahé, nebezpečné, omezená jistota) Simulace (potřebujeme model, levnější, omezená jistota) Stefan Ratschan (Ústav Informatiky Akademie Věd) 15 / 15
Závěr Zajištění správnosti technických systémů: Pokusy (drahé, nebezpečné, omezená jistota) Simulace (potřebujeme model, levnější, omezená jistota) Formální verifikace (matematický důkaz správnosti) tefan Ratschan (Ústav Informatiky Akademie Věd) 15 / 15
Závěr Zajištění správnosti technických systémů: Pokusy (drahé, nebezpečné, omezená jistota) Simulace (potřebujeme model, levnější, omezená jistota) Formální verifikace (matematický důkaz správnosti) Proslulý tzv. kachňátkový problém: tefan Ratschan (Ústav Informatiky Akademie Věd) 15 / 15
Závěr Zajištění správnosti technických systémů: Pokusy (drahé, nebezpečné, omezená jistota) Simulace (potřebujeme model, levnější, omezená jistota) Formální verifikace (matematický důkaz správnosti) Proslulý tzv. kachňátkový problém: Pokud verifikace nevyjde (protože systém chybu má), co se můžeme naučit (tj. jak můžeme z toho tu chybu najít)? tefan Ratschan (Ústav Informatiky Akademie Věd) 15 / 15