Simulointi. Oliopohjainen
|
|
- Ella Nurmi
- 7 vuotta sitten
- Katselukertoja:
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 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ätiedotSimulointi. Tapahtumapohjainen
Simulointi Tapahtumapohjainen Diskreettiaikainen simulointi 1 Tarkastellaan systeemejä, joissa on äärellisen monta komponenttia. Jokaisella komponentilla äärellisen monta tilaa. Komponentit vaikuttavat
LisätiedotTavoite. 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ätiedot5. 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ätiedotLue 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ätiedotOhjelmoinnin 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ätiedot11/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ätiedotMonitorit. 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ätiedotMonitorit. 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ätiedotConcurrency - 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ätiedotKä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ätiedotLuento 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ätiedotSimulointi. 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ätiedotString-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ätiedotLuento 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ätiedotMetodit. 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ätiedotDynaamisen 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ätiedotUML -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ätiedotRinnakkaisuus. 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ätiedot7/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ätiedotOsion 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ätiedotSisä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ätiedot5/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ätiedotOsio 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ätiedotTietojenkä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ätiedotVeto-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ätiedotLiite 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ätiedotOhjelmoinnin 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ätiedotGraafinen 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ätiedotAalto 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ätiedot19/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ätiedotTIE 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ätiedotGraafisen 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ätiedotOlion 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ätiedotMikä 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ätiedot815338A 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ätiedotProjekti 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ätiedotJaetun 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ätiedotKassanhallintapalvelu 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ätiedotVesisika. 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ätiedotPalvelujen 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ätiedotKELAN 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ätiedotP-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ätiedotKä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ätiedot8/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ätiedotRinnakkaisuuden 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ätiedotYksikkö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ätiedotTenttikysymykset. + 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ätiedotKlubitalot 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ätiedotAjankohtaista 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ätiedotRINNAKKAINEN 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ätiedot1 / 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.
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ätiedotMiksi 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ätiedot812347A 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ätiedotJohdatus 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ätiedotTIEP114 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ätiedotSisä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ätiedotHyvä 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ätiedotTW- 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ätiedotOhjelmistojen 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ätiedot812347A 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ätiedotL2TP 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ätiedotRinnakkaisohjelmointi, 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ätiedotTips & 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ätiedotHae 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ätiedot812341A 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ätiedot812315A 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ätiedotOpintojakso 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ätiedotOpintopolku 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ätiedotT 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ätiedotTenttikysymykset. + 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ätiedotInteraktiivisten 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ätiedotOHJ-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ätiedotSuunnitteluvaihe 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ätiedotOleelliset 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ätiedotAsiakkaiden 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ätiedot812341A 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ätiedotJä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ätiedotKUNTIEN 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ätiedotEhto- 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ätiedotVertailulauseet. 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ätiedotLaboratoriotyö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ätiedotUML 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ätiedotOhjelmistojen 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ätiedot7. 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ätiedotHuomaathan, 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ätiedotTieteelliset 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ätiedotMokapä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ätiedotIntel 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ätiedotTä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ätiedotLuokka- 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ätiedot815338A 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ätiedotTikon 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ätiedot2. 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ätiedotPROJEKTIN 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ätiedotDTEK1047: 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ätiedotRacket 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ätiedot2. 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ätiedotNOUHÄ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