matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf ·...

26
KVVS Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling Matematikens grundvalar och programmering av datorer Bengt Nordstr¨ om Datavetenskap, Chalmers och G¨ oteborgs Universitet KVVS, 14 februari, 2005

Upload: others

Post on 15-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

Matematikens grundvalar och programmeringav datorer

Bengt Nordstrom

Datavetenskap, Chalmers och Goteborgs Universitet

KVVS, 14 februari, 2005

Page 2: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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

Page 3: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

De forsta datorerna

von Neuman och EDVAC,designad 1945

ENIAC 1945

Page 4: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

BESK 1953

BESK 1953

Tangentbordet

BESKs konstruktorer

Erik Stemme, Gosta Neovius och OlleKarlstrom.

Page 5: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

Under 1960-talet borjade man anvanda integrerade kretsar.

Page 6: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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 ???

Page 7: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

Och Moore fick nastan ratt!

Page 8: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

Varje decennium 10-faldigades allt

Page 9: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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)

Page 10: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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”.

Page 11: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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!

Page 12: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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)

Page 13: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.

Page 14: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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?

Page 15: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.

Page 16: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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)

Page 17: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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

Page 18: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

Exempel pa hur ett formellt bevis kan se ut:

Page 19: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

KVVS

Datorernas utveckling Kvantitet Kvalitet? Analys Framtida utveckling

Datavetenskapen har nytta av och staller krav pa Logik. Men vikan ocksa bidra.

Page 20: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.

Page 21: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.

Page 22: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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

Page 23: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.

Page 24: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.

Page 25: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.

Page 26: Matematikens grundvalar och programmering av datorerbengt/talks/kvss-jan-2005-handout.pdf · Information About the Martinair B767 EFIS-loss Incident near Boston, MA The American Airlines

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.