100 likes | 251 Views
Formella Metoder för utveckling av säkerhetskritisk programvara. Svetozar Serafimovski Industrilogik L4i AB http://www.L4i.se. Mål med projektet SÄKKRAV. Demonstrera att formella metoder är användbara för utveckling av säkerhetskritisk programvara.
E N D
Formella Metoder för utveckling av säkerhetskritisk programvara Svetozar Serafimovski Industrilogik L4i AB http://www.L4i.se
Mål med projektet SÄKKRAV • Demonstrera att formella metoder är användbara för utveckling av säkerhetskritisk programvara. • Undersök hur användningen av formella metoder skall anpassas till UK Def Stan 00-55.
Deltagare • Adelard, London • Saab Bofors Dynamics, Karlskoga • Industrilogik L4i AB, Stockholm
Avgränsningar • Formell programvaruutveckling: specifikation, design, kodgenerering • Bevisföring: validering, verifiering • Safety Case: utkast till analytiska säkerhetsargument
B-Toolkit • Verktyg för formell programvaru-utveckling i enlighet med B-Metoden. • Utvecklas av företaget B-Core, Oxford. • Analys • Simulering • Bevisföring • Kodgenerering
Fallstudie • Fiktivt, enkelt direktriktat pansar-värnsvapen • Säkrings- och armeringsenhet: programvara som utifrån acceleration och tid beräknar flygsträcka • Armering får ske endast om flygsträckan överskrider 50m
Safety Cases • System Safety Case: Strukturerat informellt argument för att systemet är säkert (Def Stan 00-56) • Sofware Safety Case: Strukturerat informellt argument för att programvaran är säker (Def Stan 00-55) • Formella bevis som delargument
Exempel: formaliserat krav • last (distance_history ) = • initial_distance + • ii . ( ii 2 . .size ( time_history ) | velocity_history ( ii ) x delta ( ii ) / distance_scale )
Exempel: B-syntax • update_distance ( acceleration , time_since_ripoff ) • LET • new_velocity , new_distance , new_delta • BE • new_distance = last ( distance_history ) + new_velocity x new_delta / distance_scale • IN • distance_history := distance_history new_distance
Slutsatser • Formell utveckling av säkerhetskritisk programvara med B-Metoden i enlighet med Def Stan 00-55 är genomförbar. • Processen är komplex eftersom noggrann koordination mellan utveckling och bevisföring krävs. • Metoden kan tillämpas på flera ambitionsnivåer.