INF 3230: Videregående kurs i formell modellering

Like dokumenter
UNIVERSITETET I OSLO

INF 3232/4232 Forelesning 1: Introduksjon; signaturer; grunntermer

Mulige Master-oppgaver hos Peter C. Ölveczky

INF 3230/4230 Forelesning 9: Omskrivningslogikk

UNIVERSITETET I OSLO

INF 3230/4230 Forelesning 4: Assosiativitet og kommutativitet; operasjonell semantikk

UNIVERSITETET I OSLO

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

INF Algoritmer og datastrukturer

INF2270 Datamaskinarkitektur

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen

INF Algoritmer og datastrukturer

Emnebeskrivelser for emner tatt ved Universitetet i Oslo. Presentasjon laget av Joakim Hjertås

Modellering av kommuniserende systemer i Maude

Velkommen. Velkommen til INF2270. Datamaskinarkitektur. Motto: Datamaskinen på tvers

Velkommen til INF115

INF1070. Velkommen til. Datamaskinarkitektur. Motto: Hvordan bygger man en datamaskin? INF1070

AlgDat 12. Forelesning 2. Gunnar Misund

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

UNIVERSITETET I OSLO

Velkommen til INF2100

Hjemmeeksamen 2 i INF3110/4110

Velkommen til. INF våren 2017

INF2810: Funksjonell Programmering. Tilstand og verditilordning

IN1010 Objektorientert programmering Våren 2019

INF våren 2017

Velkommen til INF2100 Jeg er Dag Langmyhr

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

INF1300 Introduksjon til databaser

Digital eksamen. Ifis erfaringer. Utdanningsleder Dag Langmyhr

Software installasjon og andre ettertanker

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

INF1000: Forelesning 7. Konstruktører Static

Kort om kursene INF1100 og MAT-INF1100L

Kunnskapsbasert Engineering (KBE) med Common Lisp

Ny 0 0,0% Distribuert 64 66,7% Noen svar 1 1,0% Gjennomført 31 32,3% Frafalt 0 0,0% I alt ,0%

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

Velkommen til MAT1030!

MAT1030 Diskret Matematikk

Introduksjon til objektorientert programmering

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

UNIVERSITETET I OSLO

Emnebeskrivelse og emneinnhold

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk

Programbeskrivelse for revidert versjon av bachelorprogrammet Matematikk, informatikk

MAT1030 Diskret matematikk

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen

Om Kurset og Analyse av Algoritmer

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

UNIVERSITETET I OSLO

INF1000: Forelesning 7

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

Kompetanse for kvalitet: Programmering for trinn

INF 4130 Oppgavesett 3, 20/ m/løsningsforslag

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

Anbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

Det matematisk-naturvitenskapelige fakultet Økt forståelse for matematikk ved bruk av programmering Sinusseminar 2019

INF2810: Funksjonell Programmering. Tilstand og verditilordning

INF Algoritmer og datastrukturer

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk

INF101 (kun et utvalg av kommentarene er med i denne rapporten)

INF2810: Funksjonell Programmering. Mengder og lokal tilstand

Sortering med tråder - Quicksort

Linjen for datateknikk - NTNU

Hurtigstartveiledning. ActivEngage. Hurtigstartveiledning

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

Velkommen til. IN1010 Objektorientert programmering Våren 2018

AlgDat 10. Forelesning 2. Gunnar Misund

INF /2, 2015 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

UNIVERSITETET I OSLO

Informasjon Prøveeksamen i IN1000 høsten 2018

INF1300 Introduksjon til databaser

IN våren 2019 Onsdag 16. januar

IN våren 2018 Tirsdag 16. januar

UNIVERSITETET I OSLO

Polarsirkelen videregående skole

INF Algoritmer og datastrukturer

Hvor raskt klarer vi å sortere?

INF2810: Funksjonell Programmering. Tilstand og verditilordning

Forelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner

Polarsirkelen videregående skole

Fra Python til Java, del 2

Institutt for Informatikk, 24. august 2012

Kodetime for Nordstrand barneskole

INF Algoritmer og datastrukturer

INF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet

VALGFAG 10. TRINN SKOLEÅRET Valgfag organiseres med to timer (90 minutter) i uka alle tre årene på ungdomsskolen.

(MVC - Model, View, Control)

INF Algoritmer og datastrukturer

(12) PATENT (19) NO (11) (13) B1 NORGE. (51) Int Cl. Patentstyret

Rekursiv programmering

INF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet

Velkommen til INF1060. Introduksjon til operativsystemer og datakommunikasjon

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013

Transkript:

INF 3230: Videregående kurs i formell modellering Peter Ølveczky Universitetet i Oslo 9. mai 2012

Eksekverbar Formell Modellering Modellering: lage en modell av systemdesign før implementasjon Formell: mulig å utlede egenskaper/konsekvenser av modellen Eksekverbar: la datamaskinen analysere modellen

Eksekverbar Formell Modellering Modellering: lage en modell av systemdesign før implementasjon Formell: mulig å utlede egenskaper/konsekvenser av modellen Eksekverbar: la datamaskinen analysere modellen

