Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdFrederik Maes Laatst gewijzigd meer dan 10 jaar geleden
1
Sparkle een bewijssysteem voor Clean Maarten de Mol Katholieke Universiteit Nijmegen 11 januari 2002
2
Overzicht Inleiding: waarom een bewijssysteem? Korte beschrijving van Sparkle: Implementatie Doelgroep Vogelvlucht Demonstratie Sparkle in het onderwijs.
3
Inleiding (1) Idee: annoteren van functionele programma’s met eigenschappen. Extra informatie voor de lezer Doel: formeel aantonen dat die eigenschappen correct zijn. Eigenschap wordt certificaat Meer vertrouwen in programma
4
Inleiding (2) Methode: formeel redeneren. Nodig: formele definities van: semantiek van programmeertaal logica bovenop deze semantiek redeneerstappen binnen deze logica Voordeel: betrouwbaarheid Nadeel: moeilijk uit te voeren Hulpmiddel: bewijssysteem: Sparkle.
5
Sparkle: implementatie Geschreven in Clean 2.0: Ongeveer 55.000 regels code Gebruikt bibliotheken: Clean 2.0 compiler(±40.000 regels code) Object I/O(±40.000 regels code) Sparkle is een van de grootste applicaties geschreven in Clean. Ontwikkeltijd: 3 jaar.
6
Sparkle: doelgroep Sparkle is sterk gekoppeld aan de programmeertaal Clean: Bewijzen over Clean-programma’s Gemaakt door Clean-programmeurs Sparkle zal vooral als zij-activiteit door niet experts gebruikt worden. Andere invalshoek dan bij generieke bewijssystemen zoals PVS, Coq, Isabelle
7
Sparkle: vogelvlucht Belangrijkste eigenschappen van een bewijssysteem: Specificatietaal voor programma’s Specificatietaal voor eigenschappen Bibliotheek van redeneerstappen Ondersteuning bij het maken van bewijzen
8
Sparkle: specificatie Programma: Deel van Clean 2.0: (bijna ook van Haskell) Functionele programmeertaal Laziness, sharing, strictheids annotaties Eigenschap: Eerste orde propositie logica Uitgebreid met gelijkheid op expressies xs::[Int] : xs heapSort xs = myOwnSort xs
9
Sparkle: bewijzen Bibliotheek van 42 redeneerstappen: Geleend van andere bewijssystemen Gespecialiseerd op Clean Ondersteuning bij bewijzen door: Automatisch genereren van hints Automatisch toepassen van hints Mogelijkheid om redeneerstap toe te passen alleen met behulp van klikken
10
Sparkle in het onderwijs Leerdoelen: Laten zien dat formele bewijzen maken over functionele programma’s (relatief) makkelijk is. Sparkle kan daarvoor worden gebruikt: Ondersteunt Clean 2.0 Uitgebreide user interface Kleine bewijzen zijn zeer eenvoudig
11
Sparkle: downloaden Sparkle heeft een eigen website: http://www.cs.kun.nl/Sparkle Sparkle zit in de standaard Clean- distributie: http://www.cs.kun.nl/~clean Probeer het eens uit!
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.