Modellering av kommuniserende systemer i Maude

Størrelse: px
Begynne med side:

Download "Modellering av kommuniserende systemer i Maude"

Transkript

1 Modellering av kommuniserende systemer i Maude Endelig: distribuerte systemer objekt-orientering kommunikasjon synkrone og asynkrone objekter INF3230/4230 Forelesning 11 p. 1/34

2 Siste nytt fra WRLA 04 Barcelona: Konferansen for omskrivingslogikk/maude Maude versjon 2.1 bedre feilmeldinger! fikset endel groms/bugs nyttig polymorfi: Kan for eksempel ha lister av hva-som-helst på en grei måte. Nytt attributt for konstuktører: poly debugger som virker! omnavning av sorter/operasjoner ved inklusjon av moduler divisjon mm. på rasjonale tall kan bruke tab (som i Unix) i Maudes kommandolinje. Versjon 2.1 er lagt opp (kommando: maude). Tidligere versjoner er tilgjengelige som maude1, maude2 og maude INF3230/4230 Forelesning 11 p. 2/34

3 Distribuerte objekter i Maude Tema i dag: objekter og meldinger OO-støtte: i (core) Maude og enda bedre i Full Maude klasser og regler søk problemer i Full Maude (men Full Maude 2.1 skal være bedre!) eksempel: personer eksempel: spisende filosofer INF3230/4230 Forelesning 11 p. 3/34

4 Klasser og objekter Klasse: verdier/attributter metoder Objekt: instans av en klasse navn/adresse/objektidentifikator INF3230/4230 Forelesning 11 p. 4/34

5 Objekter i Maude: Hovedidé Et objekt (i en tilstand) kan representeres av en term der < O : C att 1 : val 1,..., att n : val n > O er et objektnavn/objektreferanse/objektidentifikator C er klassen til objektet O att 1 til att n er attributtene til objektet (og klassen C) val 1 til val n er verdien til attributtene att 1 til att n i tilstanden Eksempel: < "Fisk" : Person age: 60, status: married > INF3230/4230 Forelesning 11 p. 5/34

6 Klassedeklarasjoner i (core) Maude Anta gitt en sort Oid av objektidentifikatorer Da kan en klasse C, som har instanser på formen < O : C att 1 : val 1,..., att n : val n > deklareres sort Oid Object. op <_: C att 1 :_,..., att n :_> : Oid s 1... s n -> Object [ctor]. der s i er sorten til attributt att i Eksempel: sort Oid Object. subsort String < Oid. op <_: Person age:_, status:_> : Oid Nat Status -> Object [ctor]. INF3230/4230 Forelesning 11 p. 6/34

7 Konfigurasjoner En tilstand i et distribuert system modelleres som en mengde eller multisett av objekter og meldinger som flyter rundt i multisettet ( suppen ): sorts Object Msg Configuration. subsort Object Msg < Configuration. op none : -> Configuration [ctor]. op : Configuration Configuration -> Configuration [ctor assoc comm id: none]. Eksempel: En term < "Fisk" : Person age: 60, status: married > < "Chomsky" : Person age: 74, status: married > er en term av sort Configuration INF3230/4230 Forelesning 11 p. 7/34

8 Metoder (1) Metoder modelleres av omskrivningsregler: var X : Oid. var N : Nat. var S : Status. rl [birthday] : < X : Person age: N, status: S > => < X : Person age: s N, status: S >. INF3230/4230 Forelesning 11 p. 8/34

9 Metoder (2) Ved assoc og comm og Kongruens har vi at < "Fisk" : Person age: 60, status: married > < "Chomsky" : Person age: 74, status: married > < "Villepin" : Person age: 55, status: married > omskrives til < "Fisk" : Person age: 60, status: married > < "Chomsky" : Person age: 75, status: married > < "Villepin" : Person age: 55, status: married > INF3230/4230 Forelesning 11 p. 9/34

10 Parallellitet Vi kan gjøre en parallell omskrivning, slik at < "Fisk" : Person age: 60, status: married > < "Chomsky" : Person age: 74, status: married > < "Villepin" : Person age: 55, status: married > kan også omskrives til < "Fisk" : Person age: 61, status: married > < "Chomsky" : Person age: 75, status: married > < "Villepin" : Person age: 56, status: married > i ett parallelt steg (Kongruens på de lokale aksjonene mht ) I et distribuert system kan et objekt tilsvare en komponent i det distribuerte systemet INF3230/4230 Forelesning 11 p. 10/34

11 Flere objekter i samme regel (1) rl [forlovelse] : < X : Person age: N, status: single > < X : Person age: N, status: single > => < X : Person age: N, status: engaged(x ) > < X : Person age: N, status: engaged(x) >. To objekter i suppen kommer sammen Kalles ofte synkron kommunikasjon (handshake) fordi deltagerne må møtes, og kan ikke gjøre noe annet i et slikt steg. INF3230/4230 Forelesning 11 p. 11/34

