Formale Methoden der Softwaretechnik 1 Vorlesung vom 19.10.09:
Einf¨ uhrung
Christoph L¨uth, Lutz Schr¨oder
WS 09/10
1
Organisatorisches
IVeranstalter:
Christoph L¨uth Lutz Schr¨oder christoph.lueth@dfki.de lutz.schroeder@dfki.de Cartesium 2.043, Tel. 64223 Cartesium 2.051, Tel. 64216
ITermine: Vorlesung: Montag, 12 – 14, MZH 7210 Ubung:¨ Mittwoch, 12 – 14, MZH 7220
2
Therac-25
INeuartigerLinearbeschleunigerin der Strahlentherapie.
IComputergesteuert(PDP-11, Assembler)
IF¨unf Unf¨alle mitTodesfolge(1985– 1987)
IZu hoheStrahlendosis(4000 – 20000 rad, letal 1000 rad)
IProblem:Softwarefehler
IEin einzelnerProgrammierer(f¨unf Jahre)
IAlles inAssembler, keinBetriebssystem
IProgrammiererauchTester(Qualit¨atskontrolle)
3
Ariane-5
4
Die Vasa
5
Lernziele
1.Modellierung—Formulierungvon Spezifikationen
2.Formaler Beweis—Nachweisvon Eigenschaften
3.Verifikation— Beweis derKorrektheitvon Programmen Dar¨uber hinaus:
IVertrautheit mitaktuellen Techniken
6
Themen
IGrundlagen:
IFormaleLogik, formalesBeweisen
IAnwendung:
IDer TheorembeweiserIsabelle
IFormaleSpezifikationundVerifikation
IFunktionale Programme
IImperative Programme
7
Plan
IN¨achstesieben Wochen:
I Formale Logik und formaler Beweis
I Vorlesung: Grundlagen
I Ubung: Isabelle¨
INachWeihnachten:
I GrundlagenderVerifikationimperativer Programme
I Semantik, Hoare-Kalk¨ul.
8
Der Theorembeweiser Isabelle
IInteraktiverTheorembeweiser
IEntwickelt inCambridgeundM¨unchen IEst. 1993 (?), ca. 500 Benutzer
IAndere: PVS, Coq, ACL-2 IVielf¨altig benutzt:
IVeriSoft (D) —http://www.verisoft.de
IL4.verified (AUS) —
http://ertos.nicta.com.au/research/l4.verified/
ISAMS (Bremen) —http://www.projekt-sams.de
9
Das Problem
Wirklichkeit Modell
10
Formale Logik
IFormale(symbolische) Logik:RechnenmitSymbolen
IProgramme:Symbolmanipulation
IAuswertung:Beweis
ICurry-Howard-Isomorphie: funktionale Programme∼= konstruktiver Beweis
11
Geschichte
IGottlobFrege(1848– 1942)
I ‘Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens’(1879)
IGeorgCantor(1845– 1918), BertrandRussel(1872– 1970), Ernst Zermelo(1871– 1953)
I Einfache Mengenlehre: inkonsistent (Russel’s Paradox)
I Axiomatische Mengenlehre: Zermelo-Fr¨ankel IDavidHilbert(1862– 1943)
I Hilbert’s Programm: ‘mechanisierte’ Beweistheorie
IKurtG¨odel(1906– 1978)
I Vollst¨andigkeitssatz,Unvollst¨andigkeitss¨atze
12
Grundbegriffe der formalen Logik
IAbleitbarkeitTh`P
ISyntaktischeFolgerungung IG¨ultigkeitTh|=P
ISemantischeFolgerung — hiernichtrelevant IKlassischeLogik:P∨ ¬P
IEntscheidbarkeit
IAussagenlogik IKonsistenz:Th6` ⊥
INicht allesableitbar
IVollst¨andigkeit:jede g¨ultige Aussageableitbar
IPr¨adikatenlogikerster Stufe
13
Unvollst¨ andigkeit
IG¨odels 1.Unvollst¨andigkeitssatz:
I JedeLogik, diePeano-Arithmetikformalisiert, ist entwederinkonsistent oderunvollst¨andig.
IG¨odels 2.Unvollst¨andigkeitssatz:
I JederLogik, die ihre eigeneKonsistenzbeweist, istinkonsistent.
IAuswirkungen:
I Hilbert’s Programmterminiert nicht.
I Programmenicht vollst¨andig spezifierbar.
I Spezifikationssprachenimmerunvollst¨andig(oder uninteressant).
I Mitanderen Worten:Es bleibt spannend.
14