Simulointi. Oliopohjainen

Koko: px
Aloita esitys sivulta:

Download "Simulointi. Oliopohjainen"

Transkriptio

1 Simulointi Oliopohjainen

2 Prosessipohjainen s. Loogisesti yhteenkuuluvat tapahtumat kootaan yhdeksi elinkaareksi (irrallisten tapahtumarutiinien sijaan) Osakokonaisuuksien hahmottaminen helpompaa Hallittava useamman samanaikaisen elinkaaren koordinointi Mahdollisesti useampia instansseja samasta elinkaaresta/prosessista.

3 Asiakasprosessi Pesuesimerkissä jokaisella asiakkaalla on selkeä elinkaari. Esimerkki voidaan mallittaa yhdellä prosessilla, josta tehdään kopio jokaista asiakasta kohden. Miten hoidetaan useampi rinnakkainen asiakasprosessi, jos ohjelmointikieli ei tue rinnakkaisuutta.

4 Asiakasprosessi Elinkaari on jaettava vaiheisiin (tapahtuma per vaihe), joihin voidaan viitata ja jonka prosessi-instanssi muistaa. Tapahtumalistassa aika ja viittaus prosessi-instanssiin (ja vaiheeseen). Simuloinnin pääohjelma Lukee tapahtumalistaa. Kutsuu seuraavaa prosessi-instanssia suorittamaan seuraavan vaiheensa.

5 Asiakasprosessi AsiakasProsessi(Phase) VaiheTyyppi :: Phase CASE Phase Tulo { Auto = new Asiakas \\ Kutsuu seuraavan asiakkaan Auto.Vaihe(TuloAikaJakauma(),Tulo) Jos (Jono.Pituus< m) Jono.Lisää(*this) Palvelu.Kysy() Muuten \\Jos asiakas ei pääse jonoon, se poistuu this.vaihe(0, Lähtö) } Alku { this.seuraavavaihe(palveluaikajakauma()) }

