Olympus v5

Post on 04-Jul-2015

96 views 2 download

Transcript of Olympus v5

1

Model Checking en

Betrouwbaarheid van Software

Frits Vaandrager

Institute for Computing and Information Sciences

Radboud Universiteit Nijmegen

3

Iedereen heeft toch al een

PC, Internet, een

mobieltje, een Xbox en

een TomTom?

Informatietechnologie

is toch al af?

Duh!

4

Informatica staat pas aan het begin!

Wetenschappers MIT:

7 van de 10 meest

belangrijke opkomende

technologieën zijn ICT

gerelateerd

5

40% kosten moderne auto is electronica

90% innovaties autoindustrie ICT gerelateerd!

6

Bionische Ogen?

7

Klimaatverandering

“ICT is a key sector in the fight

against climate change”

SMART 2020 Report. The

Climate Group, McKinsey &

Co, June 2008.

8

Voorbeeld: Permasense Project

9

Informatica is voor creatievelingen

10

“Computing is the transformative science of our age”

J. Moore

11

Onderzoek aan Radboud Universiteit (1):

Digitale Beveiliging

OV-chipkaart Electronisch Patiënten Dossier (EPD)

12

Onderzoek aan Radboud Universiteit (2):

Intelligente Systemen

Brain-computer interfaces

13

Onderzoek aan Radboud Universiteit (3):

Hoe maak je correcte software?

Onze samenleving is volledig

afhankelijk van computers

Is ons vertrouwen in computers

terecht?

14

Sint Servaasbrug Maastricht

“Uptime”:

ruim 700 jaar

15

Ariane 5 Raket

“Uptime”:

40 sec

16

Aandeel ICT in productiekosten auto’s

• 2000: 26%

• 2010: 48%

17

Software is absoluut het meest complexe

artefact dat de mens routinematig bouwt…

Tussen 1069 en 1081 atomen in

het universum10 MB geheugen > 1020.000.000

toestanden

Software is niet continu: wijziging van 1 bit in een

programma kan leiden tot volstrekt ander gedrag!

18

Geen verrassing dus dat het vrijwel

nooit foutloos werkt!

2004: Mars Rover bevriest 2005: Computer “kaapt” vliegtuig

2009: Volvo roept

26.000 auto’s terug

2007: Computer crashes bij ProRail

19

Onderzoek Radboud Universiteit

• Het bouwen van modellen

Beschrijf relevante aspecten van systeemformeel (in wiskundige taal)

• Model checking

Gebruik computer om alle toestanden van model te doorzoeken

• Doel

Fouten (“bugs”) opsporen

20

Voorbeeld: Überlingen, 1 Juli 2002

• Boeing & Tupolew kruisen

• 21:33:03

– Alarm door het Collision

Avoidance System (TCAS)

B757-200 TU154M

!

21

Voorbeeld: Überlingen, 1 Juli 2002

• Boeing & Tupolew kruisen

• 21:33:03

– Alarm door het Collision

Avoidance System (TCAS)

• 21:34:49

– Opdracht verkeersleider

B757-200 TU154M

!

22

Voorbeeld: Überlingen, 1 Juli 2002

• Boeing & Tupolew kruisen

• 21:33:03

– Alarm door het Collision

Avoidance System (TCAS)

• 21:34:49

– Opdracht verkeersleider

• 21:34:56

– TCAS aanbeveling

B757-200 TU154M

!

23

Voorbeeld: Überlingen, 1 Juli 2002

• Boeing & Tupolew kruisen

• 21:33:03

– Alarm door het Collision

Avoidance System (TCAS)

• 21:34:49

– Opdracht verkeersleider

• 21:34:56

– TCAS aanbeveling

• 21:35:32

– Botsing

B757-200 TU154M

!

24

Voorbeeld: Überlingen, 1 Juli 2002

• Boeing & Tupolew kruisen

• 21:33:03

– Alarm door het Collision

Avoidance System (TCAS)

• 21:34:49

– Opdracht verkeersleider

• 21:34:56

– TCAS aanbeveling

• 21:35:32

– Botsing

B757-200 TU154M

! Officiële aanbeveling:

“piloten dienen adviezen van

TCAS op te volgen, onafhankelijk van

eventuele strijdige adviezen door de

verkeersleiding”

Een computer vertrouwen!?

25

Formele Verificatie

• Kenmerken

– Gebruik taal van de wiskunde

– Computerondersteuning

• Hybride Systeem

– continue omgeving

– discrete software

Model van

Omgeving

Model van

Software

Nauwkeurige

Specificatie

26

Modelgebaseerd Ontwerpen

• Kenmerken

– Gebruik taal van de wiskunde

– Computerondersteuning

• Hybride Systeem

– continue omgeving

– discrete software

• Problemen

– Bewijzen lukt alleen vooreenvoudige modellen

– Alle mogelijkheden moetendoorlopen worden

toestandsexplosie

Model van

Omgeving

Model van

Software

Bewijs

(met hulp van

computer)

Nauwkeurige

Specificatie

27

Modelgebaseerd Ontwerpen

• Kenmerken

– Gebruik taal van de wiskunde

– Computerondersteuning

• Hybride Systeem

– continue omgeving

– discrete software

• Problemen

– Bewijzen lukt alleen vooreenvoudige modellen

– Alle mogelijkheden moetendoorlopen worden

toestandsexplosie

Model van

Omgeving

Model van

Software

Bewijs

(met hulp van

computer)

Garantie

Correctheid

Nauwkeurige

Specificatie

TCAS deels

correct bewezenNancy Lynch et al, 2000

28

Turing Award voor Model Checking

29

Wat is Model Checking?

30

Demonstratie Model Checker

Zes vriendinnen hebben ieder

een roddel. Ze bellen elkaar op.

Wanneer twee vriendinnen

elkaar spreken wisselen ze alle

roddels uit die ze op dat

moment weten.

Hoeveel gesprekken zijn nodig

voordat iedereen alle roddels

kent?

31

Toestandsdiagram

32

Oplossing Model Checker

33

Toepassingen van Model Checking

• Draadloze sensornetwerken

• NASA DEEP SPACE 1 missie

• Stormvloedkering bij Rotterdam

• Copieermachines

• Radarsysteem voor auto’s

• ….

34

Doelen Cursus

1. Zelf leren werken met model checker Uppaal

Bestaande modellen aanpassen

Zelf eenvoudige modellen bouwen

Eigenschappen formuleren en laten uitrekenen

2. Leren over gedistribueerde algoritmen

11 lessen + afsluitende toets