12 Eksempel: Flere objekter i samme regel (2) < "Imtiaz" : Person age: 30, status: single > < "Peter" : Person age: 29, status: single > < "Maiken" : Person age: 28, status: single > kan omskrives til < "Imtiaz" : Person age: 30, status: engaged("maiken") > < "Peter" : Person age: 29, status: single > < "Maiken" : Person age: 28, status: engaged("imtiaz") > siden en konfigurasjon er et multisett med assoc og comm INF3230/4230 Forelesning 11 p. 12/34

13 Meldinger (1) En tilstand er en suppe av objekter og meldinger meldinger blir sendt ut i suppen og kan senere bli lest derfra asynkron kommunikasjon Eksempel: ønske om separasjon: op separation : Oid -> Msg. rl [init-separation] : < X : Person age: N, status: married(x ) > => < X : Person age: N, status: separated(x ) > separate(x ). INF3230/4230 Forelesning 11 p. 13/34

14 Meldinger (2) Eksempel: < "JR" : Person age: 50, status: married("sue Ellen") > < "Bobby" : Person age: 47, status: married("pam") > < "Pam" : Person age: 40, status: married("bobby") > < "Sue Ellen" : Person age: 46, status: married("jr") > kan omskrives til < "JR" : Person age: 50, status: married("sue Ellen") > < "Bobby" : Person age: 47, status: married("pam") > < "Pam" : Person age: 40, status: married("bobby") > < "Sue Ellen" : Person age: 46, status: separated("jr") > separate("jr") Husk at konfigurasjonen (suppen) er assoc og comm! INF3230/4230 Forelesning 11 p. 14/34

15 Lese/konsumere melding: Meldinger (3) rl [sep2] : separate(x) < X : Person age: N, status: married(x ) > => < X : Person age: N, status: separated(x ) >. Meldingen eksisterer ikke etter transisjonen: tilstanden på forrige slide går derfor til < "JR" : Person age: 50, status: separated("sue Ellen") > < "Bobby" : Person age: 47, status: married("pam") > < "Pam" : Person age: 40, status: married("bobby") > < "Sue Ellen" : Person age: 46, status: separated("jr") > INF3230/4230 Forelesning 11 p. 15/34

16 Meldingsutveksling Ved alteret: ops marry? yes no : Oid -> Msg [ctor]. rl [ask] : < X : Person age: N, status: engaged(x ) > => < X : Person age: N, status: engaged(x ) > marry?(x ). rl [yes] : marry?(x) < X : Person age: N, status: engaged(x ) > => < X : Person age: N, status: married(x ) > yes(x ). rl [no] : marry?(x) < X : Person age: N, status: engaged(x ) > => < X : Person age: N, status: single > no(x ). Pluss regler for mottakelse av yes og no meldinger INF3230/4230 Forelesning 11 p. 16/34

17 Skape objekter Barn født til ektepar: crl [birth] : < X : Person age: N, status: married(x ) > => < X : Person age: N, status: married(x ) > < X + " jr." : Person age: 0, status: single > if N > 15 and N < 55 Eksempel: < "Zeus" : Person age: 800, status: married("hera") > < "Hera" : Person age: 20, status : married("zeus") > => < "Zeus" : Person age: 800, status: married("hera") > < "Hera" : Person age: 20, status : married("zeus") > < "Zeus jr." : Person age: 0, status: single > INF3230/4230 Forelesning 11 p. 17/34

18 Fjerne objekter rl [death] : < X : Person age: N, status: S > => none. Eksempel: < "Gilgamesh" : Person age: 50, status: married > < "Enkidu" : Person age: 30, status: single > => < "Gilgamesh" : Person age: 50, status: married > Objekter kan både skapes og forsvinne i samme regel etc. INF3230/4230 Forelesning 11 p. 18/34

19 Full Maude (1) Full Maude er en prototype på et OO interface i Maude Vi så at plain (core) Maude kan brukes til å modellere OO Full Maude gir syntaktisk støtte til å definere klasser subklasser meldinger mindre regler Likevel, dette er en prototype: noen feil/mangler dårlige feilmeldinger ikke alltid så hyggelig å bruke... men kan likevel benyttes for OO Full Maude 2.1 skal være mye bedre! INF3230/4230 Forelesning 11 p. 19/34

20 Full Maude (2) Full Maude startes ved å lese inn filen full-maude.maude enten ved å gi kommandoen maude full-maude.maude eller ved å ha en linje in full-maude.maude i din Maude-fil Alle Full Maude moduler og kommandoer omkranset av parenteser omod... endom for objekt-orienterte moduler (omod X is... endom) (rew...) (search...) men in fil.maude INF3230/4230 Forelesning 11 p. 20/34

