Fra sekvensielt til parallelt

Størrelse: px
Begynne med side:

Download "Fra sekvensielt til parallelt"

Transkript

1 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) 13.nov

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

3 AFS: brannvarsling 3

4 Fra brannmeldere 4

5 Fra brannmeldere til kontrollere 5

6 Fra brannmeldere til kontrollere til sentraler 6

7 Fra brannmeldere til kontrollere til sentraler (neste time med Ommund Øgård) 7

8 Sekvensielt C 8

9 Sekvensielt C C++ 9

10 Sekvensielt C C++ Java 10

11 Sekvensielt C C++ Java main() 11

12 Sekvensielt C C++ Java main() new ThisObject(); new ThatObject(); 12

13 C C++ Java sekvensielt sekvensielt Fremdeles like sekvensielt main() new ThisObject(); new ThatObject(); 13

14 sekvensielt sekvensielt Fint som objekt! 14

15 sekvensielt sekvensielt Fin innmat i prosess! Fint som objekt! 15

16 Objekt -orientert programmering 16

17 Prosess -orientert programmering 17

18 Objekt Prosess -orientert programmering ja, takk! 18

19 Objekt Prosess -orientert programmering Hvilke, når, hvor? ja, takk! 19

20 Prosess 20

21 Prosess Startes lik objekter eller function med static data 21

22 Prosess Startes lik objekter eller function med static data Kjører av seg sjøl 22

23 Prosess Startes lik objekter eller function med static data Kjører av seg sjøl Er tette ingen lekkasje 23

24 Prosess Startes lik objekter eller function med static data Kjører av seg sjøl Er tette ingen lekkasje Kan ha egne tidskrav 24

25 25

26 Meldinger, ikke vha 26

27 Meldinger, ikke vha funksjonskall 27

28 Meldinger, ikke vha funksjonskall pekere til fellesdata 28

29 Meldinger, ikke vha funksjonskall pekere til fellesdata direkte bruk av semaforer 29

30 Meldinger, ikke vha funksjonskall pekere til fellesdata direkte bruk av semaforer pipes 30

31 Meldinger, ikke vha funksjonskall pekere til fellesdata direkte bruk av semaforer pipes meldinger 31

32 Meldinger, ikke vha funksjonskall pekere til fellesdata direkte bruk av semaforer pipes asynkrone meldinger 32

33 Meldinger, ikke vha funksjonskall pekere til fellesdata direkte bruk av semaforer pipes asynkrone meldinger «skjeve» meldingsdiagram 33

34 Meldinger, ikke vha funksjonskall pekere til fellesdata direkte bruk av semaforer pipes asynkrone meldinger «skjeve» meldingsdiagram Som (alle) kan være ok til sitt bruk 34

35 Meldinger, vha 35

36 Meldinger, vha synkrone meldinger 36

37 Meldinger, vha synkrone meldinger asynkrone «signaler» 37

38 Meldinger, vha synkrone meldinger asynkrone «signaler» «rette» meldingsdiagram 38

39 39

40 kommunikasjon= 40

41 kommunikasjon= synkronisering 41

42 halvferdig kommunikasjon= synkronisering 42

43 halvferdig kommunikasjon= synkronisering blokkering 43

44 CSP 44

45 CSP Ada 45

46 Ada CSP KRoC 46

47 CSP Ada KRoC JCSP 47

48 CSP Ada Transterpreter KRoC JCSP 48

49 CSP Ada Transterpreter KRoC JCSP C+kjøresystem 49

50 parallellitet 50

51 parallellitet alt blir enklere 51

52 parallellitet alt blir enklere WYSIWYG-semantikk 52

53 parallellitet alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart 53

54 parallellitet alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart Byggeklosser / bibliotek 54

55 parallellitet alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart Byggeklosser / bibliotek Klient / tjener 55

56 parallellitet nesten alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart Byggeklosser / bibliotek Klient / tjener 56

