Tuplespace programmering
|
|
- Andreas Olsen
- 8 år siden
- Visninger:
Transkript
1 Tuplespace programmering..en kort sammenligning for perspektivets skyld..systemmodellen i Tuplespace..gjenfinningsregler..et applikasjonseksempel Planlagt tid: min. 1
2 Anders Fongen Førsteamanuensis ved Norges Informasjonsteknologiske Høgskole NITH tilbyr 9 Bachelor-programmer og 2 Master-studier Med skolesteder i Oslo, Bergen og Stavanger Tidligere jobbet 17 år i industrien programmerer. konsulent, mellomleder og arkitekt PhD fra University of Sunderland Forsker på distribuerte søkemotorer og p2p-arkitektur 2
3 Distribuerte applikasjoner: Hvorfor trenger vi mellomvare? Øke flyttbarheten til programvaren (portabilitet) Tilby en programmeringsmodell gjennom et API Gjøre distribusjonen usynlig (transparens) Tilby nødvendige tilleggstjenester Adressering, synkronisering, deling, transaksjonshåndtering m.m. 3
4 Relatert teknologi: Remote Procedure Calls (RPC) synkron, unicast RMI, EJB, Corba, WebServices Message-Oriented Middleware (MOM) asynkron, uni-/multicast publish-and-subscribe / distributed event notification Objektorienterte databaser deling, lagring, transaksjoner Alle 3 trengs, men kan de kombineres? 4
5 Tuplespace delt objektlager (lager av Tupler) assosiativ gjenfinningsmodell transaksjonell beskyttelse (Atomicity-Isolation) synkronisering av gjenfinningsoperasjoner låse klienten inntil data kan leses aka Linda programming model Gjenfinningsmodell - synkroniseringsmodell 5
6 IBM TSpaces Kjørbar server API for klienter Gratis nedlasting for evaluering Enklere og bedre enn Sun's JavaSpaces Klient Klient API API brannveggvennlig TSpaces Klient API 6
7 En tuple er: et ordnet sett av felt (Fields) felt kan være alle serializable objekter tag1 tag2 tag3 string object... enhet for lagring og gjenfinning Tuple t0 = new Tuple("Anders","Lisbeth",new Float(26f)); Tuplespace ts = new Tuplespace("TS98"," "); ts.write(t0); // Skriver til lageret 7
8 En mal er: en tuple med mulige joker-felt selekterer et sett av lagrede tupler paring (matching) på type og verdi Tuple tx = new Tuple("Anders", new Field(String.class), new Field(Float.class)); joker-felt 8
9 Gjenfinningsregler Template parameter selekterer et sett av tupler Først type, så verdi hent én, eller alle som passer konsumerer tuple, eller ikke Tuple t0 = ts.take(tx); // non-consuming: ts.read(tx) blokkerer klienten, eller ikke Tuple t0 = ts.waittotake(tx);//non-blocking: ts.take(tx) 9
10 Tuplespace delt, assosiativt datalager tag1 tag2 tag3 string object... tag4 tag2 tag3 string object... tag1 tag5 tag3 string object... Passer til??? tag2?????????... tag1 tag5 tag3??????... ts.write(tuple) tuple = ts.read(template) (ikke-konsumerende) tuple = ts.take(template) (konsumerende) Tuplespace take og read er ikke-blokkerende (asynkron) waittoread og waittotake er blokkerende (synkron) 10
11 Tuplespace (2) En Tuplespace kan brukes som delt lager Et av feltene brukes som nøkkel til tupletene read(mal) lar tupleten bli igjen i tuplespace ganske likt en oodb (f.eks. db4o) En Tuplespace kan brukes for meldingsflyt Feltene inngår i et adresseringsskjema Avsender sender tuplets med write(tuple) Mottager mottar med waittotake(mal) eller til synkronisering én-til-én, mange-til-én, mange-til-mange 11
12 Tuplebasert meldingsflyt Meldinger fra S til M: M leser med en mal som selekterer tupler "addressert" til M S skriver tupler i tilsvarende format Tuple melding = new Tuple("S","M","Melding"); ts.write(melding); // ts repr. tuplespace Tuple mal = new Tuple(new Field(String.class),"M", new Field(String.class)); Tuple mottatt = ts.waittotake(mal); Meldingsflyten blir bufret og synkronisert Tupledesign == protokolldesign Gjenfinningsmodell == adressesemantikk 12
13 Toveis meldingsflyt kan etterligne Gir synkron kall-semantikk RPC-semantikk ts.write(req) resp = ts.waittotake(mal) tuple req = ts.waittotake(mal)... ts.write(resp) tuple aktiv blokkert Klient Tjener 13
14 Adressesemantikk Felt brukt for adresseringsformål: kan representere roller (f.eks. printserver ) distribuert ressursstyring room service kan representere temaer ( loggmelding ) kan inngå i et typehierarki (markørklasser) Tuplespace Klient Klient webstatistikk loggmeldinger hastemeldinger Klient sikkerhetsbrudd 14
15 Paring på verdier i malen Når malens type passer med tuplen, skjer en paring på verdiene (om det ikke er et jokerfelt) Utnytter equals()-metoden i de respektive klassene Kan overskrive denne metoden i egne klasser for å endre semantisk innhold av likhet flerdimensjonal nærhet (GIS, Info Retrieval) bruk av synonymlister 15
16 Også verd å nevne: Hendelsesmetoder asynkron utføring av kode når tupler skrives eller fjernes Transaksjoner Tupler med holdbarhet fjernes automatisk etter en tid Kombinasjon av holdbarhet og hendelsesmetoder gjør én-til-mange kommunikasjon mulig 16
17 Fyldig eksempel distribuert tallknusing Én klient mange tjenere Klienten kjenner ikke antallet tjenere plasserer et problem i tuplespace Tjeneren kjenner ikke det aktuelle problemet henter et problem fra tuplespace opererer på et generisk grensesnitt skriver en løsning tilbake til tuplespace Tjeneren kan dele problemet i to og legge den ene halvdelen tilbake i tuplespace 17
18 Konfigurasjonen: Klient Tjener Tuplespace Tjener Tjener Tjenerstyrt og distribuert: - partisjonering av problemet - ressursallokering (CPU og minne) 18
19 Problemets grensesnitt: package no.nith.andfon.cs5023.tspc3; // An interface for a generic numeric problem. The mathematical // expression, the parameters and the sequence of parameter iterations // are hidden in the implementation. public interface NumericProblem extends java.io.serializable { // Return true of the problem is solved with the // current set of parameters boolean solved(); // Return the number of necessary iterations on the solved() method // in order to exhaust the parameter space long iterations(); // Change the parameters so that a new iteration of solve() // can be called boolean nextiteration(); // Split the "iteration space" into two objects. This object // retains one half, and the other half into the returned object NumericProblem split(); // Present a solution to the problem in string format String solution(); 19
20 Tjenerens kode: package no.nith.andfon.cs5023.tspc3; public class NumberCruncher implements NumberCruncherInterface { private boolean iterating = true; public static void main(string[] args) { long maxnumberofiterations = 1000; new NumberCruncher(maxNumberOfIterations); } } public NumberCruncher(long maxiterations) { SpaceWrapper sw = new SpaceWrapper(this); while (true) { // pick a task from the space NumericProblem np = sw.gettask(); // calculate the necessary number of iterations for this task long it = np.iterations(); // if it is too many, split the task in two while (it > maxiterations) { NumericProblem np2 = np.split(); // keep np, and return np2 back to the space sw.puttask(np2); it = np.iterations(); } // now iterate over this task and look for a solution while (iterating) { if (np.solved()) { // announce solution sw.putsolution(np); iterating = false; } if (!np.nextiteration()) break; } // do not fetch more tasks if a solution // has been found (by anyone) if (!iterating) return; } } //.. some code left out 20
21 package no.nith.andfon.cs5023.tspc3; Problemet - I: // A specific mathematical problem: Find a product's // two prime factors public class Prime implements NumericProblem { public long lo1,up1,lo2,up2; // Defines the iteration room private long x1,x2; // Working variables private long primeproduct; // Right side of the equation public Prime(long l1,long u1,long l2, long u2, long prod) { lo1 = l1; up1 = u1; lo2 = l2; up2 = u2; x1 = lo1; x2 = lo2; primeproduct = prod; } // Calculate (or predict) the number of iterations necessary // to exhaust the parameter room public long iterations() {return (up1 lo1)*(up2 lo2);} // Make the instance variables ready for the next call // to solved(). (Note: we do not ensure prime factors in this code) public boolean nextiteration() { if (x1 < up1) x1++; else if (x2 < up2) { x1 = lo1; x2++; } else { return false; } return true; } 21
22 Problemet - II: // Split the problem in two smaller halves by dividing // the iteration room in two public NumericProblem split() { long x; NumericProblem np; // Pick one of the two parameters at random, and divide if (Math.random() > 0.5) { x = (up1 lo1)/2 + lo1; np = new Prime(lo1,x,lo2,up2,primeProduct); lo1 = x+1; } else { x = (up2 lo2)/2 + lo2; np = new Prime(lo1,up1,lo2,x,primeProduct); lo2 = x+1; } x1 = lo1; x2 = lo2; return np; } // Check if we have found a solution with these parameters public boolean solved() { return x1 * x2 == primeproduct; } // Present the solution in string format public String solution() {return "The factors are " + x1 + " and " + x2;} } public String tostring() { return "NP: " + lo1 + " " + up1 + " " + lo2 + " " + up2 + " " + x1 + " " + x2; } 22
23 Klientens kode package no.nith.andfon.cs5023.tspc3; // This is the master and the conductor for the solution of the // numeric problem. It generates the first task and puts it on the // space, and then waits for the solution public class PrimeBallerina { } public static void main(string[] args) { SpaceWrapper sw = new SpaceWrapper(); sw.erasealltuples(); long primeprod = 13444; NumericProblem np = new Prime(1,10000,1,10000,primeprod); sw.puttask(np); NumericProblem np2 = sw.getsolution(); System.out.println(np2.solution()); } 23
24 Sekvensdiagram: Client Server Server SpaceWrapper create np:numproblem puttask(np) iterate np = gettask() puttask(np2) iterate np = gettask() puttask(np2) event putsolution(np) event 24
25 Idéer som jeg vil se nærmere på: Tuplespace kombinert med Codebase property: basis for mobile agenter adressesemantikk gir avanserte muligheter for å pare agent og vert tuplespace gir et medium for kommunikasjon mellom agenten og homebase, eller mellom agentene Service-orientert samarbeid (CSCW) basert på mobile ambassadører ambassadør blir en mobil "representant", mer enn en agent (som handler på mine vegne) 25
26 Ferdig! Takk for oppmerksomheten Noen spørsmål? Ta gjerne kontakt se også der ligger denne forelesningen 26
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
DetaljerSlope-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
DetaljerDynamic 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
DetaljerFra 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)
DetaljerFra 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)
DetaljerUnit 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
DetaljerEKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
Detaljer23.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
DetaljerMoving 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
DetaljerObject interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.
Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører
Detaljer< 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
DetaljerKapittel 9. Distribusjon. Fjernbruker. Tjenermaskin LAN WAN. Nærbruker. Figur 9-1: En enkel klient/tjener distribusjon
Kapittel 9 Distribusjon Tjenermaskin Fjernbruker LAN Nærbruker WAN Figur 9-1: En enkel klient/tjener distribusjon 195 Tjenermaskin Fjernbruker LAN Replikert tjener Nærbruker WAN Figur 9-2: Klient/tjener-konfigurasjon
DetaljerINF1010. 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
DetaljerINF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 21. februar 2013 Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Ikke noe nytt her From the Java language specification (version 6): 14.14.2
DetaljerGjennomgang av eksamen H99
Gjennomgang av eksamen H99 Administrasjon av kurser, studenter og påmeldinger Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for Informatikk Universitetet i Oslo Oppgave 1 (15 %) (Besvares
Detaljer5 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
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 10.desember 2008 Varighet: 0900 1200 Fagnummer: Fagnavn: LO346D Java EE og distribuerte systemer Klasse(r): NETT
DetaljerHva 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 =
DetaljerSocket og ServerSocket
Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket
DetaljerHentet fra Suns Totorial:
Sun s Hello-eksempel Hentet fra Suns Totorial: http://java.sun.com/j2se/1.4.2/docs/guide/idl/gshome.html Andre nyttige URIer: Java IDL documentation: http://java.sun.com/j2se/1.4.2/docs/guide/idl/index.html
DetaljerINF 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
DetaljerMathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2
Mathematics 4Q Name: SOLUTIONS. (x + 5)(x +5x) 7 8 (x +5x) 8 + C [u x +5x]. (3 x) (3 x) + C [u 3 x] 3. 7x +9 (7x + 9)3/ [u 7x + 9] 4. x 3 ( + x 4 ) /3 3 8 ( + x4 ) /3 + C [u + x 4 ] 5. e 5x+ 5 e5x+ + C
DetaljerProgrammeringssprå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
DetaljerEKSAMEN I FAG TDT4180 MMI Mandag 18. mai 2009 Tid: kl. 0900-1300
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 Mandag 18. mai 2009
DetaljerKapittel 9: Sortering og søking Kort versjon
Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
DetaljerGeneralization of age-structured models in theory and practice
Generalization of age-structured models in theory and practice Stein Ivar Steinshamn, stein.steinshamn@snf.no 25.10.11 www.snf.no Outline How age-structured models can be generalized. What this generalization
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson
DetaljerOOT Seminar H-97 CORBA. Praktisk del
OOT Seminar H-97 CORBA Praktisk del Valg av ORB implementasjon Har valgt å bruke Visigenic sin ORB implementsjon ORB en er 100% Java kodet Bygger på OMG sin IDL to Java language mapping fra Jun 97 Gratis
DetaljerGjø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å
DetaljerLøsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004
Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling
DetaljerFIRST 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
DetaljerDu 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
DetaljerKapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy
Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider
DetaljerVekeplan 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
DetaljerINF2100. Oppgaver 23. og 24. september 2010
INF2100 Oppgaver 23. og 24. september 2010 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med + og ; grammatikken ser du i figur 1 på neste side. Tallkonstanter består av bare ett
DetaljerOppsummering. 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
Detaljerbuildingsmart 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
DetaljerEKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2008 kl 09.00 til kl 13.00 Hjelpemidler: 4 A4-sider (2 ark) med valgfritt innhold Kalkulator Faglærer: Mari-Ann
DetaljerJDBC. Java Data Base Connec.vity
JDBC Java Data Base Connec.vity Package java.sql Package java.sql Array Blob CallableStatement Clob Connec.on DatabaseMetaData Driver NClob ParameterMetaData PreparedStatement Ref ResultSet ResultSetMetaData
DetaljerGraphs 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
DetaljerEks 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å
DetaljerKapittel 7: Mer om arv
Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
DetaljerEKSAMEN 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
DetaljerStein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk
INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:
DetaljerJava RMI. Introduksjon. Markus Foss Hans-Gunnar Vold
Java RMI Markus Foss Hans-Gunnar Vold Introduksjon Java Remote Method Invocation Tillater metodekall mellom Java virituelle maskiner Introdusert i Java 1.02 Javas svar på RPC, men er objekt orientert,
DetaljerDel 3: Evaluere uttrykk
Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret
DetaljerEksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %
Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 % Stein Gjessing Institutt for Informatikk Universitetet i Oslo 1 Oppgave 10 Tegning av datastrukturen (vekt 5% av del B) Tegn datastrukturen til
DetaljerPRIORITETSKØ. Aksjehandel. Datastruktur for aksjehandel. Nøkler og Totalorden-relasjonen
PRIORITETSKØ Applikasjon: aksjehandel ADT (eng: Priority Queue - PQ) Implementering av PQ med sekvenser Sortering vha PQ Mer om sortering Aksjehandel Vi ser på en aksje som kjøpes og selges på børsen.
DetaljerTrigonometric Substitution
Trigonometric Substitution Alvin Lin Calculus II: August 06 - December 06 Trigonometric Substitution sin 4 (x) cos (x) dx When you have a product of sin and cos of different powers, you have three different
DetaljerDagens 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
DetaljerINF1010 - Seminaroppgaver til uke 3
INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar
DetaljerOppgave 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
DetaljerNorges 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:
DetaljerUNIVERSITETET 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å
DetaljerDet 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
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerDagens 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
DetaljerLøsningsforslag til eksamen i INF1000 våren 2006
Løsningsforslag til eksamen i INF1000 våren 2006 Oppgave 1 a) -1 false 7 b) 30 c) Verdien til j er: 4Verdien til k er: 3Verdien til n er: 7 d) Andre if-test er true Tredje if-test er true e) k = 4 k =
DetaljerEKSAMEN I FAG TDT4180 - MMI Lørdag 4. juni 2005 Tid: kl. 0900-1300
Side 1 av 7 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
DetaljerTilkobling og Triggere
Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble
DetaljerAlgoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1
Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting
DetaljerCall function of two parameters
Call function of two parameters APPLYUSER USER x fµ 1 x 2 eµ x 1 x 2 distinct e 1 0 0 v 1 1 1 e 2 1 1 v 2 2 2 2 e x 1 v 1 x 2 v 2 v APPLY f e 1 e 2 0 v 2 0 µ Evaluating function application The math demands
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerINF2100. Oppgaver uke 40 og
INF2100 Oppgaver uke 40 og 41 2014 For å få trening i å programmere en parser, skal vi aller først gjøre det for et veldig enkelt programmeringsspråk: E. Dette språket består av uttrykk med de fire vanligste
DetaljerThe regulation requires that everyone at NTNU shall have fire drills and fire prevention courses.
1 The law The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses. 2. 3 Make your self familiar with: Evacuation routes Manual fire alarms Location of fire extinguishers
DetaljerNorsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)
Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis) 1. Gå til print i dokumentet deres (Det anbefales å bruke InDesign til forberedning for print) 2. Velg deretter print
DetaljerTDT4117 Information Retrieval - Autumn 2014
TDT4117 Information Retrieval - Autumn 2014 Assignment 1 Task 1 : Basic Definitions Explain the main differences between: Information Retrieval vs Data Retrieval En samling av data er en godt strukturert
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Mandag 6. august 2012, kl. 15:00-19:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Rune Sætre. Kontaktperson under
Detaljer1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 26. februar 2014 1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Vi tar utgangspunkt i dette programmet for
DetaljerLæreboken på 45 minutter
Kap 1 Kap 2 Kap 3 Kap 4 Kap 5 Kap 6 Kap 7 Kap 8 Annet Læreboken på 45 minutter Hva er viktig? Hva er ikke fullt så viktig? Hvorfor har vi en lærebok? Læreboken forteller stort sett mer detaljert enn forelesningene.
DetaljerVideregående programmering 6
Videregående programmering 6 1. Feilkontroll i klasser uten unntaksobjekter Klasser skal lages sikre. Argumentverdier skal kontrolleres, og eventuelle feil skal rapporteres til klienten. I praksis har
DetaljerUNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS
UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS Postponed exam: ECON420 Mathematics 2: Calculus and linear algebra Date of exam: Tuesday, June 8, 203 Time for exam: 09:00 a.m. 2:00 noon The problem set covers
DetaljerUNIVERSITETET 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.
DetaljerINF1000 - Løsning på seminaropppgaver til uke 8
INF1000 - Løsning på seminaropppgaver til uke 8 Oppgave 1 a) for(string nokkel : studenter.keyset){ System.out.println(nokkel); Studenten sitt navn blir skrevet ut. b) for(student dennestudenten : studenter.values()){
DetaljerJ2EE. CMP Entity Beans, Transaksjoner, JSP
J2EE CMP Entity Beans, Transaksjoner, JSP CMP Entity Beans Container Managed Persistence Container sin oppgave å lagre innholdet i EJB til varig lager (typisk DB). Implementasjonsklassen lages abstrakt.
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
DetaljerImplementering av caching ved hjelp av Spring. Christian Vestøl 27.04.06
Implementering av caching ved hjelp av Spring Christian Vestøl 27.04.06 Agenda Kort introduksjon til Spring med Spring Praktiske eksempler Forskjellige rammeverk for caching April 2006 2 Kort om Spring
DetaljerObjektorientert design av kode. Refaktorering.
Objektorientert design av kode. Refaktorering. DEL 1 INF1010-forelesning 2. mars Ragnhild Kobro Runde Læringsmål Kjenne til og kunne bruke viktige prinsipper for god kodedesign. Kunne finne alternative
DetaljerProsedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19
Prosedyrer Lars Vidar Magnusson October 26, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 26, 2011 1 / 19 Repetisjon om triggere og prosedyrer Triggere og prosedyrer ligner på hverandre
DetaljerINF2100. Oppgaver 9. oktober 2012 C 100 X 10
INF2100 Oppgaver 9. oktober 2012 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side. Tallkonstanter
DetaljerExercise 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
DetaljerFASMED. Tirsdag 21.april 2015
FASMED Tirsdag 21.april 2015 SCHEDULE TUESDAY APRIL 21 2015 0830-0915 Redesign of microorganism lesson for use at Strindheim (cont.) 0915-1000 Ideas for redesign of lessons round 2. 1000-1015 Break 1015-1045
DetaljerINF2100. Oppgaver 6. og 11. oktober 2011 C 100 X 10
INF2100 Oppgaver 6. og 11. oktober 2011 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med de fire vanligste regneartene +,, * og /; grammatikken 1 ser du i figur 1 på neste side.
DetaljerDagens 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
Detaljerpnvdb 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...................................................
DetaljerRepitisjonskurs. 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
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
DetaljerOle Isak Eira Masters student Arctic agriculture and environmental management. University of Tromsø Sami University College
The behavior of the reindeer herd - the role of the males Ole Isak Eira Masters student Arctic agriculture and environmental management University of Tromsø Sami University College Masters student at Department
DetaljerINF2100. Oppgaver 26. september til 1. oktober 2007
INF2100 Oppgaver 26. september til 1. oktober 2007 1 Språket Denne uken skal vi implementere en utvidelse av språket fra forrige ukes oppgave. Syntaksen er vist i figur 1 på neste side og betydning er
DetaljerSynkronisering I. Kapittel 6. Tråd A. ferdig. t.varsle() u.vente() Tråd B. ferdig. tid
Kapittel 6 Synkronisering I Tråd A t.varsle() u.vente() ferdig Tråd B t.vente() u.varsle() ferdig tid Figur 6-1: Tråder som venter og varsler langs en tidsakse. Heltrukket linje betyr aktiv, og stiplet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler
DetaljerSpeed 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
DetaljerGRAF-TRAVERSERING. Hvordan utforske en labyrint uten å gå seg vill. Rekkefølge på kanter: Dybde-Først Søk A B C D E F G H I J K L M N O P
R-TRVRSRIN ybde-ørst Søk redde-ørst Søk ruk av MetodeMal som designmønster (Template Method Pattern H Hvordan utforske en labyrint uten å gå seg vill. t dybde-først søk (S) i en urettet graf er som å vandre
Detaljer// Translation // KLART SVAR «Free-Range Employees»
// Translation // KLART SVAR «Free-Range Employees» Klart Svar is a nationwide multiple telecom store, known as a supplier of mobile phones and wireless office solutions. The challenge was to make use
DetaljerInf1010 oppgavesamling
Table of ontents Inf1010 oppgavesamling.. 1 Subklasser... 1 Grensesnitt.. 2 Rekursjon... 3 Datastrukturer... 3 GUI. 4 Sortering... 6 Tråder... 6 Inf1010 oppgavesamling Subklasser Klassehirarki for dyr
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerØystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D
Øystein Haugen, Professor, Computer Science MASTER THESES 2015 Professor Øystein Haugen, room D1-011 1 Hvem er jeg? Øystein Haugen, nytilsatt professor i anvendt informatikk på Høyskolen i Østfold, avdeling
DetaljerFra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/
Detaljer