Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Matematikens grundvalar och programmeringav datorer
Bengt Nordstrom
Datavetenskap, Chalmers och Goteborgs Universitet
KVVS, 14 februari, 2005
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Datorerna foddes ur logiken
∼ 1870: Cantor: Det finns minst tva slags oandligheter.
∼ 1900 – : Diskussion om matematikens grunder (Frege,Russel)
1928: Hilbert. Kan vi konstruera en metod som avgor om enmatematisk sats ar sann eller inte?
∼ 1930: Logiker studerade berakningsbarhet: Turing, Church,Kleene, Godel, Hilbert
∼ 1940: De forsta datorerna
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
De forsta datorerna
von Neuman och EDVAC,designad 1945
ENIAC 1945
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
BESK 1953
BESK 1953
Tangentbordet
BESKs konstruktorer
Erik Stemme, Gosta Neovius och OlleKarlstrom.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Under 1960-talet borjade man anvanda integrerade kretsar.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
1965: Moores observation
Moores observation
Goordon Moore lade marke till attantalet komponenter i en integreradkrets tiofaldigades vart tredje ar.
1965 : 50 komponenter
1968 : 500
1971 : 5 000
1974 : 50 000 ???
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Och Moore fick nastan ratt!
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Varje decennium 10-faldigades allt
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Men datorerna bestar inte bara av hardvara. Antalet programokade antagligen ocksa exponentiellt. Men hur fungerar de?(Demo)
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Microsoft XP
Lanserades den 25 oktober 2001
Samma dag lade bolaget ut andringar pa sin web-sida (18miljoner tecken!)
Tva av dessa skulle fixa viktiga brister i sakerheten. Endast enfungerade.
Innan man uppdaterar skall man enligt bolaget forst sparaviktiga filer pa en speciell floppy-disk.
Men som Microsofts Online Data Base sager: De speciellafloppy-diskarna som ar skapade av Windows XP Home “donot work with Windows XP Home”.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Kritiska tillampningar:
kraftverk
flygplan (fly-by-wire)
bilar
overforing av pengar
Komplicerade system som ingen manniska forstar. Livsviktigt attde fungerar!
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Computer Related Airplane Incidents and Accidents
China Airlines Airbus A300 in Taipei (1998)
The Korean Air Lines B747 CFIT Accident in Guam (1997)
The FedEx MD11 Accident on Landing at Newark (1997)
The Birgen Air B757 accident near Puerto Plata (1996)
News on the Aeroperu B757 accident (1996)
The Ariane 5 Failure (1996)
The T-43A Accident near Dubrovnik (1996)
Information About the Martinair B767 EFIS-loss Incident near Boston, MA
The American Airlines B757 Accident in Cali (1995)
The A320 Maintenance Incident at Gatwick (1995)
The A330 Flight-Test Accident in Toulouse (1994)
The Tokyo-London A340 FMGS Problem (1994)
The A300 Crash in Nagoya (1994)
The A320 Accident in Warsaw(1993)
The Air Inter A320 Accident near Strasbourg(1992)
The Sydney A320/DC10 Incident (1991)
The Lauda Air B767 Accident (1991)
http://www.rvs.uni-bielefeld.de/publications/Incidents/ (prof Peter Bladkin, 1999)
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Exempel: Sizewell B
For att stanga reaktorn anvands ettprogram som ar 100 000 rader langt.Fungerar det?Under 1993 gjorde man mer an50000 tester i 1993. Programmetgick fel i halften av fallen.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Varfor?
Latt att skriva ett program.
Svart att skriva ett korrekt program.
Vad betyder det att skriva ett korrekt program?
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Hur vet vi att ett program ar korrekt?
Traditionellt:
Vi testar om programmetfungerar ibland.
Onskvart:
Vi bevisar att programmetalltid loser sin uppgift.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Kunskap av olika precision
tyst sprak (Ingemar Stenmark: Da a ba’ och ak!)
naturligt sprak (kan tolkas av en manniska)
formellt sprak (kan tolkas av en maskin)
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Vilken precision har olika delar inom programmeringen?
Precision hos: inget sprak naturligt sprak formellt sprak
program alltiduppgift vanligt ibland sallsyntbevis ofta ibland sallsynt
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Exempel pa hur ett formellt bevis kan se ut:
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Datavetenskapen har nytta av och staller krav pa Logik. Men vikan ocksa bidra.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
En mansklig konstruktion (t.ex. en bil, ett verktyg, en bro, ettprogrammeringssprak eller en formell logik) kan studeras pa olikasatt:
i teorin (genom att gora en matematisk modell)
i praktiken, genom att
forverkliga konstruktionenexperimentera med den (genom att anvanda den)
Det ar forst under de senaste decennierna som vi har lyckatsimplementera och experimentera med olika logiska formalismer.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Teoretiska studier av ett logiskt sprak (sedan 1930-talet)
Vi ser pa en logik som ett matematiskt objekt och resonerarmatematiskt om olika egenskaper hos spraket (normalisering,subjekt reduktion etc)
Praktiska studier (sedan 1990)
implementering: beviskontroll, teorembevisare, beviseditor.
experiment: bygger bevis med hjalp av en dator.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Vi kan anvanda datorer for att kontrollera bevis
Bevis av programs egenskaper
Exempel:
Resonera om JavaCard-program
Sakerhetskritiska exempel
Matematiska bevis
Exempel:
Egenskaper hos logiska system
Keplers formodan
Algebrans fundamentalsats
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Konsekvenser av ett stigande praktiskt intresse
Teoretiska studier av en logik reducerar logiken till ettmatematiskt objekt, man betonar intressanta matematiskaegenskaper.
Logiska sprak med intressanta praktiska egenskaper kommeratt utvecklas (vi ar intresserad av att anvanda, inte barastudera)
Okat intresse av semantik och grundvalsproblem.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Argument mot formalism
Formalism
Matematiken handlar om att manipulera symboler med hjalp avgivna regler
Mot formalism
Nar vi anvander en logik for att bevisa egenskaper hos program villvi ha en riktig semantik. Egenskaper maste ha en mening iverkligheten.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Program ar konkreta matematiska objekt
konkreta
Program tar fysiskt utrymme (som byggnader, stolar, etc). Enprogrammerare konstruerar ett program i samma anda som ensnickare tillverkar ett bord. Objekt satts ihop av delar med vissaegenskaper och det ar en viktig del av konstruktionsprocessen attovertyga sig om att dessa egenskaper galler.
matematiska
Funktionella programmeringssprak, typteori.
KVVS
Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling
Sammanfattning
Under de senaste arhundranden utvecklades den matematiskaanalysen fran framsteg inom fysiken. Pa samma satt kommerlogiken i framtiden att utvecklas fran starka praktiska behovav korrekta datorsystem och nya mojligheter till logiskaexperiment.
Inom logiken kommer intresset att skiftas fran ett intresse avsyntax till semantik och fran teori till praktik.
Grundvalsfragor inom matematik och logik har plotsigt blivitpraktiskt viktiga.