57 parallellitet nesten alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart Byggeklosser / bibliotek Klient / tjener Vranglås! 57

58 parallellitet nesten alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart Byggeklosser / bibliotek Klient / tjener Vranglås! Sikre design mønstre 58

59 parallellitet nesten alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart Byggeklosser / bibliotek Klient / tjener Vranglås! Sikre design mønstre Formell modellering = bevis 59

60 rett modell for parallellitet (nesten) alt blir enklere WYSIWYG-semantikk = se på MSC, ikke inni motpart Byggeklosser / bibliotek Klient / tjener Vranglås! Sikre design mønstre Formell modellering = bevis 60

61 mtype = {M_UP, M_DW}; chan Chan_data_down = [0] of {mtype}; chan Chan_data_up = [0] of {mtype}; proctype P1 (chan Chan_data_in, Chan_data_out) { do :: Chan_data_in? M_UP -> skip; :: Chan_data_out! M_DW -> skip; od; }; proctype P2 (chan Chan_data_in, Chan_data_out) { do :: Chan_data_in? M_DW -> skip; :: Chan_data_out! M_UP -> skip; od; En formell modell i Promela kan formelt verifiseres i Spin }; init { atomic { } } run P1 (Chan_data_down, Chan_data_up); run P2 (Chan_data_up, Chan_data_down); Promela / Spin 61

62 mtype = {M_UP, M_DW}; chan Chan_data_down = [0] of {mtype}; chan Chan_data_up = [0] of {mtype}; proctype P1 (chan Chan_data_in, Chan_data_out) { do :: Chan_data_in? M_UP -> skip; :: Chan_data_out! M_DW -> skip; od; En formell modell i Promela }; proctype P2 (chan Chan_data_in, Chan_data_out) { kan formelt verifiseres i Spin do :: Chan_data_in? M_DW -> skip; :: Chan_data_out! M_UP -> skip; od; }; init { atomic { } } run P1 (Chan_data_down, Chan_data_up); run P2 (Chan_data_up, Chan_data_down); Promela / Spin 62

63 CSP Ada Transterpreter KRoC JCSP C+kjøresystem «ChanSched» 63

64 64

65 01 Void P_Prefix (void) // extended Prefix 02 { 03 Prefix_CP_a CP = (Prefix_CP_a)g_CP; // get proc Context from Scheduler 04 PROCTOR_PREFIX() // jump table (see Section 2) some initialisation 06 SET_EGGTIMER (CHAN_EGGTIMER, CP->LED_Timeout_Tick); 07 SET_REPTIMER (CHAN_REPTIMER, ADC_TIME_TICKS); 08 CHAN_OUT (CHAN_DATA_0,&CP->Data_0,sizeof(CP->Data_0)); //first output 09 while (TRUE) 10 { 11 ALT(); // this is the needed PRI_ALT 12 ALT_EGGREPTIMER_IN (CHAN_EGGTIMER); 13 ALT_EGGREPTIMER_IN (CHAN_REPTIMER); 14 galt_signal_chan_in (CHAN_SIGNAL_AD_READY); 15 ALT_CHAN_IN (CHAN_DATA_2,&CP->Data_2,sizeof(CP->Data_2)); 16 ALT_ALTTIMER_IN (CHAN_ALTTIMER, TIME_TICKS_100_MSECS); 17 galt_end(); 18 switch (g_thischannelid) 19 { process the guard that has been taken, e.g. CHAN_DATA_2 21 CHAN_OUT (CHAN_DATA_0, &CP->Data_0, sizeof (CP->Data_0)); 22 }; 23 } 24 } 65

66 Kanal i Amsterdam, nov

67 CSP Ada Transterpreter KRoC JCSP C+kjøresystem 67

68 Ada Go CSP Transterpreter KRoC JCSP C+kjøresystem 68

69 Ada CSP Google Transterpreter KRoC JCSP C+kjøresystem 69

70 70