21 Klasser i Full Maude Importerer modulen CONFIGURATION i alle omod er Klassedeklarasjon: class C att 1 : s 1,..., att n : s n. Eksempel: Klasse class Person age : Nat, status : Status. Eksempel: Term < "Peter" : Person age : 33, status : single > Merk blank før og etter kolon INF3230/4230 Forelesning 11 p. 21/34

22 Subklassedeklarasjon: Subklasser i Full Maude class B att 1 : s 1,..., att k : s k. subclass B < C. Subklassen B arver alle attributtene til superklassen C og alle reglene til C Kan ha ha multippel arv: subclass B < C D E. Merk: ingen regeloverkjøring for subklasser Meldinger kan deklareres med nøkkelordet msg : msg sep : Oid -> Msg. INF3230/4230 Forelesning 11 p. 22/34

23 Regelformen i Full Maude Attributter som ikke får ny verdi kan utelates fra høyresiden Attributter som ikke influerer på den nye tilstanden kan utelates i venstresiden Rekkefølgen på attributtene er vilkårlig crl [engage] : < X : Person age : N, status : single > < X : Person age : N, status : single > => < X : Person status : engaged(x ) > < X : Person status : engaged(x ) > if N > 15 and N > 15. rl [death] : < X : Person > => none. rl [birthday] : < X : Person age : N > => < X : Person age : s N >. INF3230/4230 Forelesning 11 p. 23/34

24 Søk i Full Maude Søk i Full Maude klarer ikke such that-betingelser! Etter spesifikasjon: gi kommandoen (show all.) til Full Maude cut-and-paste resultatet til (core) Maude og kjør søket der stygt! Søk uten betingelser går bra i Full Maude men man kan ikke skrive ut stien INF3230/4230 Forelesning 11 p. 24/34

25 Spisende filosofer Klassisk problem for å illustrere vranglås og vrangløp mellom konkurrerende prosesser 5 filosofer, 5 spisepinner, 1 bolle sleipe dumplings En filosof tenker, er sulten, spiser, tenker... i en evig løkke En filosof må ha sin egen og naboens spisepinne for å kunne spise Kan noen filosof sulte ihjel? Kan alle filosofer sulte ihjel? INF3230/4230 Forelesning 11 p. 25/34

26 En filosof er en term Modellering av filosofer < i : Philosopher state : s, noofsticks : j, noofeats : k > der i er filosof-nummeret, j er antallet pinner denne filosofen har nå, og k er antall ganger filosofen har spist: class Philosopher state : State, noofsticks : Nat, noofeats : Nat. subsort Nat < Oid. *** Object names are numbers! sort State. ops thinking hungry eating : -> State [ctor]. INF3230/4230 Forelesning 11 p. 26/34

27 Modellering av spisepinne En spisepinne kan f eks modelleres av en melding som deklareres på følgende måte: msg chopstick : Nat -> Msg. (Man kunne alternativt la et objekt modellere en spisepinne) INF3230/4230 Forelesning 11 p. 27/34

28 Initialtilstand Initialtilstanden er alltid den samme: op initstate : -> Configuration. eq initstate = chopstick(1) chopstick(2) chopstick(3) chopstick(4) chopstick(5) < 1 : Philosopher state : thinking, noofsticks : 0, noofeats : 0 > < 2 : Philosopher state : thinking, noofsticks : 0, noofeats : 0 > < 3 : Philosopher state : thinking, noofsticks : 0, noofeats : 0 > < 4 : Philosopher state : thinking, noofsticks : 0, noofeats : 0 > < 5 : Philosopher state : thinking, noofsticks : 0, noofeats : 0 >. INF3230/4230 Forelesning 11 p. 28/34

29 Regler (hungry) En tenkende filosof blir alltid sulten: vars I J K : Nat. rl [hungry] : < I : Philosopher state : thinking > => < I : Philosopher state : hungry >. INF3230/4230 Forelesning 11 p. 29/34

30 Regler (grabfirst) En sulten filosof plukker opp sin første pinne: crl [grabfirst] : chopstick(j) < I : Philosopher state : hungry, noofsticks : 0 > => < I : Philosopher state : hungry, noofsticks : 1 > if I can use stick J. op right : Nat -> Nat. *** The right chopstick index. eq right(i) = if I == 5 then 1 else I + 1 fi. op _can use stick_ : Nat Nat -> Bool. eq I can use stick J = (I == J) or (J == right(i)). INF3230/4230 Forelesning 11 p. 30/34

31 Regler (grabsecond) Plukke opp andre pinne og begynne å spise: crl [grabsecond] : chopstick(j) < I : Philosopher noofsticks : 1, noofeats : K > => < I : Philosopher state : eating, noofsticks : 2, noofeats : K + 1 > if I can use stick J. INF3230/4230 Forelesning 11 p. 31/34

32 Regler (stopeating) En mett filosof slutter spising: rl [stopeating] : < I : Philosopher state : eating > => < I : Philosopher state : thinking, noofsticks : 0 > chopstick(i) chopstick(right(i)). INF3230/4230 Forelesning 11 p. 32/34

33 Kan alle sulte? Maude> (search [1] initstate =>! C:Configuration.) Solution 1 C:Configuration <- < 1 : Philosopher noofeats : 0, noofsticks : 1, state : hungry > < 2 : Philosopher noofeats : 0, noofsticks : 1, state : hungry > < 3 : Philosopher noofeats : 0, noofsticks : 1, state : hungry > < 4 : Philosopher noofeats : 0, noofsticks : 1, state : hungry > < 5 : Philosopher noofeats : 0, noofsticks : 1, state : hungry > Det finnes tydeligvis en tilstand hvorfra ingen filosof kan spise videre. I denne tilstanden har enhver filosof rappet til seg én spisepinne og venter på en annen ledig pinne... INF3230/4230 Forelesning 11 p. 33/34

34 Variasjoner av forbedringer Ta begge pinnene på en gang Nøkler: 4 nøkler på bordet, en filosof må ha nøkkel (glass) før hun kan be om pinner, og legger fra seg nøkkelen sammen med pinnene. Dørvakt som ikke lar mer enn 4 filosofer være ved bordet samtidig ordning av pinnene...må ta minste pinne først.... INF3230/4230 Forelesning 11 p. 34/34

INF 3230/4230 Forelesning 9: Omskrivningslogikk

INF 3230/4230 Forelesning 9: Omskrivningslogikk 27.3.2006 INF 3230 9 1 INF 3230/4230 Forelesning 9: Omskrivningslogikk Peter Ølveczky/Ingrid Yu Kapittel 5 og 6 Omskrivningslogikk Parallelle steg Formatering 27.3.2006 INF 3230 9 2 Midterm eksamen Midterm

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230/4230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 7. juni 2007 Tid for eksamen: 9.00 12.00

Detaljer

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

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen Henrik Dæhli og Joakim Hjertås 23. juni 2005 Plan Problemstilling Bakgrunn Maude sikkerhet π-kalkylen og varianter av denne en Maude-modell

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. juni 2010 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF220 Formell modellering og eksekvering av kommuniserende systemer Eksamensdag: 5. juni 2003 Tid for eksamen: 9.00 15.00 Oppgavesettet

Detaljer

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

INF 3230/4230 Forelesning 4: Assosiativitet og kommutativitet; operasjonell semantikk 13.2.2006 INF 3230 4 1 INF 3230/4230 Forelesning 4: Assosiativitet og kommutativitet; operasjonell semantikk Peter Ølveczky Forelest av Ingrid C. Yu Innhold: attributter i Maude (særlig assoc og comm)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230/4230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 18. mars 2005 Tid for eksamen: 13.30 16.30

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230/4230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 8. juni 2006 Tid for eksamen: 9.00 12.00

Detaljer

INF 3230: Videregående kurs i formell modellering

INF 3230: Videregående kurs i formell modellering 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:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230/4230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 24. mars 2006 Tid for eksamen: 13.30 16.30

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. april 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

Repitisjonskurs. Arv, Subklasser og Grensesnitt

Repitisjonskurs. Arv, Subklasser og Grensesnitt Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 13. juni 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; } Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

