Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem.

Download Report

Transcript Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem.

Een Module over Model Checking
voor het VWO
Frits Vaandrager1, David Jansen1 & Els Koopmans2
1Radboud
Universiteit Nijmegen
2Olympus College Arnhem
1
Plan
1. Waarom deze module?
2. Introductie model checking
3. Demo Uppaal
4. Doelstelling en opzet cursus
5. Ervaringen
2
Doelen Sprint-Up Project
• Inhoudelijke vernieuwing bèta-onderwijs
• Leerlingen beter beeld geven van wereld van bèta en
techniek
• Studenten en junioronderzoekers kennis laten
maken met leraarschap
• Leerlingen kennis laten maken met vervolgopleiding
Informatica binnen het WO
3
Waarom Model Checking?
• Modelleren steeds belangrijker binnen Informatica
• Concurrency steeds belangrijker binnen Informatica
• Link met zowel toepassingen als theorie
• Link met actueel onderzoek
• Uitstekend tool beschikbaar: Uppaal
4
Hoe Maak Je Computers Betrouwbaar?
Onze samenleving is totaal afhankelijk van computers
Is ons vertrouwen in computers gegrond?
Kunnen we betrouwbare systemen bouwen?
5
Onderzoek Radboud Universiteit
• Het bouwen van modellen
Beschrijf relevante aspecten
van systeem formeel (in
wiskundige taal)
• Model checking
Gebruik computer om alle
toestanden van model te
exploreren
• Model-gebaseerd testen
Gebruik model om het
systeem op goede manier te
testen
• Doel
Fouten (“bugs”) opsporen
6
Turing Award 2007 voor
Model Checking
7
Wat is Model Checking?
8
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?
9
Toestandsdiagram
10
Temporele Logica
11
Korstste Oplossing Model Checker voor
EF “alle meisjes weten alle roddels”
12
Demo Uppaal
13
Toepassingen Model Checking
•
Intel chips
•
NASA DEEP SPACE 1 missie
•
Stormvloedkering bij Rotterdam
•
Copieermachines
•
Radarsysteem voor auto’s
•
….
14
Doel Cursus
Leerlingen leren werken met
een model checker, in het
bijzonder aanpassingen
maken aan bestaande
modellen, zelf eenvoudige
modellen construeren, en
gewenste eigenschappen
van systemen formaliseren
en uitrekenen met behulp
van een model checker.
15
Opzet Cursus
• Acht van de twaalf lessen zijn practica waarbij
leerlingen zelf aan de slag gaan met model checker
• Resterende vier lessen worden gebruikt voor
inleidingen over betrouwbaarheid van software,
model checking, Uppaal, en enkele gedistribueerde
algoritmen
• Afsluitende toets
16
Voorbeelden Practica
•
Geldautomaat
•
Verkeerskruising
•
Spoorwegovergang
•
Mutual exclusion algoritme
•
Het kiezen van een leider in een ring
•
Rivier oversteek puzzels
•
Scheduling problemen
•
Alternating bit protocol
17
Ervaringen
• Meeste leerlingen vinden werken met Uppaal
interessant en leuk
• Groep leerlingen Informatica divers!
• Kwaliteit Uppaal essentieel voor succes
• Samenwerking VO-WO essentieel voor succes
18
Ervaringen
• Leerlingen verrasssend goed in meedenken over
oplossingen van concrete problemen
• Leerlingen hebben veel moeite met het omzetten van
een informeel idee naar een formeel model
19
Interesse?
• Materiaal beschikbaar via
www.cs.ru.nl/~fvaan/Olympus/
• Wij helpen graag!
20