Formální Modely v (železniční) dopravě 31.3.2005 Formální Modely v (železniční) dopravě Martin Pěnička
Jak ověříme funkčnost systému? Tvorba bezpečného SW Jak ověříme funkčnost systému? Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
1962 – Sonda pro průzkum Venuše Příklad 1962 – Sonda pro průzkum Venuše Chybný zápis FORTRANu: DO 10 I=1.5 -přiřazení DO 10 I=1,5 -cyklus Chyba se projevila při startu, raketa nabrala špatný kurz, aktivovala se autodestrukce. Ztráta 80 mil. dolarů ‘Most expensive hyphen in history’ Arthur C. Clarke typo This was to be the first Mariner mission. It was intended to perform a Venus flyby. The vehicle was destroyed by the Range Safety Officer after launch when it veered off course. The booster had performed satisfactorily until an unscheduled yaw-lift (northeast) maneuver was detected by the range safety officer. The failure was apparently caused by a combination of two factors. Improper operation of the Atlas airborne beacon equipment resulted in a loss of the rate signal from the vehicle for a prolonged period. Additionally, the Mariner 1 Post Flight Review Board determined that the omission of a hyphen in coded computer instructions in the data-editing program allowed transmission of incorrect guidance signals to the spacecraft. This caused the computer to emit erroneous steering commands which finally threw the spacecraft off course
1988 – sestřelení AirBusu 320 v Iráku Další příklady 1988 – sestřelení AirBusu 320 v Iráku 1994 – Intel Pentium chybějící položky ve vyhledávající tabulce 1996 – Exploze Ariane 5 chyba v konverzi velkého čísla A další např. na: http://www5.in.tum.de/~huckle/bugse.html typo This was to be the first Mariner mission. It was intended to perform a Venus flyby. The vehicle was destroyed by the Range Safety Officer after launch when it veered off course. The booster had performed satisfactorily until an unscheduled yaw-lift (northeast) maneuver was detected by the range safety officer. The failure was apparently caused by a combination of two factors. Improper operation of the Atlas airborne beacon equipment resulted in a loss of the rate signal from the vehicle for a prolonged period. Additionally, the Mariner 1 Post Flight Review Board determined that the omission of a hyphen in coded computer instructions in the data-editing program allowed transmission of incorrect guidance signals to the spacecraft. This caused the computer to emit erroneous steering commands which finally threw the spacecraft off course
Tvorba bezpečného SW (1) Za správně/bezpečně navržený systém považujeme systém, pokud splňuje požadavky zadavatele. prokazatelně „Program testing can be used to show the presence o bugs, but never to show their absence“ Dijkstra 1972 Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Tvorba bezpečného SW (2) Testování SW Hledání chyb Validace SW (Model Checking) Pokud nemůžeme prokázat správnost/bezpečnost samotného SW, prokážeme jí na modelu Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Tvorba bezpečného SW (3) Tradiční přístup Formální přístup Návrh SW Testování SW Popis domény Požadavky Návrh Testy SW Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Co je to formální metoda (1) Formální jazyk musí mít přesnou, tj.matematicky plně definovanou Syntaxi vše, co plně definuje všechny možné výrazy nebo diagramy, které tento jazyk obsahuje Sémantiku něco, co pro každý syntakticky správný výraz nebo diagram, přiřadí přesný význam Důkazní systém tj. množinu axiomů a dedukčních pravidel podle kterých je možno zdůvodnit všechna syntakticky správné výrazy nebo výrazy daného jazyka. Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Co je to formální metoda (2) Co je to „metoda“? Metodou rozumíme množinu postupů, které jsou použity při výběru a použití množství technik a nástrojů pro identifikaci a analýzu problému a následnou syntézu (řešení) daného problému. Za dobrou metodu pokládáme takovou metodu, která vede k efektivnímu řešení. Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Co je to formální metoda (3) Co je to tedy „formální metoda“? Formální metoda je tedy taková metoda, ve které její hlavní techniky a nástroje silně závisejí na použití formálního jazyka. Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Co je to formální metoda (4) Některé formální jazyky ASM Action Systems B France, or B UK CafeOBJ CASL Coq CSP Duration Calculi Esterel Higher Order Logic Linear Temporal Logic LSCs MSCs Petri Nets Pi-Calculus RAISE SPIN Statecharts VDM Z Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Využití Formálních Metod Zvládnutí velkých a složitých systémů Zkrácení doby testování SW Lepší koordinace a návaznost v týmu Využití pro tvorba bezpečného SW Zlepšení porozumění vztahů: Zadavatel Zákazník Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Tvorba bezpečného SW (3) Tradiční přístup Formální přístup Návrh SW Testování SW Popis domény Požadavky Návrh Testy SW Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Formální model železnice (1) V současné době máme formální popis domény a požadavků pro: Železniční sítě Statický Dynamický Železniční vozidla Železniční provoz Cestující a zboží Grafikony, jízdní řády, … Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Formální model železnice (2) Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Formální model železnice (3) Železniční síť se skládá z jedné nebo více tratí, a dvou nebo více stanic Žel. síť se skládá z přímých kolejí, výhybek, křížů a anglických výhybek. Žel. Stanice se skládá z jedné nebo více kolejí. … Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Formální model železnice (4) Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Formální model železnice (5) axiom Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Formální model železnice (6) Použití tohoto modelu: Optimalizační úlohy Tvorba oběhu žel.vozidel s plánováním údržby(RAISE) Automatická tvorba turnusů (DC) Optimální délka vlaku (RAISE) Zabezpečovací úlohy Model traťového souhlasu (MSC, LSC) Model autobloku (MSC) Model staničního zabezpečovacího zařízení (PN) Kombinace Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Model traťového souhlasu (1) Protokol komunikace Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Model traťového souhlasu (2) Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Model traťového souhlasu (3) Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Automatický blok (1) S t a A B s g . i - + n g Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Automatický blok (2) Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Staniční zabezpečovací zařízení (1) Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Staniční zabezpečovací zařízení (2) PN kolejový obvod PN pro výhybku PN návěstidlo PN vlakovou cestu Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Staniční zabezpečovací zařízení (3) Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Plán údržby: Původní plán Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Plán údržby: Denní prohození Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Plán údržby: Původní plán Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Plán údržby: Noční prohození Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Plán údržby: Původní plán Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Plán údržby: Prázdná jízda Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Q R 31 S 32 T 41 51 52 61 Time Day 1 Day 2 T S 11 S R 12 R Q 13 Q R 21 Train #1: T(06:10) → S(13:20-13:30) → R(00:18-0:45) → Q(10:20) Train #2: Q(12:45) →R(22:05-22:20) → S(04:50-05:10) →T(20:55) Q R 31 S 32 T 41 51 52 61 Train #3: … Time Day 1 Day 2 T S 11 S R 12 R Q 13 Q R 21 R S 22 S T 23 Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Time Day 1 Day 2 T S 11 R 12 Q 13 Q R 21 S 22 T 23 Q R 21 S 22 T 23 Q Train #1: T(06:10) → S(13:20-13:30) → R(00:18-0:45) → Q(10:20) Train #2: Q(12:45) →R(22:05-22:20) → S(04:50-05:10) →T(20:55) Train #3: … Time Day 1 Day 2 T S 11 R 12 Q 13 Q R 21 S 22 T 23 Q R 21 S 22 T 23 Q R 31 S 32 Q T 41 Q T 41 T S 51 R 52 S Q 61 Q R 31 S 32 Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Závěr Formální metody získávají na významu. Testováním SW prokáže přítomnost, nikoliv absenci chyb ! Zahrnutí formálního modelu do tvorby SW umožní následnou průkaznou validaci SW Existuje jednotný formální popis domény železniční dopravy Kombinací jednotlivých formálních metod je možno získat jednoduché modely SW také lze stavět podle plánů ! Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze
Děkuji za Vaši pozornost! Seminář Katedry Aplikované Matematiky K611, ČVUT v Praze