Ohjelma-ajanvälitys komponentti
|
|
- Pirjo Mikkonen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Tekninen määrittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus Oskari Pirttikoski Ensimmäinen versio Oskari Pirttikoski Lisätty keskeneräiset asiat ja testaus Oskari Pirttikoski Lisätty sisällysluettelo. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 1/19
2 SISÄLLYSLUETTELO 1 JOHDANTO Tarkoitus ja kattavuus Tuote ja ympäristö Määritelmät, merkintätavat ja lyhenteet Viitteet Yleiskatsaus dokumenttiin JÄRJESTELMÄN YLEISKUVAUS Sovellusalueen kuvaus Järjestelmän liittyminen ympäristöönsä Laitteistoympäristö Ohjelmistoympäristö Toteutuksen keskeiset reunaehdot Sopimukset ja standardit ARKKITEHTUURIN KUVAUS Suunnitteluperiaatteet Signalointi Ohjelmistoarkkitehtuuri, moduulit ja prosessit Moduulien kommunikointi UML LUOKKAKAAVIOT Receiver paketti Sender paketti Testui paketti...16 Tekninen määrittely, Ohjelma-ajanvälitys komponentti 2/19
3 4.4 Rinnakkaisuuden hallinta Komponentin testaus ERITYISET TEKNISET RATKAISUT VIRHEENKÄSITTELY HYLÄTYT RATKAISUVAIHTOEHDOT Hot update tiedostot Tyhjä MPEG-2 kuvavuo Tekstitys JATKOKEHITYSAJATUKSIA KESKENERÄISET ASIAT JOHDANTO Ohjelma-ajanvälitys komponentti (OAVK) on osa Ohjelmatyökurssilla toteutettavaa järjestelmää. Järjestelmä kokonaisuudessaan tarjoaa Digi-TV ohjelman kanssa synkronoituja lisäpalveluita. OAVK on olennaisin osa palveluiden ja ohjelmien synkronoinnissa. Järjestelmä on tarkemmin kuvattu projektisuunnitelmassa [projektisuunnitelma]. Ohjelmatyön asiakas on Digita Oy. OAVK:n tavoitteet on määritelty vaatimusmäärittelyssä [vaatimusmäärittely]. Komponentti on suhteellisen pieni ja sen suunnittelussa riittää UML kuvauskielen käyttö, sekä teknisten ratkaisuiden analysointi ja dokumentointi. Periaatteena OAVK:n suunnittelussa on että komponentti on yleiskäyttöinen, eli sitä voidaan käyttää kaikkien sovellusten synkronoinnissa. 1.1 Tarkoitus ja kattavuus Tämä dokumentti on tarkoitettu avustamaan komponentin ohjelmointia ja lisäksi dokumentoimaan tehdyt tekniset ratkaisut. Dokumentti on suunnattu siis lähinnä komponentin toteuttajalle, mutta myös niille jotka aikovat jatkokehittää koko järjestelmää myöhemmin. Jatkokehittäjät voivat olla projektissa jo mukana olevia henkilöitä tai asiakkaan työntekijöitä. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 3/19
4 Tässä dokumentissa kuvataan ohjelma-ajan välitykseen liittyvät tekniset ongelmat ratkaisuineen ja komponentin toteuttavan ohjelmiston rakenne. Dokumentissa esitetty ohjelmiston rakenne kattaa OAVK:n kokonaisuudessaan, pois lukien lähetyspäässä tehtävät integroinnit jotka käydään läpi tässä dokumentissa myöhemmin. 1.2 Tuote ja ympäristö Synkronoituja palveluita tarjoavalla ohjelmistollamme ei ole vielä nimeä. Ohjelmistosta ei myöskään välttämättä tehdä varsinaista tuotetta missään vaiheessa. Tässä dokumentissa käsiteltävästä Ohjelma-ajanvälitys komponentista käytetään joko nimeä Ohjelma-ajanvälitys komponentti tai lyhennettä OAVK. Komponentin koodissa käytetään englannin kielistä nimeä Program time. Tuotteen toimintaympäristö on tarkkaan rajattu. Menemättä vielä tässä vaiheessa syvemmin yksityiskohtiin voidaan sanoa että OAVK:ssa on kaksi osaa. Toinen on TV-ohjelman lähetyspäässä ja toinen vastaanottopäässä. Vastaanottopäässä on katsojan Digi-TV päätelaite joka on MHP yhteensopiva. MHP on Digi-TV päätelaitteita varten määritelty Java alusta. Lähetyspäässä komponentti toimii Windows tai Linux käyttöjärjestelmässä. Tietoliikenne OAVK:n eri osien välillä on yksisuuntaista TV lähetysjärjestelmästä johtuen. 1.3 Määritelmät, merkintätavat ja lyhenteet Seuraavassa taulukossa on esitetty tässä dokumentissa käytettävät määritelmät ja lyhenteet selityksineen. DVB MPEG-2 MHP NPT Digital Video Broadcasting; organisaatio, joka on kehittänyt digitaalisten TV lähetysten standardeja Euroopassa. DVB:ssä on yli 200 jäsentä yli 25 maassa. MPEG-2 on häviöllinen liikkuvan kuvan ja äänen pakkausmenetelmä. MPEG-2 kooderille voidaan antaa erilaisia pakkausprofiileja sen mukaan millaista kuvanlaatua halutaan. Yhden MPEG-2 pakatun TV kanavan siirtoon tarvitaan Mbps siirtokapasiteetti. MPEG-2 menetelmää käytetään sekä DVB:n että ATSC:n standardeissa. Digital Video Broadcasting Multimedia Home Platform on avoin standardi, joka määrittelee katsojien päätelaiteissa olevan tekniikan. DVB-MHP mahdollistaa esimerkiksi Java sovelmien suorittamisen katsojien päätelaiteissa. Now Playing Time on suhteellinen aika liittyen lähetettävään ohjelmaan. Digi- TV järjestelmä ei välitä NPT:tä tarpeeksi tarkasti, jotta sitä voitaisiin käyttää Tekninen määrittely, Ohjelma-ajanvälitys komponentti 4/19
5 sovellusten ja TV-ohjelmien synkronoinnissa. Katso myös Ohjelma-aika. OC Ohjelmaaika Stream Event UML Xlet Object Carousel; Objektikaruselli, jossa tiedostot palveluntarjoajan palvelimelta digiboksiin. Pyörii ympäri vanhan kunnon teksti-tv :n tyyliin. Aika joka on kulunut ohjelman alkamisesta pois lukien mainoskatkot. Tapahtuma jonka objektikaruselli lähettää ja jonka jokin asiakkaan päätelaitteessa oleva sovellus huomaa. Unified Modelling Language on olio-ohjelmien ja tietokantojen suunnitteluun kehitetty mallinnus menetelmä. Xlet on Digi-TV:n tarpeisiin muokattu versio Java sovelmista (applet). Xlet:ien avulla voidaan toteuttaa monimutkaisia sovelluksia MHP laiteisiin. 1.4 Viitteet Tässä dokumentissa viitataan useisiin projektin muihin dokumentteihin, sekä Digi-TV ja Java standardeihin Projektin omat dokumentit Projektisuunnitelma Vaatimusmäärittely Koordinaattilukija Projektin kokonaisuuden kuvaava suunnitelma, jonka uusin versio on 1.08 tätä dokumenttia kirjoitettaessa. OAVK:n vaatimusmäärittely, jonka uusin versio on 1.02 tätä dokumenttia kirjoitettaessa. Koordinaattilukijan tekninen määrittely Standardit Tekninen määrittely, Ohjelma-ajanvälitys komponentti 5/19
6 MHP ETSI TS v JAE API Java 1.1 API Specification 1.5 Yleiskatsaus dokumenttiin Tämän dokumentin kappaleessa 1 kuvataan OAVK yleisesti ja määritellään termit ja viitteet. Kappaleessa 2 kuvaamme tarkemmin OAVK:n toimintaympäristöä laiteiden ja ohjelmistojen osalta. Seuraavaksi kappaleessa 3 määrittelemme komponentin vaatimaa signalointia ja sen toteuttavan ohjelmiston rakennetta, sekä tiedonkulkua OAVK:n eri osien välillä. Kappaleessa 4 esittelemme ohjelmiston rakenteen UML kaavioiden avulla. Kappaleessa 5 käsittelemme lyhyesti tehtyjä erikoisratkaisuita ja kappaleessa 6 luettelemme erilaisia virhetilanteita ja tapoja selviytyä niistä. Kappaleessa 7 luettelemme erilaisia tapoja ratkaista komponentin signalointiongelma ja lopulta kappaleessa 8 käsittelemme jatkokehitysajatuksia. 2 JÄRJESTELMÄN YLEISKUVAUS Tässä kappaleessa kuvataan OAVK:n toimintaympäristöä kokonaisuuden, laiteiden ja ohjelmistojen osalta. 2.1 Sovellusalueen kuvaus Projektissa toteutettavalla järjestelmällä pyritään synkronoimaan asiakaan päätelaiteessa oleva Java sovellus TV-ohjelman kanssa. Sovellus tarjoaa asiakkaalle lisäpalveluita lähetettävän ohjelman sisällöstä riippuen. Sovellukselle välitetään tietoa ruudulla olevista alueista, joita klikkaamalla asiakas saa esimerkiksi lisätietoa klikkaamastaan henkilöstä. Koordinaattien piirtäminen tehdään editori ohjelmalla. Sovelluksen näyttämä lisätieto riippuu sovelluksesta ja toteutetaan erikseen jokaista sovellusta varten. Järjestelmä on kuvattu kokonaisuudessaan kuvassa 1. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 6/19
7 Kuva 1 Synkronointijärjestelmän arkkitehtuuri 2.2 Järjestelmän liittyminen ympäristöönsä OAVK on osa synkronoitua sovellusta ja sen toteuttaminen on edellytys synkronoinnille. OAVK ei käytä muita projektissa toteutettavia osia hyväkseen vaan muut osat käyttävät OAVK:ia. Digi-TV järjestelmä tarjoaa OAVK:lle tiedonsiirtopalvelun, jonka avulla lähetyspäästä voidaan välittää esitettävän ohjelman aika asiakkaan päätelaitteeseen. Päätelaitteeseen välitetään myös tieto ohjelman tilasta. Mahdollisia tiloja ovat: 1. Ohjelma ei ole alkanut 2. Ohjelma on käynnissä 3. Ohjelmassa on katko 4. Ohjelma on loppunut Tekninen määrittely, Ohjelma-ajanvälitys komponentti 7/19
8 Ohjelma-aikaa ja ohjelman tilaa käyttää hyväkseen koordinaattilukija. Koordinaattilukija kuvataan tarkemmin omassa dokumentissaan [koordinaattilukija] ja sen toiminta ei vaikuta ohjelma-aika komponentin toteutukseen Laitteistoympäristö OAVK:ssa on kaksi osaa lähetyspää ja asiakkaanpää. Asiakkaanpäässä laiteympäristö on määritelty MHP standardin mukaiseksi, ottamatta tarkemmin kantaa itse laitteistoon. Digitalta saatujen tietojen mukaan lähetyspään laiteympäristö on Windows tai Linux käyttöjärjestelmällä toimiva PC Asiakaspään Laitteistoympäristö Asiakkaan päätelaitteen tulee olla MHP yhteensopiva. Tämä on edellytys sille että päätelaitteessa voidaan ylipäätänsä suorittaa Java sovelluksia. Tarkempaa kuvaa itse päätelaitteesta ei voida antaa, koska valmistajilla on vapaus toteuttaa päätelaitteensa omalla tavallaan. Erityisesti tulee huomata että koko projektissa toteutettava järjestelmä, ei tule mitenkään riippumaan laitteistototeutuksista, vaan käyttää MHP mukaisia palveluita ja rajapintoja. MHP laiteympäristöstä tulee vielä todeta että tätä kirjoitettaessa ei ole saatavilla yhtään MHP:tä tukevaa päätelaitetta. Digi-TV päätelaitteita on saatavilla markkinoilla, mutta edes Digitalla ei ole käytössään prototyyppejä MHP tukevista päätelaiteista. Asiakaan päätelaitteessa ei oleteta olevan paluukanavaa, eli tietoliikenneyhteyttä jonka avulla päätelaite voisi lähettää tietoa Lähetyspään Laitteistoympäristö Lähetyspäässä toimiva objektikaruselli toimii Intel x86 PC tietokoneessa jossa on käyttöjärjestelmänä Linux. Objektikarusellia voidaan ohjata toisesta PC koneesta jossa käyttöjärjestelmänä on Windows, mahdollisesti versio NT tai OAVK on sovellustason komponentti eikä sen toteutuksessa ole tarvetta käyttää minkään laitteistoympäristön erikoisominaisuuksia. 2.4 Ohjelmistoympäristö Asiakkaan päätelaitteessa on tarkasti määritelty MHP ohjelmistoympäristö. Lähetyspäässä ohjelmistoympäristö on Windows tai Linux käyttöjärjestelmä, sekä objektikaruselli sovellus johon OAVK liitetään. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 8/19
9 2.4.1 Asiakaspään Ohjelmistoympäristö MHP ympäristö on Digi-TV päätelaitteille mukautettu versio Java 1.1 ympäristöstä. Oleellisia muutoksia Java 1.1 ympäristöön on tehty lähinnä tiedonsiirron ja käyttöliittymäkomponenttien osalta. Digi-TV katsojilla ei ole käytössä tietokoneista tuttua näppäimistöä ja hiirtä vaan oletusarvoisesti pelkkä kaukosäädin. Tiedonsiirtoon liittyvät muutokset johtuvat lähinnä siitä että tiedonsiirto on oletusarvoisesti yksisuuntaista. Yksisuuntainen tiedonsiirto toteutetaan objektikarusellin avulla. MHP ympäristöstä puuttuu osa Java 1.1. ympäristön luokista. Toisaalta ne on korvattu monilla uusilla luokilla ja lisäksi MHP ympäristössä on valtavasti Digi-TV:n palveluiden käyttämiseen tarkoitettuja luokkia. Erityisesti näistä voidaan mainita objektikaruselliin liittyvät luokat, joiden avulla objektikarusellin palveluita voidaan hyödyntää sovelluksissa. Koska MHP päätelaitteita ei toistaiseksi ole saatavissa, ei testausta voida suorittaa kohde ympäristössä. Komponentti testataan kehitysvaiheessa tavallisessa Java ympäristössä niiltä osin kuin se on mahdollista. MHP:stä on julkaistu myös versio 1.1 johon on tehty erityisesti paluukanavaan liittyviä muutoksia. Näiden muutosten ei oleteta vaikuttavan projektissa toteutettavaan järjestelmään olennaisesti. Järjestelmä ei välttämättä toimi suoraan MHP 1.1 ympäristössä, mutta asiakas sitoutuu tähän ja on epätodennäköistä että projektin toteuttamaan järjestelmään joudutaan tekemään merkittäviä muutoksia MHP 1.1 yhteensopivuuden saavuttamiseksi Lähetyspään Ohjelmistoympäristö Lähetyspään ohjelmistoympäristö on varsin joustava OAVK:n toteutuksen kannalta. Windows käyttöjärjestelmässä voidaan OAVK:n tarvitsema toiminnallisuus toteuttaa usealla ohjelmointikielellä. Rajapinta objektikaruselliin riippuu objektikarusellin toteutuksesta ja rajapintaa ei ole standardoitu. Tästä syystä asiakas on lupautunut avustamaan OAVK:n integroinnissa objektikaruselliin ja tämä integrointi voidaan yksityiskohdiltaan jättää pois tästä dokumentista. Digitalla on jo asennettuna objektikaruselli testikäyttöön. OAVK:n lähetyspää voidaan testata lopullisessa ympäristössään, olettaen että testikäytössä oleva karuselli on sama joka tulee myös tuotantokäyttöön. 2.5 Toteutuksen keskeiset reunaehdot OAVK:lle asetetut reunaehdot on kuvattu komponentin vaatimusmäärittelyssä [vaatimusmäärittely]. On kuitenkin huomattava että kyseessä on prototyyppi Tekninen määrittely, Ohjelma-ajanvälitys komponentti 9/19
10 synkronoiduista sovelluksista, eikä voida varmasti tietää mitkä kaikki ominaisuudet ovat oikeasti toteutettavissa. OAVK:n keskeisin vaatimus on välitetyn ajan tarkkuus. Tämä edellyttää tehokasta signalointia lähetys- ja asiakaspään välillä. Erityisesti signaloinnilta vaaditaan lyhyitä prosessointiviiveitä. 2.6 Sopimukset ja standardit OAVK:n toteuttavan ohjelmiston rakenne kuvataan UML kuvauskielellä. Ohjelmisto on kokonaisuudessaan melko suppea ja UML kaaviot riittävät sen kuvaamiseen. OAVK:n tietoliikenne kuvataan sannallisesti ja esimerkein. Mitään erityistä menetelmään ei käytetä. Komponentin omistusoikeudet ja dokumentaation luottamuksellisuus on määritelty koko projektin osalta projektisuunnitelmassa [projektisuunnitelma]. 3 ARKKITEHTUURIN KUVAUS Järjestelmän kokonaisuus kuvattiin yleisesti luvussa 2.1. Tässä luvussa keskitytään OAVK:n tarkempaan kuvaamiseen ohjelmiston rakenteen ja tiedonsiirron kannalta. 3.1 Suunnitteluperiaatteet Järjestelmä suunnitellaan olio pohjaisesti ja kuvataan UML kaavioina. OAVK on melko yksinkertainen komponentti ja sen arkkitehtuuri noudattaa perinteistä asiakas-palvelin mallia, ottaen kuitenkin huomioon että käytössä on vain yksisuuntainen tietoliikenne palvelimen ja asiakaan välillä. Aiemmissa luvuissa on jo mainittu että OAVK:ssa on kaksi osaa asiakas- ja lähetyspää. Lähetyspään osuus jakautuu edelleen seuraaviin osiin: 1. Liityntä objektikaruselliin 2. Ydin, joka pitää yllä aika- ja tilatietoa 3. Testikäyttöliittymä jolla aikatieto syötetään Asiakaspää jakautuu vastaavasti seuraaviin osiin: 1. Liityntä objektikaruselliin Tekninen määrittely, Ohjelma-ajanvälitys komponentti 10/19
11 2. Ydin, joka pitää yllä aika- ja tilatietoa OAVK suunnitellaan yleiskäyttöiseksi siten, että sitä voivat hyödyntää kaikki ohjelma-aikaa tarvitsevat sovellukset. Asiakaspään ohjelmointikieli on välttämättä Java versio 1.1. Tämä johtuu siitä että MHP päätelaiteet tukevat vain Javaa ja siitä versiota 1.1. Lähetyspäässä ohjelmointikieltä ei määrää tekninen ratkaisu. Käytettäväksi kieleksi valittiin Java seuraavista syistä: 1. Java on alusta riippumaton ja toteutus voidaan tarvittaessa siirtää uudelle alustalle helposti 2. Komponentissa käytetään yhtä kieltä 3. Projektiryhmän Java osaaminen on korkeammalla tasolla kuin muiden kielien osaaminen 4. Java ohjelmointi on nopeampaa ja virheitä tulee vähemmän kuin esimerkiksi C kielellä Lähetyspään Java versiota ei ole sidottu ja siihen tullaan käyttämään uusinta versiota eli Java 1.3:a. Testikäyttöliittymä voidaan lähetyspäähän tehdä joko Java AWT tai Swing käyttöliittymäelementeillä. Valitsimme Swing elementit koska ne näyttävät samoilta kaikissa käyttöjärjestelmissä. Komponentin vaatimaan signalointiin käytetään Stream Eventtejä (SE), eli vuo tapahtumia. Stream Eventit ovat lyhyitä sanomia joilla on useita tunnisteita ja jotka voivat välittää 246 tavua tietoa mukanaan. Teoriassa eventit soveltuvat hyvin komponentin käyttöön. Käytännössä ei voida olla varmoja tuetaanko niitä kaikissa lähetysjärjestelmissä ja päätelaiteissa. Näin ollen on myös tärkeää dokumentoida muita teknisiä ratkaisuita joilla signalointi voitaisiin toteuttaa. Vaihtoehtoiset ratkaisut käsitellään myöhemmin kappaleessa Signalointi Tässä luvussa kuvataan signalointi lähetys- ja asiakaspään välillä. Signaloinnin tavoitteena on välittää tieto ohjelma-ajasta ja ohjelman tilasta. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 11/19
12 Stream Eventtejä lähetetään tasaisesti 10 sekunnin välein kun ohjelman tila ei muutu. Näin asiakaspää pysyy synkroonissa ja pääsee mukaan palveluun viimeistään kymmenen sekunnin kuluttua käynnistyksestä. 10 sekuntia on kompromissi jossa halutaan tuottaa mahdollisimman vähän liikennettä, mutta toisaalta saavuttaa suhteellisen nopea mukaan pääsy asiakaspäässä. Tätä arvoa voidaan muuttaa integraatio vaiheessa jos siihen ilmenee tarvetta. Kun ohjelman tila muuttuu lähetetään uusi tila ja sen hetkinen aika välittömästi. Stream Eventit voivat olla kahta eri tyyppiä ajastettuja tai välittömiä, eli do it now tyyppiä. Koska ajastus ei ole tarpeeksi tarkka käytämme välittömiä tapahtumia. Jokaisessa Stream Eventissä on seuraavat kentät: EventName: EventID: EventNPT: EventPrivateData: Nimi jolla asiakaspään osa tilaa tapahtuman. Tapahtuman tunniste, tämän pitää olla eri jokaiselle lähetettävälle tapahtumalle. Välittömille tapahtumille arvon pitää olla välillä 0x0001 ja 0x3FFF. Ajastetun tapahtuman ajankohta, tätä ei käytetä Korkeintaan 246 tavua dataa. Aika- ja tilatieto koodataan tähän kenttään. Tapahtuma luodaan ensin karuselliin kerran. Tämän jälkeen se voidaan laukaista useita kertoja eri tiedoilla. Luominen tehdään manuaalisesti eikä sitä varten toteuteta toistaiseksi mitään toiminnallisuutta OAVK:in. Laukaisua varten sen sijaan tehdään toiminnallisuus, joka integroidaan testikaruselliin yhdessä Digitan asiantuntijoiden kanssa Aika- ja tilatiedon koodaus Aika- ja tilatiedolle on käytettävissä 246 tavua tilaa. Tilatiedolle voidaan varata yksi tavu vaikkakin neljän tilan esittäminen vaatii vain murto-osan siitä. Aikatiedon esittäminen on hiukan monimutkaisempaa. Javassa aika esitetään yksinkertaisesti millisekunteina, siten että ajanlasku alkaa vuoden 1970 ensimmäisestä millisekunnista. Tietotyyppinä ajan säilyttämiseen Javassa käytetään 8 tavuista long muuttujaa. Tätä samaa ja kompaktia esitystä kannattaa käyttää myös ajan siirtämisessä tapahtuman mukana. Tarvitaan siis yhteensä vain 9 tavua aika- ja tilatiedon välittämiseen. Ensimmäinen tavu on tilatietotavu ja seuraavat 8 tavua sisältävät ohjelma-ajan. Seuraavassa taulukossa esitetään mitkä tilatietotavun arvot vastaavat mitäkin tilaa. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 12/19
13 Arvo 0x00 0x01 0x02 0x03 Tila Ohjelma ei ole alkanut Ohjelma on käynnissä Ohjelmassa on katko Ohjelma on loppunut Jos tilatietotavulla on jokin muu arvo kuin taulukossa määritelty on kyseessä tiedonsiirtovirhe ja tapahtuman tiedot pitää hylätä. 3.3 Ohjelmistoarkkitehtuuri, moduulit ja prosessit OAVK arkkitehtuuri on kuvattu seuraavassa erikseen lähetys- ja asiakaspään osalta Asiakaspään arkkitehtuuri Asiakaspään toteutukseen kuuluu seuraavat osat: 1. Liityntä objektikaruselliin 2. Ydin, joka pitää yllä aika- ja tilatietoa Kummatkin osat voidaan toteuttaa yhdellä Java luokalla. Liityntä objektikaruselliin tehdään tilaamalla aika- ja tilatietoa välittävä tapahtuma. Asiakaspäässä komponentti ei tarvitse omaa prosessia tai säiettä. Objektikarusellista tulevat tapahtumat päivittävät ytimessä olevaa aika- ja tilatietoa. Tämä osa toteutetaan org.digitv-synkro.programtime.receiver pakettiin Lähetyspään arkkitehtuuri Lähetyspään toteutukseen kuuluu seuraavat osat: 1. Liityntä objektikaruselliin 2. Ydin, joka pitää yllä aika- ja tilatietoa Tekninen määrittely, Ohjelma-ajanvälitys komponentti 13/19
14 3. Testikäyttöliittymä jolla aikatieto syötetään Näistä jokainen tulee toteuttaa omana osanaan siten että toteutus voidaan vaihtaa rajapintaa ja muita osia muuttamatta. Tämä koskee erityisesti liityntää objektikaruselliin. Lähetyspäässä ydin ohjaa liityntää objektikaruselliin. Ydintä ajetaan omassa säikeessä. Käyttöliittymää ajetaan myös omassa säikeessä ja käyttöliittymällä päivitetään ytimessä olevia tietoja. Ydin ja liityntä objektikaruselliin toteutetaan org.digitvsynkro.programtime.sender pakettiin. Käyttöliittymä toteutetaan org.digitvsynkro.programtime.testui pakettiin. 3.4 Moduulien kommunikointi Lukuun ottamatta kohdassa 3.2 käsiteltyä signalointia joka tehdään objektikarusellin avulla muut OAVK osat kommunikoivat keskenään Java rajapintojen yli. Seuraavassa kaaviossa on kuvattu osien välinen kommunikaatio yleisellä tasolla. Kuva 2 Tiedonkulku ohjelma-ajanvälitys komponentissa 4 UML LUOKKAKAAVIOT Tässä kappaleessa kuvataan OAVK:n ohjelmiston rakenne yksityiskohtaisella tasolla. Kuvauksessa käytetään UML luokkakaavioita. OAVK jaetaan kolmeen pakettiin: receiver, sender ja testui. Jokaisesta paketista on seuraavassa oma kaavionsa ja sannallinen kuvaus. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 14/19
15 Toteutettavan koodin kieli on englanti, mukaan lukien kommentit koodissa. Koodi kommentoidaan Javadoc kommentein, joista voidaan helposti generoida html muotoinen dokumentaatio. 4.1 Receiver paketti Kuvassa 3 näkyy receiver paketin ainoa luokka ja sen toteuttamat org.dvb.dsmcc.streameventlistener ja ProgramTime rajapinnat. Ohjelman tila ilmaistaan kokonaisluvulla joka on jokin sender paketin ProgramStates rajapinnassa määritellyistä kentistä. Kuva 3 Receiver paketin luokat ja rajapinnat Aika- ja tilatiedon välitykseen tarvittavat metodit on määritelty ProgramTime rajapinnassa, jotta toteutusluokka voidaan helposti vaihtaa tarpeen tullen. 4.2 Sender paketti Kuvassa 4 näkyy sender paketti johon kuuluvat SenderCore ja StreamEventSender luokat sekä ObjectCarouselInterface ja ProgramStates rajapinnat. SenderCore luokka pitää yllä tietoa sen hetkisestä ajasta ja lähettää aika- ja tilatietoa kymmenen sekunnin välein käyttäen ObjectCarouselInterface rajapintaa. StreamEventSender luokka Tekninen määrittely, Ohjelma-ajanvälitys komponentti 15/19
16 toteuttaa ObjectCarouselInterface rajapinnan. Rajapinnassa ProgramStates on määritelty kokonaisluku vakiot jotka vastaavat ohjelmien eri tiloja. Kuva 4 Sender paketin luokat ja rajapinnat 4.3 Testui paketti Kuvassa 5 on testui paketin luokat kuvattu yleisellä tasolla. Käyttöliittymää rakennettaessa saatetaan tarvita muitakin käyttöliittymäelementtejä, mutta alkuun tämä rakenne on riittävä. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 16/19
17 Kuva 5 Testui paketin luokat ja rajapinnat Luokka UICore on käyttöliittymän ydin ja se välittää tiedot sender paketin SenderCore luokalle. UICore toteuttaa java.lang.thread rajapinnan jotta käyttöliittymä voi itsenäisesti päivittää ruutua. UICore toteuttaa myös java.awt.event.actionlistener rajapinnan. Tämä siksi että käyttäjän toimiin voidaan reagoida. 4.4 Rinnakkaisuuden hallinta Javassa rinnakkaisuutta hallitaan synkronoimalla objekteja. Tämä synkronointi ei liity mitenkään sovelluksen ja TV-ohjelman synkronointiin. Tässä kappaleessa synkronoinnilla viitataan Javan objektien synkronointiin. Asiakaspäässä rinnakkaisuus voi tuottaa ongelmia jos OAVK:ta käyttävä sovellus käyttää sekä objektikarusellia että OAVK:ta samaan aikaan. Tämän estämiseksi vaaditaan että OAVK:ia käyttävä sovellus ei synkronoidu samaan aikaan objektikaruselliin ja OAVK:in. Lähetyspäässä komponentti pitää sisällään kaksi säiettä, ytimen ja käyttöliittymän. Näiden kahden säikeen toiminta pitää synkronoida siten että käyttöliittymä synkronoituu SenderCore luokkaan aina kun se päivittää tietoja. Jos käyttöliittymään lisätään myöhemmin toimintoja jotka ovat ytimen laukaisemia tulee synkronointi jonkin yhteisen objektin kautta. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 17/19
18 4.5 Komponentin testaus Koska MHP päätelaitteita ei ole joudutaan OAVK:n testaus tekemään aluksi työasemassa. Täällä säästetään aikaa, koska on oletettavaa että testaus on hitaampaa MHP ympäristössä. Työasema testausta varten joudutaan toteuttamaan objektikarusellia simuloiva palvelu joka välittää tapahtumia. Lisäksi joudutaan toteuttamaan yksinkertainen sovellus joka käyttää OAVK:n asiakaspään palveluita. Tämä sovellus voi olla joko graafinen tai merkkipohjainen. 5 ERITYISET TEKNISET RATKAISUT OAVK:n suunnittelussa käytetyt ratkaisut on dokumentoitu edellä. Erityistä niissä on vain tapahtumien käyttö, joka toteutetaan yhteistyössä Digitan asiantuntijoiden kautta. Lisäksi pitää huomata että kappaleessa 7 selvitetään muita mahdollisia tapoja ratkaista komponentin tarvitsema tiedonvälitys. Komponentin toipumisesta esim. sähkökatkoista ja muista vastaa pitkälti päätelaite ja objektikaruselli. Päätelaite on suunniteltu siten että käyttäjän ei tarvitse tehdä mitään sovellusten käynnistämiseksi vaan niiden käynnistämistä ohjaa objektikaruselli. Lähetyspäässä sähkökatkon tai vastaavan sattuminen on katastrofaalista koko lähetysjärjestelmälle ja siinä tapauksessa kaikki sovellukset, mukaan lukien OAVK:n, pitää käynnistää manuaalisesti uudelleen. 6 VIRHEENKÄSITTELY Asiakaspäässä voidaan kohdata seuraavia virhetilanteita: 1. Ei saada signalointitapahtumia, eikä pystytä tarjoamaan aika tietoa. Menettely: Heitetään poikkeus palvelua käyttävälle sovellukselle. 2. Saadaan tapahtuma jonka tiedot ovat virheellisiä, eli niitä ei voida tulkita kappaleessa 3 mainittujen sääntöjen perusteella. Menettely: Hylätään viallinen tapahtuma. Lähetyspäässä voidaan kohdata seuraavia virhetilanteita: 1. Ei saada yhteyttä objektikaruselliin. Menettely: Heitetään poikkeus karuselliin liittyvässä objektissa ja ilmoitetaan käyttöliittymälle sekä tulostetaan ytimestä komentoriville. 2. Käyttäjän antama syöte on virheellinen. Menettely: annetaan käyttäjälle virheilmoitus. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 18/19
19 7 HYLÄTYT RATKAISUVAIHTOEHDOT Tätä dokumenttia kirjoitettaessa ei voida olla varmoja voidaanko OAVK:n signalointi toteuttaa tapahtumien avulla. Seuraavassa käsitellään muita vaihtoehtoisia tapoja ratkaista ongelma. Nämä vaihtoehdot tulivat esille Digitan kanssa pidetyssä kokouksessa. 7.1 Hot update tiedostot Objektikarusellissa voidaan välittää tiedostoja myös välittömästi. Tavallisestihan tiedostot lähtevät pyörimään karuselliin ja ne lähetetään epämääräisen ajan kuluttua. Hot update tiedostot menevät lähetykseen välittömästi. Tiedostoon voitaisiin laittaa OAVK:n tarvitsema signalointitieto samassa muodossa kuin se laitetaan tapahtumaan. 7.2 Tyhjä MPEG-2 kuvavuo Objektikarusellissa voidaan siirtää myös vuo muotoista tietoa esimerkiksi kuvaa. Objektikarusellin läpi siirretyille kuvavirroille voidaan asettaa ohjelma-aika. Jos OAVK:n lähetyspää lähettää tyhjää kuvavirtaa objektikarusellinkautta voi vastaanottopää lukea siitä ohjelma-ajan. Tämän vuon voi mahdollisesti myös pysäyttää ja sulkea joten ohjelman tilakin voidaan välittää. Lisäksi tyhjä musta ruutu pakkautuu erittäin hyvin eikä vie kapasiteettiä objektikarusellissä. 7.3 Tekstitys Ohjelmien tekstitys synkronoidaan kuvaan, vaikkakin lähetetään erikseen. Digi-TV järjestelmässä voidaan myös tarjota tekstitys usealla eri kielellä. Jos OAVK:lle varattaisiin oma kieli, esimerkiksi OAVK_signalointi, voitaisiin sitä käyttää signalointiin. 8 JATKOKEHITYSAJATUKSIA OAVK on komponenttina yksinkertainen eikä sen kehittämiselle jatkossa näy tarvetta. Jatkossa voisi tietysti olettaa että MHP standardiin tulisi vakiona vastaava palvelu. 9 KESKENERÄISET ASIAT OAVK:n kannalta keskeneräisiä asioita ovat tällä hetkellä tapahtuma objektien luominen objektikaruselliin sekä tapahtumien laukaiseminen. Näiden toteutus riippuu pitkälti käytettävästä objektikarusellista. Digitalta on luvattu tarjota asiantuntija-apua, konhan ensimmäiset MHP päätelaitteet saadaan käyttöön. Tekninen määrittely, Ohjelma-ajanvälitys komponentti 19/19
Vaatimusmäärittely Ohjelma-ajanvälitys komponentti
Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit
LisätiedotToiminnallinen määrittely. XLet esimerkkisovellus
Toiminnallinen määrittely XLet esimerkkisovellus Versio Päiväys Tekijä Kuvaus 0.1 7.12.2001 Oskari Pirttikoski Ensimmäinen versio Toiminnallinen määrittely, XLet esimerkkisovellus 1/12 SISÄLLYSLUETTELO
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely Sisällysluettelo 1. Johdanto...5 1.1. Tarkoitus ja kattavuus...5 1.2. Tuote ja ympäristö...5 1.3. Määritelmät, termit
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely Sisällysluettelo 1. Johdanto...5 1.1. Tarkoitus ja kattavuus...5 1.2. Tuote ja ympäristö...5 1.3. Määritelmät, termit
LisätiedotKä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
LisätiedotTeknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Siirtoprotokolla
Testitapaukset - Siirtoprotokolla Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Testitapaukset...5 3.1 Ohjelma-ajan lukeminen...5 3.2 Koordinaattidatan lukeminen...5 3.3 Lähetysajan
LisätiedotTeknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet
Testitapaukset - Xlet Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 2.1 Koko järjestelmän yleiskuvaus...4 2.2 Xlet-demosovellus ja sen toimintaperiaate...5 3. Testitapaukset...6 3.1 Objektien
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia
LisätiedotTestaussuunnitelma Versio Päiväys Tekijä Kuvaus
Testaussuunnitelma Versio Päiväys Tekijä Kuvaus 0.1 15.11.01 Ville Vaittinen Ensimmäinen luonnos 0.2 10.12.01 Ville Vaittinen Kevyet päivitykset kommenttien perusteella Sisällysluettelo 1. Johdanto...3
LisätiedotOhjelmiston 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ää
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset. Riskienhallinta DTV projektissa
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Riskienhallinta DTV projektissa Riskienhallinta DTV projektissa Sivu 1/8 Sisällysluettelo 1. Riskienhallinta DTV projektissa...3 1.1. Projektin
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ätiedotTOIMINNALLINEN MÄÄRITTELY MS
TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa
LisätiedotOhjelmistojen 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
LisätiedotLiite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu
Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu
LisätiedotToteutusvaihe T2 Edistymisraportti
Toteutusvaihe T2 Edistymisraportti Sisällysluettelo 1. Projektin tila...3 1.1. Suoritetut tehtävät...4 1.2. Käytetyt menetelmät...5 1.3. Ongelmat...6 1.4. Jatkosuunnitelmat...6 Versio- ja muutoshistoria
LisätiedotT Testiraportti - järjestelmätestaus
T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria
LisätiedotCODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
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ätiedotYllä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
LisätiedotTEKNINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 2)
TEKNINEN MÄÄRITTELY Edited by Checked by Approved by Tuomo Marttila Luonnos 1 Tekninenmäärittely i Sisällysluettelo 1. JOHDANTO 2 1.1. Tarkoitus ja kattavuus 2 1.2. Tuote ja ympäristö 2 1.3. Määritelmät,
LisätiedotSeuraavat Windowsin käyttöjärjestelmäversiot tukevat Novell Filr -työpöytäsovellusta:
Novell Filr -työpöytäsovellus lueminut Huhtikuu 2015 1 Tuotteen yleiskatsaus Novell Filr -työpöytäsovelluksella voit synkronoida Novell Filr -tiedostoja tietokoneesi tiedostojärjestelmän kanssa ja muokata
LisätiedotMHP sovellusten synkronoituminen videokuvaan
Esitutkimus MHP sovellusten synkronoituminen videokuvaan Versio Päiväys Tekijä Kuvaus 0.1 5.10.2001 Mika Ståhlberg - Ensimmäinen luonnos 0.2 25.10.2001 Mika Ståhlberg - Lisätty Xlet-kehitykseen liittyvä
LisätiedotZENworks Application Virtualization 11
ZENworks Application Virtualization 11 ZENworks / perinteinen asennus ZENworks virtualisointi Ei erillistä asennusta Ei vaadita erilisiä oikeuksia Oletusasetukset mukana Eri versiot samanaikaisesti Sama
LisätiedotJä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
LisätiedotDigi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Käyttöohje
Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Käyttöohje Sisällysluettelo 1. Johdanto...4 1.1. Editorin nopea aloitus...4 2. Järjestelmän asentaminen...6 2.1. Editori...6 2.1.1. Vaatimukset...6
Lisätiedot13/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
LisätiedotValppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
LisätiedotToteutusvaihe T3 Digi-tv: Edistymisraportti
Toteutusvaihe T3 Digi-tv: Edistymisraportti Sisällysluettelo 1. Projektin tila...3 Dtv: Work done per Person (current phase)...3 Dtv: Work done per Worktype (current phase)...3 2. Suoritetut tehtävät...4
LisätiedotTIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely
Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia
LisätiedotOffice 2013 - ohjelmiston asennusohje
Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows
LisätiedotS11-09 Control System for an. Autonomous Household Robot Platform
S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on
LisätiedotTehtävä 2: Tietoliikenneprotokolla
Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli
LisätiedotL models. Tekninen määrittely. Ryhmä Rajoitteiset
Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotHarjoitustehtävät ja ratkaisut viikolle 48
Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin
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ätiedotMHP sovellusten synkronoituminen videokuvaan
Esitutkimus MHP sovellusten synkronoituminen videokuvaan Versio Päiväys Tekijä Kuvaus 0.1 5.10.2001 Mika Ståhlberg Ensimmäinen luonnos 0.2 25.10.2001 Mika Ståhlberg Lisätty Xlet-kehitykseen liittyvä luku
LisätiedotIntegrointi. 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
LisätiedotOPI-Maksut - Käyttötapaukset
OPIMaksut Käyttötapaukset Toiminnallisuudet ja käyttötapaukset: maksupalvelutoiminnot Toimeksiannon lisääminen Palveluväylä toiminto: Toimeksiannon lisääminen Yleiskuvaus Palveluväylään sallitut asiointisovellukset
LisätiedotArkkitehtuurikuvaus. 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
LisätiedotOhjelmiston toteutussuunnitelma
Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotT Testiraportti - integraatiotestaus
T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria
LisätiedotPILETTI. Tekninen vaatimusmäärittely. v. 0.2
PILETTI Tekninen vaatimusmäärittely v. 0.2 2 Sisällysluettelo 1. Yleiskuvaus... 3 2. Taustajärjestelmä... 4 3. Palvelupisteiden sovellus... 4 4. Korttisovellus ja turvaratkaisu... 4 5. Rajapinnat... 5
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ä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ätiedotEUREFin vaikutukset organisaatioiden tietojärjestelmiin
EUREFin vaikutukset organisaatioiden tietojärjestelmiin EUREF-päivä 4.9.2012 ALEKSI LESKINEN Sisältö Tietojärjestelmät ja EUREF Keskeiset haasteet EUREF-muunnoksissa EUREF-muunnosprosessin vaiheet Yhteenveto
LisätiedotProjektisuunnitelma Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Projektisuunnitelma Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1 Projektin tavoite...4 1.2 Projektin kattavuus...4 1.3 Tuote ja ympäristö...5 1.4
LisätiedotDigitaalinen Televisio
Digitaalinen Televisio Digitaalinen Televisio 1. Lähetystekniikka ja standardit 2. MHP 3. Interaktiivinen Televisio 4. Vastaanottimet 5. Tulevaisuuden trendit Lähetystekniikka ja standardit DVB = Digital
LisätiedotTestiraportti - Koordinaattieditori
Testiraportti - Koordinaattieditori Versio Päiväys Tekijä Kuvaus 3.1 22.03.02 Ville Vaittinen T3 vaiheen 1. testattava editori Sisällysluettelo 1. Testien suoritus... 3 2. Testitapaukset... 4 2.1 Uuden
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat
Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
LisätiedotEMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille 13.6.2008. Meeri Nieminen
EMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille 13.6.2008 Meeri Nieminen Asiakkaan vaihtoehdot Asiakkaan vaihtoehdot EMCS-järjestelmän käyttöön XML-sanomarajapinta oman järjestelmän
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ätiedotUutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3
Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2
LisätiedotLiikennetiedotus digi-tv:ssä -pilottiprojekti
Liikennetiedotus digi-tv:ssä pilottiprojekti Liikennetelematiikan kansallinen arkkitehtuuri 1.0 27.1.2005 Liikennetiedotus digi-tv:ssä -pilottiprojekti Tavoite Arkkitehtuuri kuvaa, kuinka liikennetiedot
Lisätiedot812347A 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.
LisätiedotOhjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien
LisätiedotTentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
LisätiedotOhjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
LisätiedotTeknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori
Testitapaukset - Koordinaattieditori Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Toiminnallisuuden testitapaukset...5 3.1 Uuden projektin avaaminen...5 3.2 vaa olemassaoleva projekti...6
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ätiedotLoppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio
1 Loppuraportti Virtuaali-Frami, CAVE-ohjelmisto Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu Versio 1.0 15.1.2006 2 Sisällys Tiivistelmä... 3 1 Johdanto... 4 1.1 Dokumentin tarkoitus...
LisätiedotAndroid ohjelmointi. Mobiiliohjelmointi 2-3T5245
Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille
Lisätiedoterasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi)
erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi) Sisällysluettelo 1 erasmartcard 3 2 erasmartcard-ohjelmiston normaali asennus 4 2.1 Ennen asennusta 4 2.2
LisätiedotOsaa käyttää työvälineohjelmia, tekstinkäsittelyä taulukkolaskentaa ja esitysgrafiikkaa monipuolisesti asiakasviestintään.
TIETO- JA VIESTINTÄTEKNIIKKA OSAAMISTARJOTIN 1.8.2018 31.12.2018 29.6.2018 1 Sisällys... 1 Työvälineohjelmat... 2 peruskäyttö, 7 osp... 2 tehokäyttö, 8 osp... 2 Käyttöjärjestelmät... 3 käyttöjärjestelmän
LisätiedotTavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.
RUUTU DYNAAMINEN SPOTTI TEKNISET OHJEET Versio 1.0 Yleistä Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja. Dynaamiset spotit ovat flash mainoksia, jotka mahdollistavat
LisätiedotL models. Käyttöohje. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1
LisätiedotTietojärjestelmän osat
Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto
LisätiedotPertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013
Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi
LisätiedotCUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
LisätiedotTestausdokumentti. 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
Lisätiedotwww.solita.fi solita@solita.fi
www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen
LisätiedotPoikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group
1.10.2010 1(15) Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group Graanintie 7 Tel. + 358 15 338 800 FIN-50190 MIKKELI Fax + 358 15 338 810 VERSIOHISTORIA Versio Pvm Tekijä Selite 1.0
LisätiedotRajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
LisätiedotTentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
LisätiedotUudelleenkäytön jako kahteen
Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta
LisätiedotPalomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri
Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.
LisätiedotJä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,
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri
Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio
LisätiedotYlläpitodokumentti Mooan
Ylläpitodokumentti Mooan Helsinki 16.08.06 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op/6ov) Projektiryhmä Heikki Aitakangas
LisätiedotLiite D: Poikkeamispäätösten ja suunnittelutarveratkaisujen mallinnus tiedonsiirtoa varten
Liite D: Poikkeamispäätösten ja suunnittelutarveratkaisujen mallinnus tiedonsiirtoa varten Versio: 18.10.2011 Julkaistu: 27.10.2011 Voimassaoloaika: Toistaiseksi Sisällys 1 Johdanto... 2 1.1 Poikkeamispäätös
LisätiedotSisä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.
LisätiedotProjektisuunnitelma Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Projektisuunnitelma Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1 Projektin tavoite...4 1.2 Projektin kattavuus...4 1.3 Tuote ja ympäristö...5 1.4
LisätiedotWeb-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.
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet
Järjestelmäarkkitehtuuri (TK081702) Integraation tavoitteita Lähtökohta Web-palvelut Asiakasrekisteri ERP, Tuotannon ohjaus Tuotanto Myynti Intranet Extranet? CRM Johdon tuki Henkilöstö Kirjanpito Palkanlaskenta
LisätiedotJReleaser 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ä
LisätiedotTIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
LisätiedotKehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy
Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua
LisätiedotTekninen 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
LisätiedotT Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1
T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi
LisätiedotCopyright by Haikala. Ohjelmistotuotannon osa-alueet
Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary
LisätiedotOppimistavoitteet kurssilla Rinnakkaisohjelmointi
17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman
LisätiedotHakemistojen sisällöt säilötään linkitetyille listalle.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ
LisätiedotAutoCAD-natiiviobjektin toteutus
AutoCAD-natiiviobjektin toteutus Kontiotuote OY Maailman toiseksi suurin hirsitalotoimittaja Aloittanut toimintansa 70-luvulla Liikevaihto vuonna 2003-37,355 Milj. euroa josta vientiä 7,376 Milj. euroa
LisätiedotIT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT
IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.
LisätiedotOhjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.
TIETOKANTA MERIKOTKIEN SEURANTAAN Käyttöohje Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 11.12.2007 Ensimmäinen luonnos Janne Piippo 2.0 13.12.2007 Virallinen verio Janne Piippo HELSINGIN YLIOPISTO
LisätiedotNspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen
Nspire CAS - koulutus Ohjelmiston käytön alkeet 3.12.2014 Pekka Vienonen Ohjelman käynnistys ja käyttöympäristö Käynnistyksen yhteydessä Tervetuloa-ikkunassa on mahdollisuus valita suoraan uudessa asiakirjassa
Lisätiedoterasmartcardkortinlukijaohjelmiston
erasmartcardkortinlukijaohjelmiston asennusohje Sisällysluettelo 1. erasmartcard... 2 2. erasmartcard-ohjelmiston normaali asennus... 3 2.1. Ennen asennusta... 3 2.2. Asennus... 3 3. Muut asennustavat...
Lisätiedot