71 Dønn ferskt! Sjekk denne siden i dag! 71

72 Why build concurrency on the ideas of CSP? Concurrency and multi-threaded programming have a reputation for difficulty. We believe the problem is due partly to complex designs such as pthreads and partly to overemphasis on low-level details such as mutexes, condition variables, and even memory barriers. Higher-level interfaces enable much simpler code, even if there are still mutexes and such under the covers. One of the most successful models for providing high-level linguistic support for concurrency comes from Hoare's Communicating Sequential Processes, or CSP. Occam and Erlang are two well known languages that stem from CSP. Go's concurrency primitives derive from a different part of the family tree whose main contribution is the powerful notion of channels as first class objects. Skal vi gå og prøve Go? 72

73 Fra sekvensielt til parallelt 73

74 Fra sekvensielt til parallelt og multikjerne 74

75 Fra sekvensielt til parallelt og multikjerne Øyvind Teig takk for meg! 75

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

Fra harde µ-sekunder via mjuke sekunder til forte år: sann tid i industrien Øyvind Teig

Fra harde µ-sekunder via mjuke sekunder til forte år: sann tid i industrien Øyvind Teig Fra harde µ-sekunder via mjuke sekunder til forte år: sann tid i industrien Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning, 18. nov. 2009 NTNU, fag

Detaljer

Forelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy

Forelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy Forelesning III Kap 8 & 7; Dagsplan Moral: Gjenbruk Kap 8: Shared variable-based synchronization and communication Condition synchronization Mutual Exclution Conditional Critical Regions Suspend & Resume

Detaljer

Fra harde µ-sekunder via mjuke sekunder til forte år: sann tid i industrien Øyvind Teig

Fra harde µ-sekunder via mjuke sekunder til forte år: sann tid i industrien Øyvind Teig Fra harde µ-sekunder via mjuke sekunder til forte år: sann tid i industrien Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning, 5. april. 2011 NTNU, fag

Detaljer

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering

Plan for dagen. Kræsj-kurs i sanntidsprogrammering. Måter å tenke på. Programmering intro. Tråder & synkronisering Kræsj-kurs i sanntidsprogrammering 1. Amanuensis Sverre Hendseth Teknisk Kybernetikk. http://www.itk.ntnu.no/ansatte/hendseth_sverre/ Plan for dagen Programmering intro Tråder & Synkronisering Non-preemptive

Detaljer

Tråder og concurrency i Linux

Tråder og concurrency i Linux Tråder og concurrency i Linux Lars Vidar Magnusson September 27, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 27.09.2011 September 27, 2011 1 / 14 Oversikt Tråder i Linux 1 Tråder i Linux

Detaljer

Dynamic Programming Longest Common Subsequence. Class 27

Dynamic Programming Longest Common Subsequence. Class 27 Dynamic Programming Longest Common Subsequence Class 27 Protein a protein is a complex molecule composed of long single-strand chains of amino acid molecules there are 20 amino acids that make up proteins

Detaljer

IN2010: Algoritmer og Datastrukturer Series 2

IN2010: Algoritmer og Datastrukturer Series 2 Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra

Detaljer

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3 Relational Algebra 1 Unit 3.3 Unit 3.3 - Relational Algebra 1 1 Relational Algebra Relational Algebra is : the formal description of how a relational database operates the mathematics which underpin SQL

Detaljer

HONSEL process monitoring

HONSEL process monitoring 6 DMSD has stood for process monitoring in fastening technology for more than 25 years. HONSEL re- rivet processing back in 990. DMSD 2G has been continuously improved and optimised since this time. All

Detaljer

FIRST LEGO League. Härnösand 2012

FIRST LEGO League. Härnösand 2012 FIRST LEGO League Härnösand 2012 Presentasjon av laget IES Dragons Vi kommer fra Härnosänd Snittalderen på våre deltakere er 11 år Laget består av 4 jenter og 4 gutter. Vi representerer IES i Sundsvall