Arv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {

Arv. Book book1 = new Book(); book1. title = Sofies verden class Book { String title; } class Dictiona ry extends Book { Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

(MVC - Model, View, Control)

(MVC - Model, View, Control) INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av

Detaljer

Semantisk Analyse del I

Semantisk Analyse del I Semantisk Analyse del I Attributtgrammatikker Kapittel 6.1-6.2 26.02.2013 1 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel 6.1-6.2)

Detaljer

INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser

INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser Emneoversikt subklasser INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser Stein Gjessing Institutt for informatikk Mange flere eksempler på fellesøvelsene og neste forelesning 1 Generalisering - spesialisering

Detaljer

GUI 3 JavaFX. Mer interaksjon Hvordan gi input :l programmet. INF1010 Stein Michael Storleer

GUI 3 JavaFX. Mer interaksjon Hvordan gi input :l programmet. INF1010 Stein Michael Storleer GUI 3 JavaFX Mer interaksjon Hvordan gi input :l programmet INF1010 Stein Michael Storleer Innhold 1. Ta opp tråden fra sist 2. Input med TextField 3. Anonyme klasser 4. Lytte på alle noder i et grid 5.

Detaljer

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski UKE 13 Mer UML modellering Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? Objektorientert design - kapittel 5 og 7 UML modellering Aktivitetsdiagrammer Klassediagram Ukesoppgaver

Detaljer

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket Programmeringsspråk for nybegynnere Krav til språket Hva om vi laget vårt eget språk til INF1000? Programmeringsspråket må være så enkelt som mulig. (Programmering er vanskelig nok som det er.) Hvilke

Detaljer

Universitetet i Oslo Institutt for informatikk. Datatyper og eksempelstudier i Creol. Nabil Mounzir Safadi. Hovedfagsoppgave

Universitetet i Oslo Institutt for informatikk. Datatyper og eksempelstudier i Creol. Nabil Mounzir Safadi. Hovedfagsoppgave Universitetet i Oslo Institutt for informatikk Datatyper og eksempelstudier i Creol Nabil Mounzir Safadi Hovedfagsoppgave 2. mai 2005 Forord Denne hovedfagsoppgaven er en del av en sivil ingeniør-grad

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 4231 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 12. juni 2014 Tid for eksamen: 9.00 13.00 Oppgavesettet

Detaljer

Skanning del I INF /01/15 1

Skanning del I INF /01/15 1 Skanning del I INF 5110-2015 21/01/15 1 Skanning: innhold (begge forelesningene) Hva gjør en skanner? Input: Programteksten. Output: Ett og ett token fra programteksten (sekvensielt). Regulære uttrykk/definisjoner.

Detaljer

Spesifikasjon av Lag emne

Spesifikasjon av Lag emne Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Det finnes ingenting. som kan gjøres med interface. men som ikke kan gjøres uten

Det finnes ingenting. som kan gjøres med interface. men som ikke kan gjøres uten Interface, Abstract Class... i-120 : H-98 2a. Abstraksjon i JAVA: 1 Det finnes ingenting som kan gjøres med interface i-120 : H-98 2a. Abstraksjon i JAVA: 2 som kan gjøres med bruk av unntak i-120 : H-98

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 12. juni 2014 Tid for eksamen: 9.00 13.00 Oppgavesettet

Detaljer

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

INF /2, 2015 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO INF5110 17/2, 2015 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO Mer om LR-parsering Hadde også igjen noen foiler fra 12/2 Oblig 1 er lagt ut. Det blir en intro til Oblig 1 ved Eyvind Axelsen torsdag 19/2 1 Flertydige

Detaljer

IN1140, H2018 gruppetime oppgaver Introduksjon til Tekst i Python

IN1140, H2018 gruppetime oppgaver Introduksjon til Tekst i Python IN1140, H2018 gruppetime oppgaver Introduksjon til Tekst i Python I disse oppgavene skal vi introdusere Python, og vise hvordan vi kan jobbe med tekst i Python. Vi skal se på hva et programmeringsspråk

Detaljer

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

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO INF5110 12/2-2013 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO Dagens temaer: Noen foiler igjen fra forrige gang SLR(1), LR(1)- og LALR(1)-grammatikker NB: Oppgaver til kap 4 og 5 er lagt ut på undervisningsplanen

Detaljer

Skanning del I. Kapittel 2 INF 3110/ INF

Skanning del I. Kapittel 2 INF 3110/ INF Skanning del I Kapittel 2 18.01.2013 1 Skanning: innhold (begge forelesningene) Hva gjør en skanner? Input: programteksten. Output: Ett og ett token fra programteksten (sekvensielt). Regulære uttrykk/definisjoner.

Detaljer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer Fra krav til objekter Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050--1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use

Detaljer

Informasjon Prøveeksamen i IN1000 høsten 2018

Informasjon Prøveeksamen i IN1000 høsten 2018 Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 8. juni 2012 Tid for eksamen: 9.00 13.00 Oppgavesettet

Detaljer

Statisk semantisk analyse - Kap. 6

Statisk semantisk analyse - Kap. 6 Statisk semantisk analyse - Kap. 6 Generelt om statisk semantisk analyse Attributt-grammatikker Symboltabell Datatyper og typesjekking 3110/4110-2004 5110-2009 3/3/2009 1 Generelt om semantisk analyse

Detaljer

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

INF 3232/4232 Forelesning 1: Introduksjon; signaturer; grunntermer INF 3232/4232 Forelesning 1: Introduksjon; signaturer; grunntermer Peter Ölveczky Universitetet i Oslo 16. januar 2017 Peter Ölveczky (Universitetet i Oslo) Introduksjon++ 16. januar 2017 1 / 50 Dagens

Detaljer

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

Konstruktører. Bruk av konstruktører når vi opererer med enkle klasser er ganske ukomplisert. Når vi skriver. skjer følgende: Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i

Detaljer

Anatomien til en kompilator - I

Anatomien til en kompilator - I Anatomien til en kompilator - I program Symboltabell tekst tokens syntaks-tre beriket syntaks-tre Finne struktur i programmet OK i henhold til grammatikk? Preprocessor Makroer Betinget kompilering Filer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 16. juni 2016 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

Generiske mekanismer i statisk typede programmeringsspråk

Generiske mekanismer i statisk typede programmeringsspråk Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive

Detaljer

TwidoSuite kommunikasjon

TwidoSuite kommunikasjon TwidoSuite kommunikasjon TwidoSuite kursunderlag: Kommunikasjon via Modbus seriell, Ethernet, Remote link, ASCII, CanOpen og AS-i. Macroer for kommunikasjon Modbus 2 Modbus port Bruk programmeringsporten

Detaljer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer Plan Tema: Ulike arkitekturer og avbildninger 1. asynkron arkitektur med felles variable 2. synkron arkitektur med felles variable 3. distribuert arkitektur med kanal-kommunikasjon 4. program-skjemaer

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

Detaljer

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 INF1010 Arv Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp

Detaljer

Statisk semantisk analyse - Kap. 6

Statisk semantisk analyse - Kap. 6 Statisk semantisk analyse - Kap. 6 Generelt om statisk semantisk analyse Attributt-grammatikker Symboltabell Datatyper og typesjekking 3/15/11 1 Generelt om semantisk analyse Oppgave: Sjekke alle krav

Detaljer

INF1000: Forelesning 7

INF1000: Forelesning 7 INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en

Detaljer

2012 2a. C rc; void main() { rc = new C (); rc.m2(); } } INF 3110/ INF /28/13 1

