Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem
Plan Waarom deze module? Introductie model checking Demo Uppaal Doelstelling en opzet cursus Ervaringen
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
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
Hoe Maak Je Computers Betrouwbaar? Onze samenleving is totaal afhankelijk van computers Is ons vertrouwen in computers gegrond? Kunnen we betrouwbare systemen bouwen?
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
Turing Award 2007 voor Model Checking
Wat is Model Checking?
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?
Toestandsdiagram
Temporele Logica
Korstste Oplossing Model Checker voor EF “alle meisjes weten alle roddels”
Demo Uppaal
Toepassingen Model Checking Intel chips NASA DEEP SPACE 1 missie Stormvloedkering bij Rotterdam Copieermachines Radarsysteem voor auto’s ….
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.
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
Voorbeelden Practica Geldautomaat Verkeerskruising Spoorwegovergang Mutual exclusion algoritme Het kiezen van een leider in een ring Rivier oversteek puzzels Scheduling problemen Alternating bit protocol
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
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
Interesse? Materiaal beschikbaar via www.cs.ru.nl/~fvaan/Olympus/ Wij helpen graag!