Palvelulaatutietoinen väliohjelmisto
|
|
- Jarmo Lattu
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 hyväksymispäivä arvosana arvostelija Palvelulaatutietoinen väliohjelmisto Pasi Vettenranta Helsinki HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Pasi Vettenranta Työn nimi Arbetets titel Title Palvelulaatutietoinen väliohjelmisto Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Tiivistelmä Referat Abstract Viime vuosina väliohjelmistot ovat kehittyneet tukemaan hajautettujen ohjelmistojen toimintaa laajoissa, muuntuvissa ja epävarmoissa tietokoneverkoissa. Tämän kehityksen takia tulevaisuuden väliohjelmistojen odotetaan tarjoavan käyttäjilleen toimivia palvelulaadunhallintaominaisuuksia (Quality of Service, QoS). Tässä artikkelissa pohditaan millainen järjestelmä täyttää vaadittavat palvelulaadunhallintaominaisuudet täyttäviä. Lisäksi artikkelissa tutustutaan yhteen palvelulaatutietoiseen (Qos-aware) väliohjelmistoprojektiin, QuO-projektiin. QuO-projektin katsauksessa on tarkoitus esitellä erään palvelulaatutietoisen väliohjelmiston toteutusta ja ajonaikaista käyttäytymistä. Tarkastelun kohteena on miten kyseinen järjestelmä hoitaa eri palvelupyyntöjen neuvottelutilanteet, sekä miten järjestelmä hoitaa eri osiensa välisen kommunikoinnin. Lisäksi tarkastellaan miten järjestelmä valvoo ja takaa käyttäjilleen että näiden tekemät palvelutilaukset pysyvät voimassa ulkoisten vaikutteiden muokatessa järjestelmän toimintaympäristöä. Avainsanat Nyckelord Keywords Middleware, QoS, QuO, Qosket Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information
3 Sisältö ii 1 Johdanto 1 2 Palvelulaatutietoinen väliohjelmisto 2 3 Quality Object, QuO QuO rakenne Olio tehdas Sopimus -olio Delegoija Järjestelmän tilaolio QuO-pohjaisen järjestelmän toimintaperiaate Qosket 10 5 Yhteenveto 11 Lähteet 12
4 1 Johdanto 1 Muuntuvissa ja epävarmoissa tietokoneverkoissa hyvin toimivat hajautetut järjestelmät ovat harvassa. Niiden toteuttaminen on vaativaa ja kallista. Hajautettuja järjestelmiä kehitetään ideaalisia oloja silmällä pitäen, koska muuntuvan ympäristön käsitteleminen on liian hankalaa ja kallista. Usein vain on, että hajautettujen järjestelmien toimintaympäristöt ovat kaukana näistä ideaaliympäristöistä. Vaikka järjestelmää suunniteltaessa yritettäisiin varautua tiettyihin tapahtumiin, niin uusia epätavallisia ja odottamattomia tapahtumia sattuu jatkuvasti. Onkin helpompi ja halvempi olettaa, että tätä meidän omaa järjestelmäämme ajetaan ainoastaan tietynlaisissa, järjestelmälle ideaaleissa olosuhteissa. Kun näin suunniteltu hajautettu järjestelmä sitten lopulta siirretään tuotantokäyttöön, ajaudutaan suurella todennäköisyydellä loputtomalta vaikuttavaan paikkauskierteeseen. Odottamattomia tapahtumia käsittelevää koodia lisätään järjestelmään kerta toisensa jälkeen. On havaittu, että vanhemmissa jo vuosia tuotantokäytössä olleissa hajautetuissa järjestelmissä suurin osa, joskus jopa 90%, järjestelmän koodista on kirjoitettu käsittelemään järjestelmän epätavallisia poikkeustilanteita [ZBS95]. Miten siis toteuttaa helposti ja edullisesti järjestelmä, joka pystyisi omalla toiminnallaan sopeutumaan muuntuviin olosuhteisiin ja jonka muuntaminen olisi yksinkertaista ja sitä kautta myös edullista. ATM ja RSVP tarjoavat ohjelmille mahdollisuutta käyttää palvelulaatuominaisuuksia. Valitettavasti nämä ominaisuudet on suunniteltu enemmän verkon kuin ohjelman ominaisuuksia silmällä pitäen. Hajautetulle järjestelmälle on paljon mielekkäämpää saada tieto siitä kuinka
5 2 monta minkäkinlaista etämetodia sekunnissa järjestelmä ehtii suorittamaan, kuin se että kuinka monta bittiä sekunnissa verkko pystyy kuljettamaan asiakaspään ja olion haltijan välillä [ZBS95]. Tämän kaltainen uusi palvelulaadunmäärittely ohjelman kannalta auttaa sekä ohjelmoijaa, että järjestelmää itseään pyytämään / vaatimaan riittävää ja oikean kokoista palvelulaatusopimusta. Seuraavassa luvussa mietitään millä tavoin pystytään parantamaan hajautettujen järjestelmien kykyä sopeutua muuntuviin oloihin. Kolmannessa luvussa esitellään QuO-projektin palvelutietoisen väliohjelmiston rakennetta ja toimintaa. Neljännessä luvussa tutustutaan menetelmään, jolla Quo-ominaisuuksia pystytään kapseloimaan omiksi uudelleen käytettäviksi kokonaisuuksikseen. 2 Palvelulaatutietoinen väliohjelmisto Palvelulaatutietoisten (QoS-aware) ohjelmien kirjoittaminen on hyvin hankalaa. Vaadittava tieto on hajallaan ympäri järjestelmää ja usein vielä sen hankalan tyyppisessä muodossa. Tällaista ohjelmistoa kirjoittavan ohjelmoijan on pystyttävä koordinoimaan keskenään asiakas- ja palvelinpään ajonaikainen järjestelmä, käyttöjärjestelmien tarjoamien neuvottelujärjestelmän avulla hallittava pistoketason palvelulaatusopimukset (ks. Kuva 1) [ZBS95]. Oliosuuntautunut näkemys palvelulaatutietoisesta hajautetusta järjestelmästä yksinkertaistaa palvelulaadun hallintaan kykenevän järjestelmän toteuttamista. Palvelunlaatutietoinen väliohjelmistoarkkitehtuuri suosii yleispätevillä komponentti-
6 3 Asiakas QoS Hallintajärjestelmä Palvelija Asiakkaan QoS Palvelijan QoS Suoritusympäristö Suoritusympäristö KJ Pistoke-tason QoS sopimus KJ Kuva 1: Kuvaus asiakas/palvelin -mallin mukaisesta palvelulaadunhallintajärjestelmästä [ZBS95]. malleilla suunniteltuja ohjelmistoja [NXWL01]. Palvelulaadun hallinnasta vastaa sitä juuri tarkoitusta varten rakennettu hajautettu komponentti (ks. Kuva 2), jonka tehtäviin kuuluu hallita ja valvoa kuinka hyvin järjestelmän sisäinen kommunikointi tapahtuu sekä mahdollistaa järjestelmän mukautuva päätöksen teko ja toiminnallisuus äkisti muuntuvissa tilanteissa ja tapahtumissa [SLAP02]. Tällainen järjestelmä kykenee tarjoaakaan käyttäjilleen yksinkertaisemman ja ohjelmalähtöisemmän tavan käyttää verkkotason palvelulaadun hallintaa. Väliohjelmistoarkkitehtuuriin perustuvan palvelunlaatutietoisen järjestelmän voidaan katsoa koostuvan komponenteista. Komponentti jakona voidaan käyttää järjestelmän resurssien- ja palvelunlaadunhallintaa. Palvelunlaatutietoinen resurssienhallintajärjestelmä käsittää resurssien välittäjä-, resurssien mukauttaja- (adaptor) ja resurssien tarkkailija -komponentit [NXWL01]. Näiden komponent-
7 4 Asiakas Väliohjelmiston toteuttama QoS Olion haltija Suoritusympäristö Suoritusympäristö KJ KJ Kuva 2: Kuvaus olio-mallin mukaisesta palvelulaadunhallintajärjestelmästä [ZBS95]. tien vastuulla on resurssien varaaminen, niiden toimeenpano, mukauttaminen sekä tarkkailu. Tämä komponentti rakennetaan käyttöjärjestelmien tarjoamien palveluiden päälle. Palvelunlaatutietoinen palvelulaadun hallintajärjestelmä koostuu useista väliohjelmistokomponenteista, joita yleisesti kutsutaan nimityksellä QoS- Proxy. Sen päätökset ja toiminnot perustuvat alla olevan resurssienhallintajärjestelmän sille antamiin raportteihin [NXWL01]. 3 Quality Object, QuO Quality Object (QuO) on palvelulaatutietoisten hajautettujen järjestelmien toteutusta varten kehitetty ohjelmointikehys (framework). Se mahdollistaa muuntuviin palvelulaatutilanteisiin sopeutuvien hajautettujen järjestelmien toteutta-
8 5 misen. Sen avulla pyritään toteuttamaan entistä vikasietoisempia hajautettuja järjestelmiä, saamaan aikaan parempi kontrolli siitä, kuinka ohjelmistot mukautuvat järjestelmän alla tapahtuviin muutoksiin, sekä tukea sopeutuvaisten mekanismien uudelleen käyttöä (ks. Kuva 3) [VZL + 98]. QuO tarjoaa hajautetun järjestelmän hallintaan joukon aspektikieliä. Kyseistä joukkoa kutsutaan yleisesti laadunkuvaus kieliksi (Quality Description Languages, QDL) [LBS + 98]. Niiden avulla järjestelmälle määritellään palvelulaatutiloja, järjestelmän resursseja sekä mekanismeja. Niiden avulla myös mitataan ja hallitaan palvelulaadun toimintaa, sekä luodaan järjestelmän käyttäytymismallit. Käyttäytymismallien avulla järjestelmä voi muuntaa toimintaansa ajonaikaisesti [PLS + 00]. 3.1 QuO rakenne Tavallisessa CORBA-ohjelmassa, asiakas suorittaa etämetodikutsun seuraavalla tavalla. Asiakas suorittaa kutsun oman oliorajapintansa läpi. Rajapinnan tarjoaa asiakaspäässä sijaitseva oliokutsun välittäjä (Object Request Broker, ORB). Se ottaa kutsun vastaan ja välittää sen kohdeolion isännälle. Isäntä suorittaa kutsun ja palauttaa suorituksen omalle ORB:lleen. Isännän ORB välittää vastauksen takasin asiakaskoneen ORB:lle, joka välittää sen edelleen asiakkaalle. Asiakkaan kannalta näyttää että kyseessä on puhtaasti funktionaalinen metodikutsu [ZBS97]. QuO muokkaa hieman edellä esitettyä tapaa suorittaa etämetodikutsuja. Ennen jokaista suoritettavaa etämetodikutsua QuO tarkastaa alla olevan verkon palve-
9 6 Ohjelma ( C++ tai Java) Ohjelman vaatimukset Toiminnallisuuden delegointi (C++ tai Java) QuO-ydin (Java) esimetodi jälkimetodi Sopimus Järjestelmän tila-oliot ORB Olion vaatimukset Järjestelmän tapahtumat Kuva 3: QuO -pohjaisen järjestelmän komponentit [VZL + 98]. lutasotilan, tekee päätelmät sen tilan perusteella ja toteuttaa etämetodikutsut parhaimammaksi katsomallaan tavalla. Jos QuO:n tekemät päätelmät on syytä viestittää myös asiakaspään tietoon niin QuO tekee sen käyttämällä siihen takaisinkutsua (callback) tai nostamalla poikkeuksen [VZL + 98]. QuO:n suunnittelijan tehtävä on kirjoittaa järjestelmän toiminnallisuus käyttäen QuO: tarjoamia aspektikieliä (QDL). Niiden avulla suunnittelija määrittelee palvelulaadun tilat, ohjelmiston muuntuvan käyttäytymisen mallit ja ne järjestelmän osat ja komponentit, joiden tilaa ja toimintaa QuO:n tulee valvoa. Lopullinen tuotos nidotaan yhteen koodigeneraattoreiden avulla. Ne generoivat QDLkielistä koodia ja linkittävät sen yhteen asiakaspäänkoodin, QuO-ytimen sekä CORBA-tynkien ja rankojen kanssa [ZBS97]. QuO -pohjainen järjestelmä koostuu asiakaan osoiteavaruudessa sijaitsevasta delegointi osasta sekä QuO-ytimestä. Seuraavaksi esitellään QuO-pohjaisen järjes-
10 7 telmän komponentit ja niiden toimintaperiaatteet Olio tehdas Olio tehdas sijaitsee QuO-ytimessä. Sen tehtävänä on luoda ja alustaa sopimukset sekä järjestelmän tila-oliot. Toistaiseksi kaikki nämä oliot luodaan QuOjärjestelmän käynnistyksen yhteydessä, mutta tulevaisuudessa järjestelmän tulisi pystyä luomaan dynaamisesti sopimuksia ja järjestelmän tila-olioita [VZL + 98], [ZBS97] Sopimus -olio Sopimus olion tehtävänä on pitää tieto järjestelmän palvelulaaduntilasta ja käynnistää järjestelmän toimintojen mukauttaminen, palvelulaadun tilan muuttuessa. Jokainen sopimus käsittää joukon sisäkkäisiä alueita, jotka määrittelevät järjestelmän tilan suhteessa sen hetkiseen palvelulaatutasoon. Sopimus-olio sisältää asiakkaan pyytämän, etäolion vaatiman ja järjestelmän havaitseman palvelulaaduntason. Siirtyminen alueesta toiseen voi käynnistää järjestelmän muutosvaiheen käyttäytymisen [VZL + 98],[ZBS97] Delegoija Delegoija tarjoaa asiakaspäälle etäolion kanssa identtisen metodirajapinnan. Metodien toiminnallisuuden sijasta, se sisältää toiminnallisuuden voimassa olevien sopimusalueiden tilan tarkasteluun ja tämän pohjalta tehtävän toiminnallisuuden
11 8 päättelyyn. Kun asiakas kutsuu etämetodia, välitetään kutsu oikeasti asiakaspään delegoijan käsiteltäväksi. Se tarkastaa voimassa olevien sopimusten tilan. Saamiensa tietojen perusteella se päättelee, miten toimia etämetodikutsun kanssa. Delegoija voi esimerkiksi valita jonkin vaihtoehtoisista välitystavoista. Jos palvelulaatu romahtaa voi delegoija jättää paketin odottamaan, estää sen lähetyksen tai ilmoittaa siitä asiakasohjelmalle nostamalla poikkeuksen. Delegoija suorittaa samanlaisen tarkistuksen kun etämetodikutsu palaa [VZL + 98],[ZBS97] Järjestelmän tilaolio Järjestelmän tilaolio toimii rajapintana sopimusten ja resurssien, mekanismien, muiden olioiden ja ORB:n välillä. Niitä käytetään mittaamaan ja kontrolloimaan palvelulaatua (QoS). Jotkut järjestelmän tila-oliot voivat käynnistävät sopimuksen tarkastusrutiineja havaitessaan muutoksia joissain valvomissaan järjestelmän komponenteissa. Toiset järjestelmän tilaoliot, joiden valvomat järjestelmän komponenttien tilat muuttuvat usein, tyytyvät informoimaan sopimusoliota järjestelmässä tapahtuneista muutoksista vain pyydettäessä [VZL + 98],[ZBS97]. 3.2 QuO-pohjaisen järjestelmän toimintaperiaate QuO-pohjainen järjestelmä asiakkaan halutessa suorittaa etämetodikutsua toimii seuraavalla tavalla (ks. Kuva 3). Aluksi asiakas suorittaa yhdistä-metodin (connect). Se vastaa toiminnallisuudeltaan CORBA:n liitä-metodia (bind), mutta lisää mukaan asiakaspään palvelulaatu vaatimuksen [VZL + 98]. Nyt QuO-järjestelmä on tietoinen asiakkaan haluamasta palvelulaadusta. Tämän jälkeen asiakas suo-
12 9 Asiakas Toiminnallisuus Metodikutsu Yhdistä Takaisinkutsut QuO-ydin Delegoija Sopimus Tehdas Proxy Tila Tila ORB Verkko ORB Proxy Delegoija QuO-ydin Olio Sopimus Tila Tila Kuva 4: Tarkempi kuvaus QuO-pohjaisen järjestelmän rakenteesta [LSZB98]. rittaa haluamansa etämetodikutsun. Etämetodin suorittamisen sijaan, suorittaa järjestelmä itseasiassa paikallisen delegoijaolion vastaavan metodin. Paikallisella delegoijalla on etäolion kanssa identtinen metodirajapinta. Saatuaan metodikutsun delegoija käynnistää sopimuksenarviointirutiinin. Tällöin suoritusvuoro siirtyy sopimusoliolle. Se lähettää kyselyt kaikille järjestelmän tilaolioille, jotka palauttavat tiedot valvomistaan järjestelmän komponenteista ja arviot niiden toiminnoista tulevaisuudessa [ZBS97]. Sopimus käsittää joukon sisäkkäisiä sopimusalueita, jotka kuvaavat järjestelmän kaikkia merkityksellisiä palvelunlaadun tiloja. Jokainen näistä alueista on määritelty riippumaan jostain järjestelmän tilaolion tarjoamasta tiedosta. Sopimusolio tarkistaa mitkä riippuvuussuhteet ovat voimassa ja lähettää niistä listan dele-
13 10 goijalle. Tämä lista kuvaa järjestelmän sen hetkistä palvelulaadun tilaa voimassa olevalla sopimuksella. Jos sopimuksen arviointi aiheutti sopimusalueen vaihdon eli aktiivisten alueiden lista ei ole samanlainen, kuin se edellisellä kerralla oli kun sopimusta arvioitiin, saattaa järjestelmä käynnistää muutosvaiheen. Muutosvaihe käsittää siirtymisen toisista sopimusalueista toisiin, tästä aiheutuvan mahdollisen asiakkaan informoimisen takaisinkutsulla tai palvelulaaduntilan muokkaamisen järjestelmän tilaolioiden avulla. [ZBS97]. Normaalisti kun palvelunlaatu on hyväksyttävää, siirtää delegoija etämetodikutsun etäolion suoritettavaksi. Jos palvelunlaatu ei vastaa sovittua delegoija voi puskuroida tai blokata metodinkutsun tai jopa nostaa poikkeuksen informoidakseen asiakasta tapahtuneesta. 4 Qosket Yksi QuO:n päämääristä on erottaa järjestelmän toteutus ohjelman toteutuksesta ja aikaan saada näin erillisiä, helpommin ylläpidettäviä ja uudelleen käytettäviä komponentteja. Lopullinen päämäärä tässä erottelussa on se, että järjestelmän käyttäytymismallit voidaan kapseloida omaksi uudelleen käytettäväksi toteutukseen, jopa täysin irralleen niitä käyttävistä ohjelmista. Qosket on tällainen kapseloitu yksikkö. Niitä käytetään kokoamaan yhteenpaikkaan kaikki ohjelmasta riippumaton järjestelmän toiminnallisuutta varten toteutetut määrittelyt ja oliot [SLAP02].
14 11 Qosket on komponentti, joka kapseloi järjestelmän rajapinnat, sopimukset, tilaoliot, takaisinkutsuoliot, määrittelemättömän mukautuvan käytöksen ja uudelleen käytettävään järjestelmän toiminnanosaan liittyvän koodin omaksi uudelleen käytettäväksi komponentiksi. Qosket:ia voi käyttää kahdella tavalla. Joko ohjelmalle yleisesti käytössä näkyvänä komponenttina tai yhdessä QuO:n delegoijaolion kanssa. Myös kummankin vaihtoehdon samanaikainen käyttö onnistuu. Tämän takia Qosket tarjoaa ulos kaksi erilaista rajapintaa, muokkaaja- ja delegoijarajapinnan, vastaamaan komponentin käyttötarkoituksia [SLAP02]. Qosketin muokkaajarajapinta on toteutettu ohjelmien toteuttajia varten. Se tarjoaa välineet palvelulaadun mittaukseen ja kontrollointiin, sekä pääsyn kiinni qosketin sisältämiin mukautumis ominaisuuksiin, siten että niitä on mahdollisuus käyttää missä tahansa ohjelmassa. Delekointirajapinta tarjoaa yksinkertaistetun tavan määritellä funktioita, joiden avulla delegoijan mukautumisen toteutus on yksinkertaisempaa [SLAP02]. 5 Yhteenveto Hajautettujen järjestelmien on pystyttävä mukautumaan muuntuviin olosuhteisiin, jotta niiden käyttäminen muuntuvissa ympäristöissä olisi mahdollista. Palvelulaadunhallintaan kykenevän hajautetun järjestelmän toteutus on hankalaa. ATM ja RSVP tarjoavat ohjelmoijille rajapinnan käyttää palvelulaatu ominaisuuksia. Valitettavasti niiden käyttö on hankalaa ja halutun kaltaisten järjestelmien toteuttamiseen vaadittava tieto on jakautunut useaan eri paikkaan, jotta niiden toteuttaminen olisi yksinkertaista ja helppoa. Oliosuuntainen ajattelu voi-
15 12 si olla ratkaisu tähän ongelmaan. Väliohjelmiston hoitama palvelunlaadunhallinta yksinkertaistaisi abstrahoisi ympäristöönsä mukautuvan hajautetun järjestelmän toteuttamista. Se eristäisi järjestelmän komponentteja siten, että niiden uudelleen käyttö olisi mahdollista. Tämä nopeuttasi ja helpottaisi vastaavien järjestelmien rakentamista. QuO-projekti osoittaa, että on mahdollista luoda palvelulaatutietoinen väliohjelmisto ja Qosket osoittaa, että QuO:n ominaisuudet pystytään eristämään omiksi uudelleen käytettäviksi kokonaisuuksiksi. Vastaavanlaisten järjestelmien avulla toimintaympäristöönsä mukautuvien hajautettujen järjestelmien toteuttaminen on entistä yksinkertaisempaa ja edullisempaa. Lähteet LBS + 98 LSZB98 NXWL01 PLS + 00 Loyall, J. P., Bakken, D. E., Schantz, R. E., Zinky, J. A., Karr, D. A., Vanegas, R. ja Anderson, K. R., Qos aspect languages and their runtime integration. Selected Papers from the 4th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers. Springer-Verlag, 1998, sivut Loyall, J. P., Schantz, R. E., Zinky, J. A. ja Bakken, D. E., Specifying and measuring quality of service in distributed object systems. Proceedings of the 1st International Symposium on Object- Oriented Real-Time Distributed Computing (ISORC), 1998, URL citeseer.nj.nec.com/loyall98specifying.html. Nahrstedt, K., Xu, D., Wichadakul, D. ja Li, B., Qos-aware middleware for ubiquitous and heterogeneous environments, ieee communications magazine, URL citeseer.nj.nec.com/article/ nahrstedt01qosaware.html. Pal, P., Loyall, J., Schantz, R., Shapiro, R. ja Megquier, J., Using qdl to specifyt qos aware distributed (qoo) application configuration.
16 Proceedings of The 3rd IEEE International Symposium on Objectorient Real-time distributed Computing (ISCOR 00), March SLAP02 Schantz, R. E., Loyall, J. P., Atighetchi, M. ja Pal, P. P., Packaging quality of service control behaviors for reuse. Symposium on Object- Oriented Real-Time Distributed Computing, 2002, sivut VZL + 98 Vanegas, R., Zinky, J. A., Loyall, J. P., Karr, D. A., Schantz, R. E. ja Bakken, D. E., Quo s runtime support for quality of service in distributed objects. Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware 98), ZBS95 ZBS97 Zhinky, J., Bakken, D. ja Schantz, R., Overview of quality of service for distributed objects, URL citeseer.nj.nec.com/ zhinky95overview.html. Zinky, J. A., Bakken, D. E. ja Schantz, R. E., Architectural support for quality of service for CORBA objects. Theory and Practice of Object Systems, 3,1(1997). URL citeseer.nj.nec.com/ zinky97architectural.html.
arvostelija OSDA ja UDDI palveluhakemistoina.
Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution
Arkkitehtuurinen reflektio
Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET
Selainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month
Aika/Datum Month and year Kesäkuu 2012
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen
Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa
Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos
Integrointi. Ohjelmistotekniikka kevät 2003
Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri
! #! %! & #!!!!! ()) +
! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets
Sovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan
Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,
Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg
Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen
Luonnontieteiden popularisointi ja sen ideologia
Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro
Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin
INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta
Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa
Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Lauri Eloranta Helsingin yliopisto Valtiotieteellinen tiedekunta Viestintä Pro gradu -tutkielma, 2014 Hallintomallit)Suomen)valtionhallinnon)tietohallintostrategioissa
Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta
Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets
4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T
SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen
Oppimateriaalin kokoaminen ja paketointi
Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
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...
ohjelman arkkitehtuurista.
1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä
arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi
hyväksymispäivä arvosana arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi Helsinki 6.4.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen
Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).
1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.
Laskennallinen yhteiskuntatiede
Laskennallinen yhteiskuntatiede Matti Nelimarkka Helsinki 5.5.2011 LuK tutkielma HELSINGIN YLIOPISTO Tietojenkasittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
Reflektiomekanismien rooli palveluorientoituneissa järjestelmissä. Seminaarityö Tom Bertell
Reflektiomekanismien rooli palveluorientoituneissa järjestelmissä Seminaarityö 30.10.2007 Tom Bertell Sisältö 1 Johdanto... 1 2 Dynaamisuus palveluorientoituneiden järjestelmissä...2 2.1 Yleistä... 2 2.2
Tietojärjestelmäarkkitehtuurit
Tietojärjestelmäarkkitehtuurit ITK130 Johdatus ohjelmistotekniikkaan Syksy 2003 Sami Kollanus 1 Aluksi Tietojärjestelmäarkkitehtuurit vs. ohjelmistoarkkitehtuurit Pohjana Tietojärjestelmäarkkitehtuurit
812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton
2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.
Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa
Hyväksymispäivä Arvosana Arvostelija Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa Marko Lehtimäki Helsinki 12.5. 2009 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i HELSINGIN YLIOPISTO
Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k
1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.
Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010)
hyväksymispäivä arvosana arvostelija Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) Tuomas Puikkonen Helsinki 8.1.2010 Geoinformatiikan menetelmät ja kirjallisuus -kurssin harjoitustyö HELSINGIN
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä
Hajautettujen järjestelmien rakentaminen - Jini Ohjelmistotuotantovälineet-seminaarin esitelmä Anu K. Leponiemi (anu@lepo.net) Helsingin yliopisto Tietojenkäsittelytieteen laitos Helsinki 2000 SISÄLLYSLUETTELO
Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi
Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on
Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari
!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&27455<:4;2;&,9:=>23?277<&8=@74;9&ABBCDABBE
!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&2745523?27747544H9;&IG@&JG9?=&15=5H42>:9 '28
JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002
JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä
Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.
Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat
Ohjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä
www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite
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.
Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari Heikkinen
Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
.NET ajoympäristö. Juha Järvensivu 2007
.NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET
MEMS-muisti relaatiotietokannoissa
MEMS-muisti relaatiotietokannoissa Antti Tikka Espoo 28.2.2009 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
Ohjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien
Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)
Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE) Pasi Lehtimäki Helsinki 10.9.2007 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY
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
Common Language Runtime
hyväksymispäivä arvosana arvostelija Common Language Runtime Jukka Katajisto Helsinki 16.4.2005 Ohjelmointikielten kääntäjät -kurssin seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö
Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma PUSU-ryhmä Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Jussi Hynninen
PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
PN-puu Erno Härkönen Helsinki 24.10.2006 Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
RATKAISU REAALIAIKAISEEN TIEDONSIIRTOON NIINIPLUS PROJEKTIPANKKI INTEGRAATION - PIKAOPAS
RATKAISU REAALIAIKAISEEN TIEDONSIIRTOON NIINIPLUS PROJEKTIPANKKI INTEGRAATION - PIKAOPAS Sisällysluettelo Yhteistyön tavoite ja kuvaus kokonaisuudesta 3 Rajapinnan aktivointi 4 NiiniPlus-projektipankista
Hajautettujen työvoiden hallinta
hyväksymispäivä arvosana arvostelija Hajautettujen työvoiden hallinta Simo Moilanen Helsinki 11.05.2009 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY
OpenUP ohjelmistokehitysprosessi
OpenUP ohjelmistokehitysprosessi Sami Männistö Helsinki 14.11.2008 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET Tiedekunta/Osasto Matemaattis-luonnontieteellinen
Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen
Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka
Test-Driven Development
Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole
Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)
Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Jani Laine 31.10.2017 Ohjaaja: DI Jimmy Kjällman Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston
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
Software engineering
Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
Luottamuksen ja maineen rooli palveluperustaisten yhteisöjen muodostamisessa
Luottamuksen ja maineen rooli palveluperustaisten yhteisöjen muodostamisessa Eija Henritius Helsinki 1.2.2009 Seminaari (työsuunnitelma/tiivistelmä) HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
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
Seminaari: HL7 versio 2
hyväksymispäivä arvosana arvostelija Seminaari: HL7 versio 2 Markus Koski Helsinki 29.9.2014 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF
13/20: Kierrätys kannattaa koodaamisessakin
Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy
Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari
Järjestelmäarkkitehtuuri (TK081702)
Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
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
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
Tekninen suunnitelma - StatbeatMOBILE
Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VIII Suunnittelumallit Observer ja State
2015 syksy 2. vsk VIII Suunnittelumallit Observer ja State Sisältö 1. Johdanto käyttäytymismalleihin 2. Observer 3. State Suunnittelumallit Observer ja State 2 VIII.1 Johdanto käyttäytymismalleihin Päätarkoitus
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ä
Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin
Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:
812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite
2015 syksy 2. vsk VII Suunnittelumallit Adapter ja Composite Sisältö 1. Johdanto rakennemalleihin 2. Adapter (Sovitin) 3. Composite (Rekursiokooste) Suunnittelumallit Adapter ja Composite 2 VII.1 Johdanto
Muutamia peruskäsitteitä
Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä
Opera Hotel Edition. Arvonlisäverokantojen muutos Operaan 01.07.2010. Finland. Toukokuu 2010 MICROS-Fidelio Finland Oy, Hotel Systems HelpDesk
Opera Hotel Edition Arvonlisäverokantojen muutos Operaan 01.07.2010 Toukokuu 2010 MICROS-Fidelio Finland Oy, Hotel Systems HelpDesk Sivu / Page: 1 / 15 Document revision history Version Revision Author
ECOLEAD, European Collaborative Networked Organizations Leadership Initiative
hyväksymispäivä arvosana arvostelija ECOLEAD, European Collaborative Networked Organizations Leadership Initiative Olli Saarinen Helsinki 17.4.2009 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN
815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli
Dart Ryhmä 38 Ville Tahvanainen Juha Häkli 1.LYHYESTI Dart on luokkapohjainen, yksiperintäinen, puhdas olio-ohjelmointikieli. Dart on dynaamisesti tyypitetty. Sovellukset on organisoitu modulaarisiksi
Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta
Multicast Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta 1 Johdanto Tietoverkoissa voidaan lähettää kolmella eri tavalla Unicast
Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
DOCUMENT MANAGER FI/ NO/ SE
PALVELUKUVAUS 1 (6) DOCUMENT MANAGER FI/ NO/ SE PALVELUKUVAUS 2 (6) CONTENTS 1. DOCUMENT MANAGER... 3 2. DOCUMENT MANAGER - KUVAUS... 3 2.1 Tuotteet... 4 2.1.1 Data Management... 4 2.1.2 ipost Letter...
ARTIVA-seminaari
ARTIVA-seminaari 5.2.2014 Open Journal Systems on Public Knowledge Projectin (PKP) kehittämä avoin julkaisujärjestelmä, joka sisältää koko julkaisun toimitusprosessin käsikirjoituksen tarjoamisesta valmiiseen
VÄLI- JA LOPPURAPORTOINTI
Tuija Nikkari 2012 VÄLI- JA LOPPURAPORTOINTI Raportointikoulutus 23.8.12 Raportoinnin tarkoitus Raportoinnin tehtävänä on tuottaa tietoa projektin etenemisestä ja tuloksista rahoittajalle, yhteistyökumppaneille
Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi
Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006-11-25 Janne Mäkelä Alustava 1.0 2006-12-10 Janne Mäkelä Valmis 1.
Visual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit
Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.
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,
Taitaja 2015 Windows finaalitehtävä
Taitaja 2015 Windows finaalitehtävä Tehtäväkuvaus Tehtävänäsi on siirtää, asentaa ja määritellä yrityksen Windows -ratkaisuihin perustuva IT-ympäristö. Käytä salasanaa Qwerty123, jos muuta ei ole pyydetty.
in condition monitoring
Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä
Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto
Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
Sopimus mittausalueen ylläpitäjän tehtävistä ja vastuista NO. XX [Osapuoli] ja FINGRID OYJ
Sopimus mittausalueen ylläpitäjän tehtävistä ja vastuista NO. XX [Osapuoli] ja FINGRID OYJ 2 (5) Sisällys 1 Osapuolet... 3 2 Sopimuksen tausta ja tarkoitus... 3 3 Mittausalueet... 3 4 Mittausalueen ylläpitäjän
Projektinhallintaa paikkatiedon avulla
Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa
T harjoitustyö, kevät 2012
T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,
HSMT J2EE & EJB & SOAP &...
HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
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
Test-Driven Development
Test-Driven Development Syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole keksiä kaikkia mahdollisia
Sähköpostitilin käyttöönotto
Sähköpostitilin käyttöönotto Versio 1.0 Jarno Parkkinen jarno@atflow.fi Sivu 1 / 16 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.2 Tietojen
Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.
Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen