Industrilogik Logic Mathematics Computer Science Formella Metoder för utveckling av säkerhetskritisk programvara Svetozar Serafimovski Industrilogik L4i AB
Industrilogik Logic Mathematics Computer Science 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
Industrilogik Logic Mathematics Computer Science Deltagare Adelard, London Saab Bofors Dynamics, Karlskoga Industrilogik L4i AB, Stockholm
Industrilogik Logic Mathematics Computer Science Avgränsningar Formell programvaruutveckling: specifikation, design, kodgenerering Bevisföring: validering, verifiering Safety Case: utkast till analytiska säkerhetsargument
Industrilogik Logic Mathematics Computer Science 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
Industrilogik Logic Mathematics Computer Science 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
Industrilogik Logic Mathematics Computer Science 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
Industrilogik Logic Mathematics Computer Science Exempel: formaliserat krav last (distance_history ) = initial_distance + ii. ( ii 2..size ( time_history ) | velocity_history ( ii ) x delta ( ii ) / distance_scale )
Industrilogik Logic Mathematics Computer Science 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
Industrilogik Logic Mathematics Computer Science Slutsatser Formell utveckling av säkerhetskritisk programvara med B-Metoden i enlighet med Def Stan är genomförbar. Processen är komplex eftersom noggrann koordination mellan utveckling och bevisföring krävs. Metoden kan tillämpas på flera ambitionsnivåer.