Detaljer

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal. KROPPEN LEDER STRØM Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal. Hva forteller dette signalet? Gå flere sammen. Ta hverandre i hendene, og la de to ytterste personene

Detaljer

Models of Concurrency

Models of Concurrency Models of Concurrency Martin Steffen 1 University of Oslo, Norway INF3140 Høst 2007 Dagens program Mer asynkron meldingsutveksling Interagerende prosesser med ulike kommunikasjonsmønstre Oppsummering av

Detaljer

Slope-Intercept Formula

Slope-Intercept Formula LESSON 7 Slope Intercept Formula LESSON 7 Slope-Intercept Formula Here are two new words that describe lines slope and intercept. The slope is given by m (a mountain has slope and starts with m), and intercept

Detaljer

Inf1000 (Uke 10) HashMap og ArrayList

Inf1000 (Uke 10) HashMap og ArrayList Inf1000 (Uke 10) HashMap og ArrayList Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Bibliotekpakker i Java Det er laget mange

Detaljer

Syntax/semantics - I INF 3110/ /29/2005 1

Syntax/semantics - I INF 3110/ /29/2005 1 Syntax/semantics - I Program program execution Compiling/interpretation Syntax Classes of langauges Regular langauges Context-free langauges Scanning/Parsing Meta models INF 3/4-25 8/29/25 Program

Detaljer

Fra harde µ-sekunder til forte år: sann tid i industrien

Fra harde µ-sekunder til forte år: sann tid i industrien Fra harde µ-sekunder til forte år: sann tid i industrien april 2015 Øyvind Teig Senior utviklingsingeniør, Autronica Gjesteforelesning, 20. april 2015 NTNU, fag TTK 4145 Sanntidsprogrammering (Real-Time

Detaljer

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Endelig ikke-røyker for Kvinner! (Norwegian Edition) Endelig ikke-røyker for Kvinner! (Norwegian Edition) Allen Carr Click here if your download doesn"t start automatically Endelig ikke-røyker for Kvinner! (Norwegian Edition) Allen Carr Endelig ikke-røyker

Detaljer

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT UNIVERSITETET I OSLO ØKONOMISK INSTITUTT Eksamen i: ECON1220 Velferd og økonomisk politikk Exam: ECON1220 Welfare and politics Eksamensdag: 29.11.2010 Sensur kunngjøres: 21.12.2010 Date of exam: 29.11.2010

Detaljer

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene

Detaljer

INF1010 Tråder II 6. april 2016

INF1010 Tråder II 6. april 2016 INF1010 Tråder II 6. april 2016 Stein Gjessing Universitetet i Oslo 1 Tråder i Java tråden minrunp class MinRun implements Runable { MinRun(... ) {... } public void run( ) {...... } } //end

Detaljer

Uke 5. Magnus Li INF /

Uke 5. Magnus Li INF / Uke 5 Magnus Li [email protected] INF3290 26/27.09.2017 Repetisjon av begreper Diskusjonsoppgaver I første innlevering ønsker vi et brukerperspektiv i et informasjonssystem - Hva kan inngå i et slikt informasjonssystem?

Detaljer

The internet of Health

The internet of Health The internet of Health! Biler, helse og fremtiden!! Velkon 2014, 22. October 2014 Nard Schreurs, IKT-Norge Få ut begrepet «pasient» av tanker om helse. Aldring 1980-2010 Menn 72 år til 79 år Kvinner 79

Detaljer

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

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

Moving Objects. We need to move our objects in 3D space.

Moving Objects. We need to move our objects in 3D space. Transformations Moving Objects We need to move our objects in 3D space. Moving Objects We need to move our objects in 3D space. An object/model (box, car, building, character,... ) is defined in one position

Detaljer

SAMMENDRAG.

SAMMENDRAG. SAMMENDRAG Om undersøkelsen KS ønsker å bidra til økt kunnskap og bevissthet rundt kommunesektorens bruk av sosiale medier 1 gjennom en grundig kartlegging av dagens bruk og erfaringer, samt en vurdering

Detaljer

Exercise 1: Phase Splitter DC Operation

Exercise 1: Phase Splitter DC Operation Exercise 1: DC Operation When you have completed this exercise, you will be able to measure dc operating voltages and currents by using a typical transistor phase splitter circuit. You will verify your

Detaljer

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk Vekeplan 4. Trinn Veke 39 40 Namn: Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD Norsk Engelsk M& Mitt val Engelsk Matte Norsk Matte felles Engelsk M& Mitt val Engelsk Norsk M& Matte

Detaljer

Baltic Sea Region CCS Forum. Nordic energy cooperation perspectives

Baltic Sea Region CCS Forum. Nordic energy cooperation perspectives Norsk mal: Startside Baltic Sea Region CCS Forum. Nordic energy cooperation perspectives Johan Vetlesen. Senior Energy Committe of the Nordic Council of Ministers 22-23. april 2015 Nordic Council of Ministers.

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.

Detaljer

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; } Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017 Enkel og effektiv brukertesting Ida Aalen LOAD.17 21. september 2017 Verktøyene finner du her: bit.ly/tools-for-testing Har dere gjort brukertesting? Vet du hva dette ikonet betyr? Mobil: 53% sa nei Desktop:

Detaljer

Mer om C programmering og cuncurrency

Mer om C programmering og cuncurrency Mer om C programmering og cuncurrency Lars Vidar Magnusson September 23, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 23, 2011 1 / 19 Oversikt Mer om C programmering

Detaljer

Førsteamanuensis John I. Dalseng Høgskolen i Finnmark 9500 Alta

Førsteamanuensis John I. Dalseng Høgskolen i Finnmark 9500 Alta Visualisering og animasjon av diskret-event simuleringsmodeller Innledning Førsteamanuensis John I. Dalseng Høgskolen i Finnmark 9500 Alta En diskret-event simuleringsmodell er et program som etterligner

Detaljer

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata IFD International Framework for Dictionaries Hvordan bygges en BIM? Hva kan hentes ut av BIM? Hvordan

Detaljer

import java.util.arraylist;

import java.util.arraylist; import java.util.arraylist; * Klassen som generer TerminListe * @author young * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates

Detaljer

SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM

SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM 2 TEMA 1 MULTIPROSESSERING MED DATASTEGET Multiprosessering har lenge vært et tema i SAS Stadig ny funksjonalitet er med på

Detaljer

Digital Transformasjon

Digital Transformasjon Digital Transformasjon HVORDAN KAN DU TA GREP OM DIGITALISERINGEN? KURT S. HELLAND EVRY Key Highlights # 1 Norway # 4 Sweden # 1 Financial Services in the Nordics NOR FIN Offices in9countries 9,100 employees

Detaljer

Dagens tema Kapittel 8: Objekter og klasser

Dagens tema Kapittel 8: Objekter og klasser Dagens tema Kapittel 8: Objekter og klasser Hva er objekter og klasser? Programmering med objekter Klassedeklarasjoner Generering av objekter Tilgang til elementer i objektene Objekt- og klassevariable

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

INF Notater. Veronika Heimsbakk 10. juni 2012 INF1010 - Notater Veronika Heimsbakk [email protected] 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

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT UNIVERSITETET I OSLO ØKONOMISK INSTITUTT Eksamen i: ECON1910 Poverty and distribution in developing countries Exam: ECON1910 Poverty and distribution in developing countries Eksamensdag: 1. juni 2011 Sensur

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

Klasser, objekter, pekere og UML. INF1000 - gruppe 13

Klasser, objekter, pekere og UML. INF1000 - gruppe 13 Klasser, objekter, pekere og UML INF1000 - gruppe 13 Klasse Beskriver ofte ting fra den virkelige verden Veldig ofte et substantiv (Person, Bok, Bil osv.) class Person { String navn; int alder; } class