Eksekverbar Formell Modellering Modellering: lage en modell av systemdesign før implementasjon Formell: mulig å utlede egenskaper/konsekvenser av modellen Eksekverbar: la datamaskinen analysere modellen

Modellering

Modellering

Modellering

Modellering

Modellering (i vindtunnel)

Modellering

Modellering

INF 3230 Ifi tilbyr et videregående kurs i eksekverbar formell modellering: INF 3230: Formell modellering og analyse av kommuniserende systemer Modellene skrives i et state-of-the-art funksjonelt språk (Maude) Modellene kan analyseres direkte i Maude Modellene er funksjonelle programmer Ikke noe fikleri! Analysere design!

INF 3230 Ifi tilbyr et videregående kurs i eksekverbar formell modellering: INF 3230: Formell modellering og analyse av kommuniserende systemer Modellene skrives i et state-of-the-art funksjonelt språk (Maude) Modellene kan analyseres direkte i Maude Modellene er funksjonelle programmer Ikke noe fikleri! Analysere design!

INF 3230 Ifi tilbyr et videregående kurs i eksekverbar formell modellering: INF 3230: Formell modellering og analyse av kommuniserende systemer Modellene skrives i et state-of-the-art funksjonelt språk (Maude) Modellene kan analyseres direkte i Maude Modellene er funksjonelle programmer Ikke noe fikleri! Analysere design!

Eksempel: Merge-sort fmod MERGE-SORT is protecting LIST-INT. op mergesort : List -> List. op merge : List List -> List [comm]. vars L L : List. vars NEL NEL : NeList. vars I J : Int. eq mergesort(nil) = nil. eq mergesort(i) = I. ceq mergesort(nel NEL ) = merge(mergesort(nel), mergesort(nel )) if length(nel) == length(nel ) or length(nel) == length(nel ) +1. eq merge(nil, L) = L. ceq merge(i L, J L ) = I merge(l, J L ) if I <= J. endfm

Eksempel: Merge-sort fmod MERGE-SORT is protecting LIST-INT. op mergesort : List -> List. op merge : List List -> List [comm]. vars L L : List. vars NEL NEL : NeList. vars I J : Int. eq mergesort(nil) = nil. eq mergesort(i) = I. ceq mergesort(nel NEL ) = merge(mergesort(nel), mergesort(nel )) if length(nel) == length(nel ) or length(nel) == length(nel ) +1. eq merge(nil, L) = L. ceq merge(i L, J L ) = I merge(l, J L ) if I <= J. endfm

Eksempel: Merge-sort fmod MERGE-SORT is protecting LIST-INT. op mergesort : List -> List. op merge : List List -> List [comm]. vars L L : List. vars NEL NEL : NeList. vars I J : Int. eq mergesort(nil) = nil. eq mergesort(i) = I. ceq mergesort(nel NEL ) = merge(mergesort(nel), mergesort(nel )) if length(nel) == length(nel ) or length(nel) == length(nel ) +1. eq merge(nil, L) = L. ceq merge(i L, J L ) = I merge(l, J L ) if I <= J. endfm

Eksempel: Merge-sort fmod MERGE-SORT is protecting LIST-INT. op mergesort : List -> List. op merge : List List -> List [comm]. vars L L : List. vars NEL NEL : NeList. vars I J : Int. eq mergesort(nil) = nil. eq mergesort(i) = I. ceq mergesort(nel NEL ) = merge(mergesort(nel), mergesort(nel )) if length(nel) == length(nel ) or length(nel) == length(nel ) +1. eq merge(nil, L) = L. ceq merge(i L, J L ) = I merge(l, J L ) if I <= J. endfm

Videregående modellering: noen applikasjoner Sliding windows protokollen Protokoller for distribuerte databaser Sikkerhetsprotokoller: modellere klassiske sikkerhetsprotokoller bruke Maude til å finne ut hvorvidt B-gjengen kan lure banken til overføre Skrue s penger

Videregående modellering: noen applikasjoner Sliding windows protokollen Protokoller for distribuerte databaser Sikkerhetsprotokoller: modellere klassiske sikkerhetsprotokoller bruke Maude til å finne ut hvorvidt B-gjengen kan lure banken til overføre Skrue s penger

Videregående modellering: noen applikasjoner Sliding windows protokollen Protokoller for distribuerte databaser Sikkerhetsprotokoller: modellere klassiske sikkerhetsprotokoller bruke Maude til å finne ut hvorvidt B-gjengen kan lure banken til overføre Skrue s penger

Forhåndskunnskaper Ingen spesielle forhåndskrav Fordel å ha programmert noe rekursivt Kurset er også teoretisk godt å vite hva en funksjon f : A B er lærer å analysere hvorvidt programmer har evige løkker Velkommen til INF 3230 våren 2013!

Forhåndskunnskaper Ingen spesielle forhåndskrav Fordel å ha programmert noe rekursivt Kurset er også teoretisk godt å vite hva en funksjon f : A B er lærer å analysere hvorvidt programmer har evige løkker Velkommen til INF 3230 våren 2013!