2012 2a. C rc; void main() { rc = new C (); rc.m2(); } } INF 3110/ INF /28/13 1 2012 2a Vi tenker oss i denne oppgaven at vi har et Java-lignende språk hvor metoder kan ha lokalt definerte metoder. Dessuten kan man deklarere variable og metoder også på ytterste programnivå. Dette

Detaljer

Avgjørbarhet / Uavgjørbarhet

Avgjørbarhet / Uavgjørbarhet Avgjørbarhet / Uavgjørbarhet For å kunne snakke om avgjørbarhet/uavgjørbarhet trenger vi Turingmaskiner og for å snakke om Turingmaskiner trenger vi formelle språk, og strenger og alfabeter. Pluss litt

Detaljer

JAVA Oppsummering for IS-102. Even Åby Larsen

JAVA Oppsummering for IS-102. Even Åby Larsen JAVA Oppsummering for IS-102 Even Åby Larsen even.larsen@hia.no 26. april 2010 Innhold 1 Innledning 3 2 Hva er et Java program 4 2.1 Kjøring av java programmer................. 4 3 Grammatikk for Java

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

INF Notater. Veronika Heimsbakk 10. juni 2012 INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver

Dagens tema: 12 gode råd for en kompilatorskriver Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

Vranglås (Deadlocks) Fag: Operativsystemer

Vranglås (Deadlocks) Fag: Operativsystemer Vranglås (Deadlocks) Fag: Operativsystemer 1 Innhold: Vranglås Vranglås Eksempler: Svensk flagg, Veikryss, spisende filosofer Betingelser for vranglås Metoder for å håndtere vranglås Tilbake til systemer

Detaljer

EKSAMENSOPPGAVE. INF-1400 Objektorientert Programmering. Dato: Tirsdag 23. mai Klokkeslett: Kl 17:00-21:00. Adm. bygget, Aud.

EKSAMENSOPPGAVE. INF-1400 Objektorientert Programmering. Dato: Tirsdag 23. mai Klokkeslett: Kl 17:00-21:00. Adm. bygget, Aud. Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: INF-1400 Objektorientert Programmering Dato: Tirsdag 23. mai 2017 Klokkeslett: Kl 17:00-21:00 Sted: Tillatte hjelpemidler: Type innføringsark

Detaljer

Lynkurs i shellprogrammering under Linux

Lynkurs i shellprogrammering under Linux Lynkurs i shellprogrammering under Linux Interaktiv bruk av shell Shell/skall er en applikasjon som lar bruker taste inn tekstlige kommandoer til Linux en og en linje om gangen (leser linjer fra stdin).

Detaljer

Fra krav til objektdesign

Fra krav til objektdesign Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller

Detaljer

Oversikt over Real-Time Maude

Oversikt over Real-Time Maude 31.1.2007 OMS-seminar 1 Oversikt over Real-Time Maude Peter Ølveczky Basert på joint work med José Meseguer (UIUC), Marco Caccamo (UIUC), Carolyn Talcott (SRI) og Stian Thorvaldsen (ex-uio) 31.1.2007 OMS-seminar

Detaljer

INF1010 våren januar. Objektorientering i Java

INF1010 våren januar. Objektorientering i Java INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: Forelesning 7. Konstruktører Static INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter

Detaljer

Fra sekvensielt til parallelt

Fra sekvensielt til parallelt Fra sekvensielt til parallelt «Sanntidprogrammering etter 34 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)

Detaljer

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

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering Etter uke 6 skal du Kjenne til motivasjonen for objektorientert programmering Introduksjon til objektorientert programmering INF1001 Høst 2016 Forstå hva en klasse er, og forskjellen på klasse og objekt

Detaljer

1. Profiler og variabler

1. Profiler og variabler Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Profiler og variabler Stein Meisingseth 26.05.2014 Lærestoffet er utviklet for faget IDRI3005 PowerShell 1. Profiler og variabler Resymé:

Detaljer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Håndtering av unntak (eng: exceptions) Java-programmering Håndtering av unntak Exception-objekter og klasser try, catch og finally throw og throws Eclipse

Detaljer

Fra sekvensielt til parallelt

Fra sekvensielt til parallelt Fra sekvensielt til parallelt «Sanntidprogrammering etter 33 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)

Detaljer

Råd nr 1: Start nå! Det tar typisk timer å programmere Del 1 om man ikke har gjort slikt før. Dagens tema:

Råd nr 1: Start nå! Det tar typisk timer å programmere Del 1 om man ikke har gjort slikt før. Dagens tema: Dagens tema: 12 gode råd når man rammerer en kompilator Råd nr 1: Start nå! Det tar typisk 10 50 timer å rammere Del 1 om man ikke har gjort slikt før. Hvor mange timer per dag blir det? Dag Langmyhr,Ifi,UiO:

Detaljer

klassen Vin må få en ny variabel Vin neste alle personvariable (personpekere) i listeklassen må byttes til Vin

klassen Vin må få en ny variabel Vin neste alle personvariable (personpekere) i listeklassen må byttes til Vin INF1010 forelesning Lenkelister II Dette skrivet inneholder en oversikt over det jeg planlegger å forelese på andre forlesning om lenkelister. Det inneholder stort sett programeksempler med kommentarer

Detaljer

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene Dagens tema: INF 2100 8. september 2004 Mer om strukturen i treet og hvordan bygge det Testing av at navn er deklarert og brukt riktig Arbeid i gruppene neste uke: Oppgaver relevant for dette stadiet i