Detaljer

7) Radix-sortering sekvensielt kode og effekten av cache

7) Radix-sortering sekvensielt kode og effekten av cache ) Radix-sortering sekvensielt kode og effekten av cache Dels er denne gjennomgangen av vanlig Radix-sortering viktig for å forstå en senere parallell versjon. Dels viser den effekten vi akkurat så tilfeldig

Detaljer

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14. Forkurs INF1010 Dag 2 Andreas Færøvig Olsen ([email protected]) Gard Inge Rosvold ([email protected]) Institutt for Informatikk, 14. januar 2016 Forkurs INF1010 - dag 2 Feilmeldinger 2 Forkurs INF1010

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

Detaljer

Fra harde µ-sekunder til forte år: sann tid i industrien

Fra harde µ-sekunder til forte år: sann tid i industrien Fra harde µ-sekunder til forte år: sann tid i industrien april 2013 Øyvind Teig senior utviklingsingeniør, Autronica Gjesteforelesning, 25. april 2013 NTNU, fag TTK 4145 Sanntidsprogrammering (Real-Time

Detaljer

Løsningsforslag 2017 eksamen

Løsningsforslag 2017 eksamen Løsningsforslag 2017 eksamen Oppgave 1: O-notasjon (maks 8 poeng) 1. (i) O(n) gir 2 poeng, O(100n) gir 1 poeng (ii) O(n^2) gir 1 poeng (iii) O(n log n) gir 2 poeng 2. (i) er mest effektiv i henhold til

Detaljer

static int ant_steiner; //antall steiner static int teller2 = 0; //teller for printing til Thread^ murer; //murertråden

static int ant_steiner; //antall steiner static int teller2 = 0; //teller for printing til Thread^ murer; //murertråden Øving 4 Thorstein Brekke Operativsystemer Oppgave 1 Kode for Murer: // Uke4oppgave1murer.cpp : main project file. #include "stdafx.h" using namespace System; using namespace Threading; using namespace

Detaljer

GYRO MED SYKKELHJUL. Forsøk å tippe og vri på hjulet. Hva kjenner du? Hvorfor oppfører hjulet seg slik, og hva er egentlig en gyro?

GYRO MED SYKKELHJUL. Forsøk å tippe og vri på hjulet. Hva kjenner du? Hvorfor oppfører hjulet seg slik, og hva er egentlig en gyro? GYRO MED SYKKELHJUL Hold i håndtaket på hjulet. Sett fart på hjulet og hold det opp. Det er lettest om du sjølv holder i håndtakene og får en venn til å snurre hjulet rundt. Forsøk å tippe og vri på hjulet.

Detaljer

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Emneevaluering GEOV325 Vår 2016 Kommentarer til GEOV325 VÅR 2016 (emneansvarlig) Forelesingsrommet inneholdt ikke gode nok muligheter for å kunne skrive på tavle og samtidig ha mulighet for bruk av power

Detaljer

Invarianter, +lstander og li1 mer seman+kk

Invarianter, +lstander og li1 mer seman+kk Invarianter, +lstander og li1 mer seman+kk INF1010 14.april 2016 Stein Gjessing April 13, 2016 1 Invariant (= Invariant +lstandspåstand) Vi har se3 flere ganger at det er svært nyjg å formulere +lstandspåstander

Detaljer

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett

Detaljer

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) INF247 Er du? Er du? - Annet Ph.D. Student Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen,

Detaljer

Speed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F.

Speed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F. September 9, 2011 Physics 131 Prof. E. F. Redish Theme Music: Speed Racer Theme Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz 1 Reading questions Are the lines on the spatial graphs representing

Detaljer

SVM and Complementary Slackness

SVM and Complementary Slackness SVM and Complementary Slackness David Rosenberg New York University February 21, 2017 David Rosenberg (New York University) DS-GA 1003 February 21, 2017 1 / 20 SVM Review: Primal and Dual Formulations

Detaljer

Databases 1. Extended Relational Algebra

Databases 1. Extended Relational Algebra Databases 1 Extended Relational Algebra Relational Algebra What is an Algebra? Mathematical system consisting of: Operands --- variables or values from which new values can be constructed. Operators ---

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

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg)

Ikke pensum! Plan for dagen. Resource Management Kontekst: Bloom (1979) Kap. 11: Resource control (utvalg) Plan for dagen Kap. 11: Resource control (utvalg) Hva trenger vi av egenskaper? Hvordan unngår vi vranglåser? Ikke pensum! Kap. 11.4 (The requeue facility) Kap 14 (Distributed Systems) Kap 14 Distributed

Detaljer

EKSAMEN I FAG TDT4180 - MMI Lørdag 11. august 2012 Tid: kl. 0900-1300

EKSAMEN I FAG TDT4180 - MMI Lørdag 11. august 2012 Tid: kl. 0900-1300 Side 1 av 8 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag

Detaljer

Dagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?

Dagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering? Dagens tema Dagens tema Kildekode Hva er kompilering? Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Anta at vi lager dette lille

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

INF1010. Grensesnittet Comparable<T>

INF1010. Grensesnittet Comparable<T> INF1010 21. februar 2013 Grensesnittet Comparable Stein Michael Storleer Institutt for Informatikk Universitetet i Oslo Interface med parametre interface Utkledd { // T er klassen jeg er utkledd

Detaljer

Dagens tema: Sjekking

Dagens tema: Sjekking Dagens tema Dagens tema: Sjekking Navnebinding (obligatorisk oppgave 3) Biblioteket Logging Riktig bruk av navn (frivillig) Typesjekking (frivillig) Hele prosjektet Strukturen til kompilatoren vår f.pas

Detaljer

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at

Detaljer

Norges Informasjonsteknologiske Høgskole

Norges Informasjonsteknologiske Høgskole Oppgavesettet består av 6 (seks) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 6 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:

Detaljer

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

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 2 Andreas Færøvig Olsen ([email protected]) Tuva Kristine Thoresen ([email protected]) Institutt for Informatikk, 7. januar 2014 Forkurs INF1010 - dag 2 Klasser og pekere Klasser

Detaljer

Mannen min heter Ingar. Han er også lege. Han er privatpraktiserende lege og har et kontor på Grünerløkka sammen med en kollega.

Mannen min heter Ingar. Han er også lege. Han er privatpraktiserende lege og har et kontor på Grünerløkka sammen med en kollega. Kapittel 2 2.1.1 Familien min Hei, jeg heter Martine Hansen. Nå bor jeg i Åsenveien 14 i Oslo, men jeg kommer fra Bø i Telemark. Jeg bor i ei leilighet i ei blokk sammen med familien min. For tiden jobber

Detaljer

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim Bygge en pyramide Skrevet av: Pål G. Solheim Kurs: Learntomod Tema: Blokkbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon La oss gjøre

Detaljer

Physical origin of the Gouy phase shift by Simin Feng, Herbert G. Winful Opt. Lett. 26, (2001)

Physical origin of the Gouy phase shift by Simin Feng, Herbert G. Winful Opt. Lett. 26, (2001) by Simin Feng, Herbert G. Winful Opt. Lett. 26, 485-487 (2001) http://smos.sogang.ac.r April 18, 2014 Introduction What is the Gouy phase shift? For Gaussian beam or TEM 00 mode, ( w 0 r 2 E(r, z) = E

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

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

Detaljer

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

5 E Lesson: Solving Monohybrid Punnett Squares with Coding 5 E Lesson: Solving Monohybrid Punnett Squares with Coding Genetics Fill in the Brown colour Blank Options Hair texture A field of biology that studies heredity, or the passing of traits from parents to

Detaljer

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal

Detaljer

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT UNIVERSITETET I OSLO ØKONOMISK INSTITUTT Bokmål Eksamen i: ECON1210 Forbruker, bedrift og marked Exam: ECON1210 Consumer Behaviour, Firm behaviour and Markets Eksamensdag: 12.12.2014 Sensur kunngjøres:

Detaljer

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX) Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX) Peter J. Rosendahl Click here if your download doesn"t start automatically Han Ola of Han Per:

Detaljer

Graphs similar to strongly regular graphs

Graphs similar to strongly regular graphs Joint work with Martin Ma aj 5th June 2014 Degree/diameter problem Denition The degree/diameter problem is the problem of nding the largest possible graph with given diameter d and given maximum degree

Detaljer

INF1010 Arv. Marit Nybakken [email protected] 2. februar 2004

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 INF1010 Arv Marit Nybakken [email protected] 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

Gir vi de resterende 2 oppgavene til én prosess vil alle sitte å vente på de to potensielt tidskrevende prosessene.

Gir vi de resterende 2 oppgavene til én prosess vil alle sitte å vente på de to potensielt tidskrevende prosessene. Figure over viser 5 arbeidsoppgaver som hver tar 0 miutter å utføre av e arbeider. (E oppgave ka ku utføres av é arbeider.) Hver pil i figure betyr at oppgave som blir pekt på ikke ka starte før oppgave

Detaljer

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe CARING OMSORG Is when we show that we care about others by our actions or our words Det er når vi viser at vi bryr oss om andre med det vi sier eller gjør PATIENCE TÅLMODIGHET Is the ability to wait for

Detaljer

Perpetuum (im)mobile

Perpetuum (im)mobile Perpetuum (im)mobile Sett hjulet i bevegelse og se hva som skjer! Hva tror du er hensikten med armene som slår ut når hjulet snurrer mot høyre? Hva tror du ordet Perpetuum mobile betyr? Modell 170, Rev.

Detaljer

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor. 6-13 July 2013 Brisbane, Australia Norwegian 1.0 Brisbane har blitt tatt over av store, muterte wombater, og du må lede folket i sikkerhet. Veiene i Brisbane danner et stort rutenett. Det finnes R horisontale

Detaljer

SERVICE BULLETINE 2008-4

SERVICE BULLETINE 2008-4 S e r v i c e b u l l e t i n e M a t e r i e l l Materiellsjef F/NLF kommuniserer påminnelse omkring forhold som ansees som vesentlige for å orientere om viktige materiellforhold. Målgruppen for Servicbulletinen

Detaljer

pnvdb Documentation Release Jan Tore Kyrdalen

pnvdb Documentation Release Jan Tore Kyrdalen pnvdb Documentation Release 0.1.0 Jan Tore Kyrdalen Oct 31, 2017 Contents 1 Installation 3 2 Getting started 5 3 Methods 7 3.1 status................................................... 7 3.2 objekt...................................................

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT2400 Analyse 1. Eksamensdag: Onsdag 15. juni 2011. Tid for eksamen: 09.00 13.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte

Detaljer

Sensuren vil bli avsluttet i henhold til gjeldende regelverk. Alle deloppgaver teller likt unntatt implementasjonsoppgavene som teller dobbelt.

Sensuren vil bli avsluttet i henhold til gjeldende regelverk. Alle deloppgaver teller likt unntatt implementasjonsoppgavene som teller dobbelt. NTNU Norges teknisk vitenskapelige universitet Institutt for teknisk kybernetikk Fakultet for informasjonsteknologi, matematikk og elektroteknikk Bokmål Eksamen i TTK4145 Sanntidsprogrammering 7. desember

Detaljer

Bostøttesamling

Bostøttesamling Bostøttesamling 2016 Teresebjerke@husbankenno 04112016 2 09112016 https://wwwyoutubecom/watch?v=khjy5lwf3tg&feature=youtube 3 09112016 Hva skjer fremover? 4 09112016 «Gode selvbetjeningsløsninger» Kilde:

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