6 Asiakasprosessi Loppu { Palvelu.Vapauta() Palvelu.Kysy() this.seuraavavaihe(0.) } Lahto { //Keraa statiikka PoistaAsiakas } ENDCASE

7 Palvelu Palvelu.Kysy() AsiakasTyyppi :: Auto { Jos(Palvelu.Vapaa() ja Jono.Pituus()>0) { Auto=Jono.Ota() Palvelu.Varaa() Auto.SeuraavaVaihe(0.) //Vaiheeseen Alku } }

8 Analyysiä Perinteisillä kielillä on erikseen Välitettävä suorituksen vaihe Välitettävä sisäiset muuttujat Jaettava suoritus vaiheisiin Rakennettava ehdolliset elinkaaret Ohjelmointi helpottuu, jos nämä voi kapseloida prosessi-instanssin sisään -> Olio

9 Oliosimulointi Oliot keksittiin kapseloimaan simuloitavia prosesseja (SIMULA-kieli, 1967). Perintämekanismit luotiin piilottamaan säikeistyksen edellyttämät kontrollirakenteet. Prosessien tiloille ja kommunikaatiolle on luotu vakioitu sanasto/metodit.

10 Prosessiolion tilat Neljä mahdollista tilaa Aktiivinen (parhaillaan suoritettava) Ajastettu (scheduled) Aktivoitumisaika tiedossa eli tapahtumalistassa viite tähän olioon Passiivinen (ei tiedossa tulevia tapahtumia) Jonkin toisen olion on aktivoitava/ajastettava tämä Lopetettu (terminated, ei voida enää mitenkään aktivoida)

11 Tilamuutokset Vain aktiivinen prosessi voi tehdä tilamuutoksia Itseensä Passivate (odottaa kunnes joku aktivoi) Hold (odottaa itse määräämänsä ajan) Terminoituu jos elinkaari päättyy Toisiin Activate (herättää passiivisen, heti tai myöhemmin) Cancel (peruuttaa ajastetun aktivoinnin) Terminate (poistaa koko prosessin)

12 Esimerkki Pesuesimerkki voidaan toteuttaa monin eri tavoin Jako aktiivisiin suureisiin (oma elinkaari) ja muihin (metodeja, joita aktiiviset prosessit kutsuvat) voidaan tehdä monella tapaa. Aktiiviset asiakkaat, passiivinen palveluresurssi jonoineen Passiivinen asiakas ja jono, aktiivinen palvelu

13 Asiakasprosessi Asiakas Auto Asema Q Auto = new Asiakas Auto.Activate(TuloAikaJakauma()) \\seuraava asiakas Jos (Q.Pituus <m+1) Q.Varaa(*this) \\ varataan palvelu mahd. \\jonotuksen jälkeen Hold(PalveluAikaJakauma()) \\ kontrolli siirtyy Q.Vapauta \\ Kerätään statistiikka Terminate \\asiakasprosessi kuolee jolloin kontrolli \\ siirtyy pois

14 Asema Alusta \\ Asetetaan jono tyhjäksi ja \\tehdään muut alustukset Varaa(Asiakas Auto) Jos Vapaa Vapaa=false Muuten \\ varataan palvelu, jos se on vapaa LisaaJonoon(Auto) \\ Jos ei vapaa, jäädään odottamaan Auto.Passivate() \\ Siirretään kontrolli pois Vapauta() Jos(Pituus >0) Auto = OtaJonosta() \\Jonon ensimmäinen Auto.Activate(0.) \\Aktivoidaan varaamaan asema Muuten Vapaa=true \\ Asema vapautuu

15 Pääohjelma AlustaStatiikka Q = New Jono Auto = New Asiakas Auto.Activate(TuloAikaJakauma()) Hold(SimuloinninKesto) Raportoi \\ Terminoi jonossa olevat asiakkaat ja jono \\ Terminoidu itse (päätymällä koodin loppuun) Pääohjelma, controller, on prosessiolio, jolla on simulointiprosessin metodit Luodaan varsinaisessa pääohjelmassa

16 Analyysiä Edellisessä esimerkissä tarvittiin prosesseja, joita voi suorittaa rinnakkain Taustalla säikeiden (threads) käyttö Tarvittavat luokat periytettävä käytetyn ohjelmointikielen/ympäristön säieluokista Ks esim JavaSim tai C++Sim pakettien luokkakirjastoja Käytännössä esimerkki ei toimi Dynaamiset asiakkaat luovat uusia asiakkaita Kun ensimmäinen asiakas/säie kuolee, seuraavat menevät myös sekaisin Tarvitaan erillinen pysyvä asiakasgeneraattoriprosessi

17 Palvelupohjainen malli Pesu-esimerkki voidaan toteuttaa kahden prosessi-instanssin avulla Asiakasgeneraattori Palveluprosessi Lisäksi asiakkaat ja jono (passiivisia) Toteutus demona JavaSim-esimerkin pohjalta

18 Oikeat esimerkit Kaikkia tilanteita ei voi helposti mallittaa edellä esitetyillä prosessien tiloilla ja metodeilla Voidaan tunnistaa yleisesti toistuvia tilanteita, joille prosessimallia voidaan laajentaa Tietyn tapahtuman tai tilanteen odottaminen Keskeytykset Kriittiset resurssit

19 Oikeat esimerkit Käsitelaajennuksia ovat Prosessi voi odottaa (wait) Tietyn ajan Tietyn prosessin päättymistä Tiettyä resurssia (semafori) Jotain muuta ärsykettä (trigger) Odottava prosessi voidaan keskeyttää (interrupt) Aktivoidaan ennen kuin odotusehto täyttyy

20 Oikeat esimerkit Laajennuksia tarvitaan epäsynkroonisten tapahtumien hallintaan Tulevan tapahtuman aika ja/tai sen generoiva prosessi ei ole etukäteen tiedossa Semafori välittää tietoa kriittistä resurssia käyttävän ja sitä odottavien olioiden välillä Muuten kaikki mahdolliset kombinaatiot olisi huomioitava koodissa

21 Oikeat esimerkit Yleensä simulointimalleissa on enemmän rakenneosia Useita palvelupisteitä, jonoja, asiakasvirtoja Yksittäisen osan elinkaari hallittavissa ja usein vakioitavissa (parametrisoitava luokka) Osien keskinäiset kytkennät hahmotettava (graafinen editori, visualisointi, reititystaulut) Käytännössä periytettävä myös graafisia luokkia.

22 Linkkejä Oleellisesti SIMULA ympäristö avoimena Java toteutuksena Java-pohjainen ympäristö tapahtuma- ja oliopohjaiseen simulointiin Laaja kokoelma linkkejä simulointisoftiin

23 Konttisatama Ajateltavissa useita eri strategioita kokonaisuuden mallittamiseen Laivat voivat olla joko aktiivisia prosesseja tai passiivista työkuormaa, jolla on vain reititysinformaatio Laituri voi olla aktiivinen palvelu tai passiivinen resurssi Satama voi olla kokoelma aktiivisia palveluja tai aktiivinen palvelu, jolla tietty kapasitetti

24 Konttisatama Eri strategioissa omat sudenkuoppansa Miten huolehditaan passiivinen laiva oikealla hetkellä uuteen satamaan Jos satama on aktiivinen ja laituri pelkkä kapasiteetti, missä on laiva kun sitä puretaan Täysin passiivinenkin satama+laituri vaatii silti omat rakenteensa (jonot, kapasiteetin hallinta)

Simulointi. Simulointi. Esimerkkejä. Mallit. Kurssirunko. Esimerkkejä

Simulointi. Simulointi. Esimerkkejä. Mallit. Kurssirunko. Esimerkkejä Simulointi Simulointi Johdanto Simulointi ~ jäljittely Pyrkii kuvaamaan tutkittavan ilmiön tai systeemin oleellisia piirteitä mallin avulla. Systeemin rajaus ja tarkasteltavat piirteet määriteltävä ennen

Lisätiedot

Simulointi. Tapahtumapohjainen

Simulointi. Tapahtumapohjainen Simulointi Tapahtumapohjainen Diskreettiaikainen simulointi 1 Tarkastellaan systeemejä, joissa on äärellisen monta komponenttia. Jokaisella komponentilla äärellisen monta tilaa. Komponentit vaikuttavat

Lisätiedot

Tavoite. Monitorit. Monitori Hoare 1974. Monitori. Minimoi virhemahdollisuuksia. Monitori Synkronointimenetelmiä Esimerkkejä

Tavoite. Monitorit. Monitori Hoare 1974. Monitori. Minimoi virhemahdollisuuksia. Monitori Synkronointimenetelmiä Esimerkkejä Tavoite Monitorit Andrews 5.1-5.2, Stallings 5.5 Monitori Synkronointimenetelmiä Esimerkkejä Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

Lue ohjeet huolellisesti ennen laitteen käyttöä.

Lue ohjeet huolellisesti ennen laitteen käyttöä. 1 Väliaikaisen tallennuskansion käyttö Lue ohjeet huolellisesti ennen laitteen käyttöä. Kun skannaat kuvia, dioja, asiakirjoja jne. sekä digitoit LP-levyjä tai C-kasetteja, sinulla on mahdollisuus tallentaa

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 19: Rinnakkaisuus Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 24. 3. 2011 Sisältö 1 Säikeet 2 Lukot 3 Monitorit 4 Muuta säikeisiin

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5 Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -

Lisätiedot

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews 5.1-5.2, Stallings 5.5 Tavoite Minimoi virhemahdollisuuksia poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla -

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Käyttöjärjestelmät: Virtuaalimuisti

Käyttöjärjestelmät: Virtuaalimuisti Käyttöjärjestelmät: Virtuaalimuisti Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Muistinhallinta

Lisätiedot

Luento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

Luento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä Luento 6 T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1 Luennoitsija: Otto Seppälä Kurssin WWW: http://www.cs.hut.fi/opinnot/t-106.1240/s2007 Oma Grafiikka Swing-käyttöliittymässä

Lisätiedot

Simulointi. Johdanto

Simulointi. Johdanto Simulointi Johdanto Simulointi Simulointi ~ jäljittely Pyrkii kuvaamaan tutkittavan ilmiön tai systeemin oleellisia piirteitä mallin avulla. Systeemin rajaus ja tarkasteltavat piirteet määriteltävä ennen

Lisätiedot

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1 String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen

Lisätiedot

Luento 6. June 1, 2015. Luento 6

Luento 6. June 1, 2015. Luento 6 June 1, 2015 Normaalimuodon pelissä on luontevaa ajatella, että pelaajat tekevät valintansa samanaikaisesti. Ekstensiivisen muodon peleissä pelin jonottaisella rakenteella on keskeinen merkitys. Aluksi

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Dynaamisen järjestelmän siirtofunktio

Dynaamisen järjestelmän siirtofunktio Dynaamisen järjestelmän siirtofunktio Nyt päästään soveltamaan matriisilaskentaa ja Laplace muunnosta. Tutkikaamme, miten lineaarista mallia voidaan käsitellä. Kuten edellä on jo nähty säätötekniikassa

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka Rinnakkaisuus parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa Rinnakkaisuuden etuja: laskennan nopeutuminen (sarjoittuvat operaatiojonot) ilmaisuvoima (ongelman

Lisätiedot

7/20: Paketti kasassa ensimmäistä kertaa

7/20: Paketti kasassa ensimmäistä kertaa Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

Osion kaksi kertaus. Jukka Juslin. Jukka Juslin

Osion kaksi kertaus. Jukka Juslin. Jukka Juslin Osion kaksi kertaus Jukka Juslin Sisältö Taulukot ja Stringit Luokkien kirjoittaminen Oletusmuodostin UML Taulukot Taulukot luodaan Java-kielessä seuraavanlaisesti: int [] arvosanat = {1,2,3,4,5}; Taulukon

Lisätiedot

Sisällys. 12. Monimuotoisuus. Johdanto. Alityypitys. Johdanto. Periytymismekanismi määrittää alityypityksen.

Sisällys. 12. Monimuotoisuus. Johdanto. Alityypitys. Johdanto. Periytymismekanismi määrittää alityypityksen. Sisällys 12. Monimuotoisuus Johdanto. Periytymismekanismi määrittää alityypityksen. Viitteiden sijoitus ja vertailu. Staattinen ja dynaaminen. Parametrinvälitys eräs monimuotoisuuden sovellus.. Rajapinnat

Lisätiedot

5/20: Algoritmirakenteita III

5/20: Algoritmirakenteita III Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän

Lisätiedot

Osio 4: Graafinen käyttöliittymä

Osio 4: Graafinen käyttöliittymä Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

Lisätiedot

Veto-visualisointityökalu

Veto-visualisointityökalu Ohjelmoinnin suunnittelumallit (design patterns) käyttöliittymissä Vanhin ja keskeisin lähde Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns. Addison-Wesley, USA, 1994. Ajatus ohjelmoinnin

Lisätiedot

Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen

Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen Helsingin Yliopisto, tietojenkäsittelytieteen laitos Rinnakkaisohjelmointi (syksy 2006) Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen a. Käyttötarkoitus ja sovellusalue

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Rinnakkaisuus Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 4. 2012 Sisältö 1 Rinnakkaisuusmalleja: säie ja prosessi 2

Lisätiedot

Graafinen käyttöliittymä, osa 1

Graafinen käyttöliittymä, osa 1 Graafinen käyttöliittymä, osa 1 Idea, MVC-malli ja ensimmäinen ohjelma Graafinen käyttöliittymä Ensimmäisen kerran tavoitteena on oppia graafisen ohjelman perusidea sekä oppia laatimaan esimerkin mukaan

Lisätiedot

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan

Lisätiedot

19/20: Ikkuna olio-ohjelmoinnin maailmaan

19/20: Ikkuna olio-ohjelmoinnin maailmaan Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli TIE-20306 PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli Seminaariesitelmä ryhmä 24 Markku Ahokas Jani Kuitti i SISÄLLYSLUETTELO 1. YLEISTÄ EIFFELISTÄ... 1 1.1 Historia ja tausta... 1 1.2

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

815338A Ohjelmointikielten periaatteet

815338A Ohjelmointikielten periaatteet 815338A Ohjelmointikielten periaatteet 2015-2016 IX Rinnakkainen ohjelmointi Sisältö 1. Yleistä rinnakkaisuudesta 2. Prosesseista ja säikeistä 3. Rinnakkaisen ohjelman oikeellisuudesta 4. Rinnakkaisuuden

Lisätiedot

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla Lasse Leino ja Marko Kahilakoski Helsingin Yliopisto Tietojenkäsittelytieteen laitos Rinnakkaisohjelmointi 18. joulukuuta 2006 Sisältö 1 Säikeet

Lisätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007 Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden

Lisätiedot

Kassanhallintapalvelu muuttuu 8.11.2011 alkaen

Kassanhallintapalvelu muuttuu 8.11.2011 alkaen Kassanhallintapalvelu muuttuu 8.11.2011 alkaen Kassanhallintapalveluun tehtävät muutokset johtuvat siitä, että Suomessa toimivat pankkiryhmät siirtyvät Yhtenäinen euromaksualueeseen eli SEPAan. SEPAn tavoitteena

Lisätiedot

Vesisika. metsiemme työmyyrä. http://www.billybear4kids.com/animal/whose-toes/capybara.jpg

Vesisika. metsiemme työmyyrä. http://www.billybear4kids.com/animal/whose-toes/capybara.jpg Vesisika metsiemme työmyyrä http://www.billybear4kids.com/animal/whose-toes/capybara.jpg Faktat Vesisika tykkää vedestä ja näyttää (ja kuulemma maistuu) hieman sialta. Käyttää myös nickiä kapybara. kapiÿva

Lisätiedot

Palvelujen ja prosessien johtaminen olennaisen tiedon avulla

Palvelujen ja prosessien johtaminen olennaisen tiedon avulla Prosessipäivät 20.4.2016 Palvelujen ja prosessien johtaminen olennaisen tiedon avulla Mikko Kuusela Senior Solution Architect p. 040 574 7414 mikko.kuusela@qlik.com 04, 2016 Pohditaan palveluiden ja prosessien

Lisätiedot

KELAN INDUKTANSSI VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Miika Manninen, n85754 Tero Känsäkangas, m84051

KELAN INDUKTANSSI VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Miika Manninen, n85754 Tero Känsäkangas, m84051 VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA Miika Manninen, n85754 Tero Känsäkangas, m84051 SATE.2010 Dynaaminen kenttäteoria KELAN INDUKTANSSI Sivumäärä: 21 Jätetty tarkastettavaksi: 21.04.2008

Lisätiedot

P-Frami sopimusasiakkaan käyttöohje

P-Frami sopimusasiakkaan käyttöohje TALON KÄYTTÄJÄT - 1- ja 2- kerros ammattikorkeakoulun henkilökunta (+vieraspysäköinti) - 1-kerrokseen kulku sekä pohjois- että eteläpäästä - 2-kerrokseen suositellaan kulkua pohjoispäästä (kierrerampin

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

8/20: Luokat, oliot ja APIt

8/20: Luokat, oliot ja APIt Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti

Lisätiedot

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Klubitalot neljä case-elinkaarilaskelmaa kustannuksista ja hyödyistä. Harri Hietala

Klubitalot neljä case-elinkaarilaskelmaa kustannuksista ja hyödyistä. Harri Hietala Klubitalot neljä case-elinkaarilaskelmaa kustannuksista ja hyödyistä Harri Hietala Elinkaarilaskelmien oletuksia 2 Laskelmat on laadittu neljälle henkilöprofiilille: toteutuneesta sekä aktiivisesta ja

Lisätiedot

Ajankohtaista Liikenneviraston hankinnan ohjauksesta. Vesiväyläpäivä 2016, 6.4.2016

Ajankohtaista Liikenneviraston hankinnan ohjauksesta. Vesiväyläpäivä 2016, 6.4.2016 Ajankohtaista Liikenneviraston hankinnan ohjauksesta Vesiväyläpäivä 2016, 6.4.2016 Esityksen sisältö Hankintalain kokonaisuudistuksen viivästyminen Käytännön ohjeita EU-hankintoihin Ajankohtaista Kipon

Lisätiedot

RINNAKKAINEN OHJELMOINTI A,

RINNAKKAINEN OHJELMOINTI A, RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen

Lisätiedot

1 / 11. Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto. Pikaopas Maxwelliin. ARK-A2500 DA-alkeet Elina Haapaluoma, Heidi Silvennoinen Syksy 2015

1 / 11. Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto. Pikaopas Maxwelliin. ARK-A2500 DA-alkeet Elina Haapaluoma, Heidi Silvennoinen Syksy 2015 1 / 11 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto Pikaopas Maxwelliin Miksi Maxwell? 2 / 11 Enemmän säätövaraa kuin Brazilissa. Varsinkin jos on harrastanut valokuvausta, Maxwell voi olla hyvä

Lisätiedot

- Kommentoi koodisi. Koodin kommentointiin kuuluu kuvata metodien toiminta ja pääohjelmassa tapahtuvat tärkeimmät toiminnat. Esim.

- Kommentoi koodisi. Koodin kommentointiin kuuluu kuvata metodien toiminta ja pääohjelmassa tapahtuvat tärkeimmät toiminnat. Esim. Projektityö olioista. Projektityön ohjeistus: - Jokainen valitsee vain yhden aiheen projektityökseen. Projektityön tarkoitus on opetella tekemään hieman isompi, toimiva ohjelma olioita käyttäen. Ohjelmakoodi

Lisätiedot

Miksi kysyttäisiin sosiaalityön asiakkailta?

Miksi kysyttäisiin sosiaalityön asiakkailta? Miksi kysyttäisiin sosiaalityön asiakkailta? Asiakaslähtöinen kehittäminen Valtion ja kansalaisyhteiskunnan tavoitteiden yhteen sovittamista Viranomaisammattilaisten ja kansalaisasiakkaiden jaettua asiantuntijuutta

Lisätiedot

812347A Olio-ohjelmointi, X Reflektiivisyys

812347A Olio-ohjelmointi, X Reflektiivisyys 812347A Olio-ohjelmointi, 2016 X Reflektiivisyys Sisältö 1. Luokkainformaatio 2. Olion luominen luokkaolion avulla 3. Metodit olioina 2 Luokkainformaatio n Reflektio: Mahdollisuus ohjelman suorituksen

Lisätiedot

Johdatus L A TEXiin. 6. Omat komennot ja lauseympäristöt Markus Harju. Matemaattiset tieteet

Johdatus L A TEXiin. 6. Omat komennot ja lauseympäristöt Markus Harju. Matemaattiset tieteet Johdatus L A TEXiin 6. Omat komennot ja lauseympäristöt Markus Harju Matemaattiset tieteet Omat komennot I a L A TEXin valmiiden komentojen lisäksi kirjoittaja voi itse määritellä omia komentojaan. Tämä

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.

Lisätiedot

Hyvä vesihuoltohanke, suunnittelijan näkökulma

Hyvä vesihuoltohanke, suunnittelijan näkökulma Hyvä vesihuoltohanke, suunnittelijan näkökulma Hannu Pirinen Pohjois-Karjalan aikuisopisto 16.03.2012 Maveplan Oy March 14, 2012 2 PÄÄVAIHEET: Osuuskunnan perustaminen Liittymishalukkuuden selvittäminen

Lisätiedot

TW- EAV510: WDS- TOIMINTO KAHDEN TW- EAV510 LAITTEEN VÄLILLÄ

TW- EAV510: WDS- TOIMINTO KAHDEN TW- EAV510 LAITTEEN VÄLILLÄ TWEAV510: WDSTOIMINTO KAHDEN TWEAV510 LAITTEEN VÄLILLÄ Alla kaksi vaihtoehtoista ohjetta WDSverkon luomiseksi Ohje 1: WDSyhteys käyttää WPAsalausta. Tässä ohjeessa WDSyhteys toimii vain, kun tukiasema

Lisätiedot

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin 812347A Olio-ohjelmointi, 2015 syksy 2. vsk II Johdanto olio-ohjelmointiin Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden esittely 2 II.1 Abstraktiosta

Lisätiedot

L2TP LAN to LAN - yhteys kahden laitteen välille

L2TP LAN to LAN - yhteys kahden laitteen välille TW- LTE- REITITIN: L2TP LAN to LAN - yhteys kahden laitteen välille Esimerkissä on käytetty kahta TW- LTE reititintä L2TP LAN to LAN - yhteydellä voidaan luoda VPN- verkko, jossa liikenne on sallittu molempiin

Lisätiedot

Rinnakkaisohjelmointi, Syksy 2006

Rinnakkaisohjelmointi, Syksy 2006 Rinnakkaisohjelmointi, Syksy 2006 17.12.2006 Opintopiiri WTF Mika Holmström Paula Kemppi Janne Piippo Lasse Lukkari Javan semaforit 1. Menetelmän käyttötarkoitus ja sovellusalue Semaforin idea kehitettiin

Lisätiedot

Tips & Tricks for TestStand development NI Days 2013

Tips & Tricks for TestStand development NI Days 2013 Tips & Tricks for TestStand development NI Days 2013 Agenda 1. LabVIEW & TestStand:n yhteiskäyttö 2. TestStand arkkitehtuurimalleja LabVIEW pohjaisesti 3. Hyödyllisiä vinkkejä testisekvenssien luontiin

Lisätiedot

Hae Opiskelija käyttöohje

Hae Opiskelija käyttöohje Hae Opiskelija käyttöohje Yleistä Hae Opiskelija hakuikkunan toiminto on uudistettu tavoitteena saada selkeämpi ja helppokäyttöisempi rakenne. Käyttäjä valitsee ensin, kumpaa hakua haluaa käyttää, Perushaku

Lisätiedot

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

812315A Ohjelmiston rakentaminen. Asynkronisuus

812315A Ohjelmiston rakentaminen. Asynkronisuus 812315A Ohjelmiston rakentaminen. Asynkronisuus Ari Vesanen ari.vesanen (at) oulu.fi Yleistä moduulista Tällä kertaa sisältää Java-kielistä monisäieohjelmointia Suoritustapa: Neljästä ohjelmointitehtävästä

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

Opintopolku opastaa korkeakouluhakuihin

Opintopolku opastaa korkeakouluhakuihin Opintopolku opastaa korkeakouluhakuihin 4.12.2012 Erityisasiantuntija Joni Penkari, OPH Mikä on opintopolku? Mitä uusi korkeakouluhaku tarkoittaa hakijalle? Miten opintopolku vie korkeakouluopiskelijaksi?

Lisätiedot

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli Lasse Lindqvist Lasse Lopperi llindqvi@cc.hut.fi lmlopper@cc.hut.fi Andrey Rusanovich

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

OHJ-1151 Ohjelmointi IIe

OHJ-1151 Ohjelmointi IIe Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-1151 Ohjelmointi IIe Harjoitustyö Tomaattisota Välipalautus / Loppudokumentaatio Assistentin nimi Välipalautusaika (päivä ja kellonaika) ja

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Oleelliset vaikeudet OT:ssa 1/2

Oleelliset vaikeudet OT:ssa 1/2 Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet

Lisätiedot

Asiakkaiden osallisuus mitä. Asta Niskala ja Annikki Paajanen 31.10.12 Oulu

Asiakkaiden osallisuus mitä. Asta Niskala ja Annikki Paajanen 31.10.12 Oulu Asiakkaiden osallisuus mitä se tarkoittaa kehittämistyössä? i t ä? Asta Niskala ja Annikki Paajanen 31.10.12 Oulu Tavoitteena kehittämishankkeissa jo koko 2000 luvun ajan Asiakkaiden osallisuuden kehittäminen

Lisätiedot

812341A Olio-ohjelmointi, I Johdanto

812341A Olio-ohjelmointi, I Johdanto 812341A Olio-ohjelmointi, 2016 I Johdanto Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden kertausta 812341A Olio-ohjelmointi, Johdanto 2 1 Abstraktiosta

Lisätiedot

Jäsenluettelo ja henkilörekisterit. Olli Välke Opintokeskus Visio

Jäsenluettelo ja henkilörekisterit. Olli Välke Opintokeskus Visio Jäsenluettelo ja henkilörekisterit Olli Välke Opintokeskus Visio Yhdistyksen jäsenluettelo Yhdistyslain mukaan hallituksen on pidettävä yhdistyksen jäsenistä luetteloa. Hallituksen kannattaa antaa jäsenluettelon

Lisätiedot

KUNTIEN ROOLI MUUTOKSESSA Vaikuttamisiltapäivä ja EK-foorumi 3.2.

KUNTIEN ROOLI MUUTOKSESSA Vaikuttamisiltapäivä ja EK-foorumi 3.2. Päijät-Hämeen liitto The Regional Council of Päijät-Häme KUNTIEN ROOLI MUUTOKSESSA Vaikuttamisiltapäivä ja EK-foorumi 3.2. @Jari_Parkkonen #PHliitto Lähde: Tilastokeskus Kartta ja analyysi: Timo Aro Lähde:

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

Laboratoriotyön sisältö. Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti (1 raportti/työ)

Laboratoriotyön sisältö. Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti (1 raportti/työ) Päällystyksen ja pintakäsittelyn kemiaa laboratoriotyöt kevät 2012 n. 15 h labratyöskentelyä Laboratoriotyön sisältö Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti

Lisätiedot

UML Luokkakaavio 14:41

UML Luokkakaavio 14:41 UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

7. Oliot ja viitteet 7.1

7. Oliot ja viitteet 7.1 7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin

Lisätiedot

Huomaathan, että ohjeessa olevat näytöistä otetut kuvat voivat poiketa sinun koulutuksesi vastaavien sivujen kuvista.

Huomaathan, että ohjeessa olevat näytöistä otetut kuvat voivat poiketa sinun koulutuksesi vastaavien sivujen kuvista. OHJE OPISKELIJALLE MOODLEN KÄYTTÖÖN 1/5 2011/2012 MOODLE KOULUTUKSESSA Työterveyslaitoksella käytetään Moodle -verkko-oppimisalustaa. Potilassiirtojen Ergonomia - koulutus on monimuotokoulutusta, johon

Lisätiedot

Tieteelliset lehdet ja takautuva digitointi. Digitointirahaa onko sitä? -seminaari 11.6.2010 Jyrki Ilva (jyrki.ilva@helsinki.fi)

Tieteelliset lehdet ja takautuva digitointi. Digitointirahaa onko sitä? -seminaari 11.6.2010 Jyrki Ilva (jyrki.ilva@helsinki.fi) Tieteelliset lehdet ja takautuva digitointi Digitointirahaa onko sitä? -seminaari 11.6.2010 Jyrki Ilva (jyrki.ilva@helsinki.fi) Digitointi ja tekstintunnistus Digitointia varten tarvitaan alkuperäiset

Lisätiedot

Mokapäivä 21.4.2016 Leppävaara

Mokapäivä 21.4.2016 Leppävaara Mokapäivä 21.4.2016 Leppävaara Tuija Marstio & Sini Temisevä www.laurea.fi AGENDA 13-13.45 Rohkaisuryyppy 13.45-14.15 Kahvitauko 14.15-15.00 Mokajuhlat - Mokasta menestykseen 15.00- Jatkot www.laurea.fi

Lisätiedot

Intel Threading Building Blocks

Intel Threading Building Blocks Intel Threading Building Blocks Markku Vajaranta Esko Pekkarinen TBB Pähkinänkuoressa C++ luokkamallinen rinnakkaisuus Abstrahoi rinnakkaisuutta korkean tason tehtävät (tasks) ja niiden skedulointi suuri

Lisätiedot

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Luokka- ja oliokaaviot

Luokka- ja oliokaaviot Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Tikon yksittäismaksujen käsittely

Tikon yksittäismaksujen käsittely Toukokuu 2015 1 (8) Käyttöohje Toukokuu 2015 2 (8) Sisällysluettelo Johdanto... 3 1. Web-käyttöliittymä... 4 1.1. Yksittäismaksut... 5 1.2. Tulosta uusi turvakoodisarja... 6 1.3. Aktivoi turvakoodisarja...

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen

Lisätiedot

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS PROJEKTIN JOHTAMINEN ON YKSINKERTAISTA PUUHAA Projektin suunnittelua Projektin toteutusta Listaa tehtävät Tehkää tehtävät Projektin ohjausta

Lisätiedot

DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ)

DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ) DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ) Johdatus kurssiin Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/15 HOJ (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot: Ville

Lisätiedot

Racket ohjelmointia. Tiina Partanen 2014

Racket ohjelmointia. Tiina Partanen 2014 Racket ohjelmointia Tiina Partanen 2014 Sisältö 1) Peruslaskutoimitukset 2) Peruskuvioiden piirtäminen 3) Määrittelyt (define) 4) Yhdistettyjen kuvien piirtäminen 5) Muuttujat ja funktiot 6) Animaatiot

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

NOUHÄTÄ 2015 Grande Finale. Projektipäällikkö Teemu Jumpponen Palopäällystökurssi AmkN13

NOUHÄTÄ 2015 Grande Finale. Projektipäällikkö Teemu Jumpponen Palopäällystökurssi AmkN13 NOUHÄTÄ 2015 Grande Finale Projektipäällikkö Palopäällystökurssi AmkN13 Miten toteutettiin Projektin aloitus: Projektipäällikkö ja varapäällikkö valittiin jo 2014 vuoden puolella. Muiden tehtävät jaettiin

Lisätiedot