Detaljer

Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.

Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen. Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen. "Taher" type: String : type: :... type: : inf1010student null michael@ifi.uio.no INF1010 26. januar 2012 (uke 4) 2 class Eks01 { public

Detaljer

Deadlocks og mer om concurrencymekanismer

Deadlocks og mer om concurrencymekanismer Deadlocks og mer om concurrencymekanismer Lars Vidar Magnusson September 30, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 30, 2011 1 / 17 Oversikt Deadlocks 1 Deadlocks

Detaljer

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på

Detaljer

Forkurs i informatikk Python. Andreas Færøvig Olsen

Forkurs i informatikk Python. Andreas Færøvig Olsen Andreas Færøvig Olsen andrefol@ifi.uio.no Mål Hvorfor Python? Gi en mykere start på INF1100 Komme i gang med programmering 2 3 Hva er Python? Hva er programmering? 4 Hva er Python? Hva er programmering?

Detaljer

INF120: Oblig 3. Yngve Mardal Moe

INF120: Oblig 3. Yngve Mardal Moe Yngve Mardal Moe Mar 28, 2019 Contents 1 Hva trenger dere for denne oppgaven 3 2 Hvordan skal dere arbeide med denne oppgaven 5 3 En søkeindeks 7 4 Å slå opp i en søkeindeks 9 5 Å utvide en søkeindeks

Detaljer

INF2810: Funksjonell Programmering. Mengder og lokal tilstand

INF2810: Funksjonell Programmering. Mengder og lokal tilstand INF2810: Funksjonell Programmering Mengder og lokal tilstand Stephan Oepen & Erik Velldal Universitetet i Oslo Kvinnedagen, 2013 Forrige gang 2 Dagens dont 3 Del 1 Litt mer om hierarkisk data. Representasjon

Detaljer

ADT og OO programmering

ADT og OO programmering ADT og OO programmering I. ADT I JAVA - INTERFACE I.1 grensesnitt skal dokumenteres Javadoc I.2 bruk av interface I.3 implementasjoner av interface II. OO II.1 Arv av type og implementasjon II.2 Abstrakte

Detaljer

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen. Masteroppgave. Henrik Dæhli Joakim Hjertås

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen. Masteroppgave. Henrik Dæhli Joakim Hjertås UNIVERSITETET I OSLO Institutt for informatikk En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen Masteroppgave Henrik Dæhli Joakim Hjertås Mai 2005 iii Sammendrag Vi kombinerer to varianter

Detaljer

INF1010 våren 2014. Arv og subklasser - del 2

INF1010 våren 2014. Arv og subklasser - del 2 INF1010 våren 2014 Onsdag 19. februar Arv og subklasser - del 2 Stein Gjessing Institutt for informatikk Dagens tema Virtuelle metoder som er det samme som Polymorfi Mer om arv / interface Mer om pekertilordninger

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 29 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet med

Detaljer

IN2000:&Kravhåndtering,&modellering,&design

IN2000:&Kravhåndtering,&modellering,&design IN2000:&Kravhåndtering,&modellering,&design 31&januar&2019 Yngve&Lindsjørn ynglin@ifi.uio.no IN2001&'>&Kravhåndtering og modellering 1 Gode&beskrivelser&av&krav er&viktig&for kontrakt&oppdragsgiver& leverandør

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på

Detaljer

< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»

< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4» < T extends Comparable > Indre klasser mm. «Det du bør ha hørt om før oblig 4» Strukturen i oblig 3 null null null null Personbeholder pl null null Person p "Adnan" michael@ifi.uio.no INF1010 21. februar

Detaljer

INF1010 våren Arv og subklasser del 1

INF1010 våren Arv og subklasser del 1 INF1010 våren 2016 Torsdag 4. februar Arv og subklasser del 1 Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Når du har lært om subklasser kan du programmere med: Første uke: Spesialisering

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 4232 Logikk for systemanalyse Eksamensdag: 13. juni 2017 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider. Vedlegg:

Detaljer

Feilmeldinger, brukerinput og kontrollflyt

Feilmeldinger, brukerinput og kontrollflyt Feilmeldinger, brukerinput og kontrollflyt Skjønne hvordan et program presist utføres og forberede seg på håndtering av feil INF1000, uke2 Ragnhild Kobro Runde Programmeringskrøll Programmet vil ikke kjøre

Detaljer

Jentetreff INF1000 Debugging i Java

Jentetreff INF1000 Debugging i Java Jentetreff INF1000 Debugging i Java Ingrid Grønlie Guren ingridgg@student.matnat.uio.no 11. november 2013 Kort om feilmeldinger i Java Java har to ulike type feilmeldinger som man kan få når man skriver

Detaljer

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Klassediagram Aktivitetsdiagram Tilstandsdiagram Sekvensdiagram 1 Ta utgangspunkt i følgende klasser:

Detaljer

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009 Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009 Stein Krogdahl, Ifi, UiO Torsdag 26/2: Første time Kap. 5 (avslutning?) Andreas Svendsen kommer andre time, snakker om oblig 1 (spesielt

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

Forelesning IMT mars 2011

Forelesning IMT mars 2011 Forelesning IMT2243 17.mars 2011 Dagens : Kvalitetssikring i systemutviklingsprosjekter Konfigurasjonsstyring Teorigjennomgang Demonstrasjon av Subversion SVN v/jon Langseth Pensum : Sommerville kap. 24.1

Detaljer

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 17. november 2017

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 17. november 2017 BEGYNNERKURS I SPSS Anne Schad Bergsaker 17. november 2017 FØR VI BEGYNNER... LÆRINGSMÅL 1. Kjenne til og kunne navigere mellom de ulike delene/ vinduene i SPSS, og vite forskjellen på dem 2. Kunne skrive

Detaljer

LSCs Live Sequence Charts

LSCs Live Sequence Charts LSCs Live Sequence Charts LSCs Live Sequence Charts / INF 5160 (Dbsem) 26. spril 2005 /Slide 1 Motivasjon Disposisjon - Message Sequence Charts (MSCs): Positive og negative sider - Fremtidsvisjon Basic

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens

Detaljer

Anatomien til en kompilator - I

Anatomien til en kompilator - I Anatomien til en kompilator - I 5/22/2006 1 Framgangsmåte for automatisk å lage en scanner Beskriv de forskjellige token-klassene som regulære uttrykk Eller litt mer fleksibelt, som regulære definisjoner

Detaljer

Hjemmeeksamen 2 i INF3110/4110

Hjemmeeksamen 2 i INF3110/4110 Hjemmeeksamen 2 i INF3110/4110 Innleveringsfrist: onsdag 19. november kl. 1400 Innlevering Besvarelsen av oppgave 2,3,4 og 5 skal leveres skriftlig på papir i IFI-ekspedisjonen. Merk denne med navn, kurskode,

Detaljer

Med Svarforslag UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. 3 sider (side 6, 7 og 8, rives ut, fylles ut og leveres)

Med Svarforslag UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. 3 sider (side 6, 7 og 8, rives ut, fylles ut og leveres) Eksamen i : Med Svarforslag UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 3. juni 2009 Tid for eksamen : 14.30-17.30 Oppgavesettet er

Detaljer