Olympus v5

34
1 Model Checking en Betrouwbaarheid van Software Frits Vaandrager Institute for Computing and Information Sciences Radboud Universiteit Nijmegen

Transcript of Olympus v5

Page 1: Olympus v5

1

Model Checking en

Betrouwbaarheid van Software

Frits Vaandrager

Institute for Computing and Information Sciences

Radboud Universiteit Nijmegen

Page 3: Olympus v5

3

Iedereen heeft toch al een

PC, Internet, een

mobieltje, een Xbox en

een TomTom?

Informatietechnologie

is toch al af?

Duh!

Page 4: Olympus v5

4

Informatica staat pas aan het begin!

Wetenschappers MIT:

7 van de 10 meest

belangrijke opkomende

technologieën zijn ICT

gerelateerd

Page 5: Olympus v5

5

40% kosten moderne auto is electronica

90% innovaties autoindustrie ICT gerelateerd!

Page 6: Olympus v5

6

Bionische Ogen?

Page 7: Olympus v5

7

Klimaatverandering

“ICT is a key sector in the fight

against climate change”

SMART 2020 Report. The

Climate Group, McKinsey &

Co, June 2008.

Page 8: Olympus v5

8

Voorbeeld: Permasense Project

Page 9: Olympus v5

9

Informatica is voor creatievelingen

Page 10: Olympus v5

10

“Computing is the transformative science of our age”

J. Moore

Page 11: Olympus v5

11

Onderzoek aan Radboud Universiteit (1):

Digitale Beveiliging

OV-chipkaart Electronisch Patiënten Dossier (EPD)

Page 12: Olympus v5

12

Onderzoek aan Radboud Universiteit (2):

Intelligente Systemen

Brain-computer interfaces

Page 13: Olympus v5

13

Onderzoek aan Radboud Universiteit (3):

Hoe maak je correcte software?

Onze samenleving is volledig

afhankelijk van computers

Is ons vertrouwen in computers

terecht?

Page 14: Olympus v5

14

Sint Servaasbrug Maastricht

“Uptime”:

ruim 700 jaar

Page 15: Olympus v5

15

Ariane 5 Raket

“Uptime”:

40 sec

Page 16: Olympus v5

16

Aandeel ICT in productiekosten auto’s

• 2000: 26%

• 2010: 48%

Page 17: Olympus v5

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!

Page 18: Olympus v5

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

Page 19: Olympus v5

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

Page 20: Olympus v5

20

Voorbeeld: Überlingen, 1 Juli 2002

• Boeing & Tupolew kruisen

• 21:33:03

– Alarm door het Collision

Avoidance System (TCAS)

B757-200 TU154M

!

Page 21: Olympus v5

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

!

Page 22: Olympus v5

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

!

Page 23: Olympus v5

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

!

Page 24: Olympus v5

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!?

Page 25: Olympus v5

25

Formele Verificatie

• Kenmerken

– Gebruik taal van de wiskunde

– Computerondersteuning

• Hybride Systeem

– continue omgeving

– discrete software

Model van

Omgeving

Model van

Software

Nauwkeurige

Specificatie

Page 26: Olympus v5

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

Page 27: Olympus v5

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

Page 28: Olympus v5

28

Turing Award voor Model Checking

Page 29: Olympus v5

29

Wat is Model Checking?

Page 30: Olympus v5

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?

Page 31: Olympus v5

31

Toestandsdiagram

Page 32: Olympus v5

32

Oplossing Model Checker

Page 33: Olympus v5

33

Toepassingen van Model Checking

• Draadloze sensornetwerken

• NASA DEEP SPACE 1 missie

• Stormvloedkering bij Rotterdam

• Copieermachines

• Radarsysteem voor auto’s

• ….

Page 34: Olympus v5

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