Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely
|
|
- Sanna Mikkonen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely
2 Sisällysluettelo 1. Johdanto Tarkoitus ja kattavuus Tuote ja ympäristö Määritelmät, termit ja lyhenteet Viitteet Yleiskatsaus dokumenttiin Järjestelmän yleiskuvaus Sovellusalueen kuvaus...9 Järjestelmän liittyminen ympäristöönsä Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Xlet-esimerkkisovellus Laitteistoympäristö Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Xlet-esimerkkisovellus Ohjelmistoympäristö Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Xlet-esimerkkisovellus Toteutuksen keskeiset reunaehdot Sopimukset ja standardit Arkkitehtuurin kuvaus Ratkaisun suunnitteluperiaatteet Editori Ohjelma-ajanvälitys komponentin erityispiirteet Koordinaattien välityskomponentin erityispiirteet Tietokanta-arkkitehtuuri Ohjelmistoarkkitehtuuri, moduulit ja prosessit Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Moduulien kommunikointi Editori Ohjelma-ajanvälitys komponentti Koordinaattien välityskomponentti Luokkakuvaukset: Editori Com.digita.digitv...21 Tekninen määrittely 2
3 MPEGContainer CoordinateObject RectangleCoordinateObject OvalCoordinateObject Com.digita.digitveditor EditorFrame ObjectList ObjectListItem ProjectSettingsDialog OpenProjectDialog EditorFileFilter PlaybackSettingsDialog CustomFocusManager RecentFiles ObjectPropertiesDialog LoadingWindow Project Luokkakuvaukset: Ohjelma-ajanvälityskomponentti Receiver-paketti Sender-paketti Testui-paketti Rinnakkaisuuden hallinta Luokkakuvaukset: Koordinaattien välityskomponentti converter paketti sender paketti receiver paketti common paketti Luokkakuvaukset: Xlet-esimerkkisovellus MyXlet XletCanvas Erityiset tekniset ratkaisut Editorin MPEG-2-videon käsittely Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Virheenkäsittely Editorin virheenkäsittely Ohjelma-ajan välityskomponentin virheenkäsittely Koordinaattien välityskomponentin virheenkäsittely Hylätyt ratkaisuvaihtoehdot Editorin MPEG-2 videon käsittely GPL-lisenssin alainen dekooderi Videon purku DirectShown avulla Hahmontunnistus OAVK...37 Tekninen määrittely 3
4 Hot update tiedostot Tyhjä MPEG-2 kuvavuo Tekstitys Jatkokehitysajatuksia Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti...38 Versio- ja muutoshistoria Versio Päiväys Tekijä Kuvaus Pekka Koskinen Ensimmäinen luonnos Pekka Koskinen Lisätty Editorin luokat Pekka Koskinen Lisätty KVK:n osuus Pekka Koskinen Muokkausta ryhmän kommenttien pohjalta Pekka Koskinen Lisätty OAVK:n osuus Ville Vaittinen Muutettu siirtotiedoston määrittelyä Pekka Koskinen Yleispäivitys Pekka Koskinen Direct-X => JMF Pekka Koskinen Luokkakaavion päivitys Pekka Koskinen Viimeistelyä Pekka Koskinen Xlet-osuuden lisäys Tallennettu: :42 Tulostettu: :09 Tekninen määrittely 4
5 1. Johdanto 1.1. Tarkoitus ja kattavuus Teknisen määrittelyn tarkoituksena on suunnitella ja dokumentoida järjestelmän tekninen ratkaisu toteuttamista varten. Tämä dokumentti pitää sisällään koko järjestelmän arkkitehtuurin ja se on tehty erillisten editorin, ohjelma-ajan välityskomponentin, koordinaattien välityskomponentin teknisten määrittelyjen sekä Xlet-esimerkkisovelluksen toiminnallisen määrittelyn pohjalta [1,2, 3, 4]. Dokumentissa esitetty ohjelmistojen rakenne kattaa koko järjestelmän ja se on tarkoitettu avustamaan komponentin ohjelmointia ja lisäksi dokumentoimaan tehdyt tekniset ratkaisut. Dokumentti on suunnattu siis lähinnä järjestelmän toteuttajille, mutta myös niille jotka mahdollisesti ovat mukana jatkokehittämässä järjestelmää myöhemmin. Tässä dokumentissa kuvataan järjestelmän tekniset ongelmat ratkaisuineen ja eri komponentit toteuttavien ohjelmistojen rakenne Tuote ja ympäristö Tässä ohjelmatyössä toteutetaan sovellusalusta, jolla voidaan lisätä Digi-TV ohjelmien interaktiivisuutta. Ohjelmiin lisätään aktiivisia alueita, joita klikkaamalla kasoja laukaisee toiminnon ja saa esimerkiksi lisätietoa alueen alla olevasta henkilöstä tai objektista. Järjestelmä jakautuu neljään osaan: Editoriin, ohjelma-ajan välityskomponenttiin, koordinaattien välityskomponenttiin sekä vastaanottimessa pyörivään XLet-esimerkkisovellukseen. Järjestelmä sijoittuu kokonaisuudessaan Digi-TV ympäristöön ja sen tehtävänä on mahdollistaa tv-ohjelman kanssa synkronoitujen lisäpalveluiden tuottaminen ja toteuttaminen. Järjestelmä on kuvattu tarkemmin projektisuunnitelmassa [5]. Editori on editointityökalu, jonka avulla voidaan muodostaa tv-kuvasta parametri-informaatiota koordinaattimerkinnöiksi sekä synkronoida tämä tieto tiettyyn tv-kuvan hetkeen. Editori on esitetty yleisellä tasolla projektisuunnitelmassa, vaatimusmäärittelyssä sekä toiminnallisessa määrittelyssä [5, 6, 7]. Editointityökalua käyttää palveluntarjoaja. Käyttäjät ovat yksittäisiä eri palveluntarjoajien sisällöntuottajia. Työkalua käytetään studiossa, jossa lisäarvopalveluita tuotetaan. Editorin toiminta on kuvattu tarkemmin toiminnallisessa määrittelyssä [6]. Tekninen määrittely 5
6 Ohjelma-ajan välityskomponentin (OAVK) tehtävänä on tarjota vastaanottimen sovellukselle tarkka ohjelma-aika siten, että sovellus voi määrätyssä kohtaa ohjelmaa tarjota halutun ohjelmaan liittyvän lisäominaisuuden. Komponentin käyttäjiä ovat asiakaspäässä Java-sovellus ja lähetyspäässä ohjelman lähetyksestä vastaava henkilö tai lähetysjärjestelmä. Ohjelma-ajan välityskomponentin toiminta on kuvattu vaatimusmäärittelyssä [8]. Koordinaattien välityskomponentin (KVK) tehtävänä on välittää objektitietoa eli tietoa ruudun aktiivisista alueista. Tieto välitetään sovellukselle, joka määrittelee alueeseen liittyvän toiminnon eli sisällön. XLet-esimerkkisovelluksen tehtävänä on esitellä projektissa tuotetun synkronointijärjestelmän ominaisuuksia, jotka ovat ohjelma-ajan välitys ja aktiivisten alueiden muuttuminen tv-ohjelman mukaan. Xlet:tejä ladataan ohjelman lähettäjän toimesta katsojan päätelaitteisiin ja niiden avulla katsojalle voidaan tarjota vuorovaikutteisuutta lisääviä toimintoja. Xletesimerkkisovelluksen toiminta on määritelty toiminnallisessa määrittelyssä [4] Koska järjestelmä on tässä vaiheessa tutkimusluonteinen, ei siihen kuuluvilla tuotteilla ei vielä tässä vaiheessa kaupallisia nimiä, vaan niitä kutsutaan tässä vaiheessa editoriksi, ohjelma-ajan välityskomponentiksi, koordinaattien välityskomponentiksi sekä Xlet-esimerkkisovellukseksi Määritelmät, termit ja lyhenteet Koko projektiin liittyvät määritelmät, termit ja lyhenteet on esitetty erillisessä dokumentissa[9]. Niistä tärkeimmät ja tähän dokumenttiin liittyvät on esitetty oheisessa taulukossa. DVB Koordinaattiobjekti KVK MPEG-2 Digital Video Broadcasting: organisaatio, joka on kehittänyt digitaalisten TV-lähetysten standardeja Euroopassa. DVB:ssä on yli 200 jäsentä yli 25 maassa. Videokuvaan lisätty objekti, jolla voi olla erilaisia ominaisuuksia. Liittyy tiettyyn ajanhetkeen. Alkuvaiheessa suorakulmio tai ellipsi. Koordinaattien välityskomponentti 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. Tekninen määrittely 6
7 MHP NPT OAVK Objektitieto OC Ohjelma-aika MUX STB Projekti Stream Event UML Xlet 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ää sovellusten ja TVohjelmien synkronoinnissa. Katso myös Ohjelma-aika. Ohjelma-ajan välityskomponentti Tieto ruudulla esiintyvästä aktiivisesta alueesta. 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. Multiplekseri Set-Top-Box eli digi-tv vastaanotin, digiboksi Videokuvan ja siihen liittyvien aikaan sidottujen koordinaattitietojen ja geometristen objektien yhdistelmä 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 Viitteet Tekninen määrittely perustuu seuraaviin muihin projektiryhmän tuottamiin dokumentteihin: [1] Tekninen määrittely: Editori 0.1, [2] Tekninen määrittely: Ohjelma-ajanvälitys 0.3, [3] Tekninen määrittely: Koordinaattilukija 0.1, [4] Toiminnallinen määrittely: Xlet-esimerkkisovellus 0.1, [5] Projektisuunnitelma 1.11, [6] Toiminnallinen määrittely: Editori 1.0, [7] Vaatimusmäärittely 1.0, [8] Vaatimusmäärittely: Ohjelma-ajanvälitys komponentti 0.3, [9] Määritelmät ja termit [10] Selvitys GPL-lisenssoinnin tuomat ongelmat 0.1, [11] Tekninen määrittely 0.7, Tekninen määrittely 7
8 Lisäksi dokumentissa viitataan seuraaviin standardeihin: [12] MHP 1.0.1, ETSI TS v [13] JAE API Java 1.1 API Specification 1.5. Yleiskatsaus dokumenttiin Dokumentti jakautuu kahteentoista eri lukuun. Ensimmäinen luku on johdanto ja se kuvaa dokumentin tarkoitusta ja laajuutta sekä esittelee tuotteen pääpiirteittäin. Lisäksi se esittelee dokumentissa käytettävät määritelmät, termit ja lyhenteet. Toinen luku pitää sisällään yleiskuvauksen toteutettavasta järjestelmästä sekä kuvaa asiakkaan ympäristön ja sovellusalueen. Kolmannessa luvussa käsitellään järjestelmän arkkitehtuuria. Arkkitehtuuri kuvataan yleisellä tasolla: ylimmän käsitetason moduulit ja niiden väliset liittymät. Myös kaikki fyysiset tiedostot ovat näkyvillä tässä luvussa. Luku jakautuu suunnitteluperiaatteisiin, tietokanta-arkkitehtuuriin, ohjelmistoarkkitehtuuriin (luokkakaavio) sekä luokkien väliseen kommunikointiin. Neljännessä, viidennessä, kuudennessa ja seitsemännessä luvuissa käydään läpi yksityiskohtaisesti luokkakuvaukset. Luokkakuvaukset on jaettu eri lukuihin siten, että kunkin järjestelmän osan kuvaukset on esitetty omassa luvussaan. Kustakin luokasta esitetään sen yleiskuvaus, rajapinnat ja liittymät, rakenne ja toteutus sekä virhekäsittely. Kahdeksas luku kuvaa erityiset tekniset ratkaisut. Ne voivat liittyä esimerkiksi suojauksiin, turvallisuuteen, varmistuksiin, toipumisiin, ylläpidettävyyteen, joustavuuteen, siirrettävyyteen tai kannettavuuteen Yhdeksäs luku kuvaa virheenkäsittelyn. Kymmenenteen lukuun on dokumentoitu hylätyt ratkaisuvaihtoehdot perusteluineen. Yhdennessätoista luvussa esitetään järjestelmän jatkokehitysajatuksia. Tekninen määrittely 8
9 2. Järjestelmän yleiskuvaus Tässä kappaleessa kuvataan järjestelmän toimintaympäristöä kokonaisuuden, laitteiden ja ohjelmistojen osalta Sovellusalueen kuvaus Järjestelmän tehtävänä on tukea vuorovaikutteisten tv-ohjelmien tuottamista ja toteutusta digi-tv ympäristössä. Sen tehtävänä on tarjota tv-katsojalle lisäpalveluita lähetettävän ohjelman sisällöstä riippuen. Sovellukselle välitetään tietoa ruudulla olevista alueista, joita klikkaamalla katsoja saa esimerkiksi lisätietoa valitsemastaan henkilöstä. Itse digi-tv ympäristö on kuvattu tarkemmin projektisuunnitelmassa sekä koko projektin vaatimusmäärittelyssä [5, 7]. Järjestelmään kuuluvan editorin avulla tuotetaan kuvaan liittyvää lisäinformaatiota. Sen tuottama data tallennetaan tiedostoon, josta se lähetetään siirtoverkon yli TV-katsojan digiboksissa käynnissä olevalle sovellukselle. Projektin yhteydessä tuotetaan editorin lisäksi siirtomenetelmä tiedostojen ja synkronointi-informaation siirtämiseksi sekä yksinkertainen sovellus vastaanottimeen demonstroimaan siirrettävää informaatiota ja sen synkronointia tv-kuvaan. Ohjelma-ajan välityskomponentti välittää ohjelma-ajan lähetyspäästä asiakkaan päässä olevalle sovellukselle. Lähetyspäässä komponentti saa tiedon joko testaukseen tarkoitetulta käyttöliittymältä tai automaattiselta lähetysjärjestelmältä. Komponentin käyttöympäristö on DVB:n määrittelemä Digi-TV järjestelmä, jossa asiakkaan päätelaitteet ovat DVB-MHP yhteensopivia. Koordinaattien välityskomponentti välittää sovelluksesta riippumatonta objektitietoa eli tietoa ruudulla sijaitsevista aktiivialueista. Lähetyspään toimintaympäristö on Windows tai Linux-käyttöjärjestelmällä varustettu PC, jossa toimii objektikaruselli. Liitäntä karuselliin on valmistajakohtainen. Vastaanottopäässä ympäristö on MHP-standardin mukainen päätelaite. Xlet-esimerkkisovelluksen tehtävänä on demota järjestelmän toimivuutta. Sovellus toimii MHP-standardin mukaisessa päätelaitteessa. Tekninen määrittely 9
10 2.2. Järjestelmän liittyminen ympäristöönsä Järjestelmän arkkitehtuuri on esitetty kuvassa 2.1. Kuva 2.1. Järjestelmän arkkitehtuuri Editori Editori toimii täysin itsenäisenä sovelluksena. Sen tuottama siirtotiedosto siirretään objektikarusellin avulla tv-vastaanottimen sovelluksen käyttöön Ohjelma-ajan välityskomponentti Ohjelma-ajan välityskomponentti (OAVK) liittyy digitv-verkon lähetyspäässä objektikaruselliin ja vastaanottopäässä vastaanottimen javavirtuaalikoneeseen. Editointityökalun tuottama koordinaattimerkinnät sisältävä tiedosto voidaan siirtää digi-tv:n tarjoamaan tiedostojen siirtojärjestelmän objektikarusellin avulla vastaanottimen sovellukselle. OAVK koostuu kahdesta osasta lähetyspäässä olevasta lähetysosasta (OAVK Server) ja asiakkaan päätelaiteessa olevasta vastaanotto-osasta (OAVK Client) Koordinaattien välityskomponentti Koordinaattien välityskomponentti (KVK) on osa sovellusten synkronointijärjestelmää. KVK koostuu kahdesta osasta lähetyspäässä olevasta lähetysosasta (KVK Server) ja asiakkaan päätelaiteessa olevasta vastaanotto-osasta, koordinaattilukijasta (KVK Client). Tekninen määrittely 10
11 Xlet-esimerkkisovellus Esimerkkisovellus toimii täysin itsenäisenä sovelluksena vastaanottimessa Laitteistoympäristö Editori Editori toimii työasemassa, jolla on seuraavat vaatimukset: - Mikä tahansa Java virtuaalikoneen mahdollistama prosessori - Näytön vähimmäiskoko 17, suositeltu koko 19 - Näytön tulee pystyä 1280 * 1024 resoluutioon Näytön osalta vaatimukset ovat suosituksia. Editoria voi käyttää myös tietokoneissa, joissa on pienempi ja heikomman resoluution omaava näyttö Ohjelma-ajan välityskomponentti Asiakaspään laitteiston edellytykset: - MHP yhteensopiva Tarkempaa kuvaa itse päätelaitteesta ei voida anaa, koska valmistajilla on vapaus toteuttaa päätelaitteensa omalla tavallaan. Erityisesti tulee huomata, että projektissa toteutettava järjestelmä ei tule mitenkään riippumaan laitteistototeutuksista, vaan käyttää MHP mukaisia palveluita ja rajapintoja. Erityisesti on huomioitava, että tällä hetkellä markkinoilla ei ole saatavilla yhtään MHP:tä tukevaa päätelaitetta. Lähetyspään laitteistoympäristön edellytykset: - Intel x86 PC tietokone Koordinaattien välityskomponentti Vastaanottopään laiteympäristö on määritelty MHP standardin mukaiseksi, ottamatta tarkemmin kantaa itse laitteistoon. Erityisesti tulee huomata että koko projektissa toteutettava järjestelmä, ei tule mitenkään riippumaan laitteistototeutuksista, vaan käyttää MHP mukaisia palveluita ja rajapintoja. Lähetyspään laiteympäristö on Windows tai Linux käyttöjärjestelmällä toimiva PC. Tämä riippuu mahdollisesti objektikarusellin toimittajasta Xlet-esimerkkisovellus - MHP yhteensopiva päätelaite Tekninen määrittely 11
12 2.4. Ohjelmistoympäristö Editori Editori toimii työasemassa, jossa on seuraavat ohjelmistot: - Mikä tahansa Java virtuaalikoneen mahdollistama käyttöjärjestelmä - JRE tai JDK JMF JRE on satavilla osoitteesta: JMF on satavilla osoitteesta: Ohjelma-ajan välityskomponentti Asiakaspään laitteiston ohjemistoedellytykset: - MHP ohjelmistoympäristö Erityisesti on huomioitava se, että koska MHP päätelaitteita ei toistaiseksi ole saatavissa, ei testausta voida suorittaa kohdeympä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ön edellytykset: - Windows tai Linux käyttöjärjestelmä - Objektikaruselli Koordinaattien välityskomponentti Asiakkaan päätelaitteessa on tarkasti määritelty MHP ohjelmistoympäristö. Se 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 Tekninen määrittely 12
13 pelkkä kaukosäädin. Tiedonsiirtoon liittyvät muutokset johtuvat lähinnä siitä että tiedonsiirto on oletusarvoisesti yksisuuntaista. Yksisuuntainen tiedonsiirto toteutetaan objektikarusellin avulla. Lähetyspäässä ohjelmistoympäristö on Windows tai Linux käyttöjärjestelmä, sekä objektikaruselli sovellus johon lähetysosa liitetään. Rajapinta objektikaruselliin riippuu objektikarusellin toteutuksesta ja rajapintaa ei ole standardoitu. Tästä syystä asiakas on lupautunut avustamaan KVK:n integroinnissa objektikaruselliin ja tämä integrointi voidaan yksityiskohdiltaan jättää pois tästä dokumentista Xlet-esimerkkisovellus Sovelluksen ohjelmistoympäristön edellytyksenä on MHP ympäristö Toteutuksen keskeiset reunaehdot Järjestelmälle asetetut keskeiset reunaehdot on kuvattu eri osien vaatimusmäärittelyissä [7, 8]. Tärkeimpänä esiin tulee synkronoinnin tarkkuus. Reunaehtojen osalta on kuitenkin huomattava että kyseessä on prototyyppi synkronoiduista sovelluksista, eikä voida varmasti tietää mitkä kaikki ominaisuudet ovat oikeasti toteutettavissa. Lisäksi on huomioitava, että vastaanotto-osat, jotka tulevat asiakaan päätelaiteeseen, on tarkoitus suunnitella mahdollisimman yksinkertaiseksi. Syynä tähän on rajattu muisti- ja prosessorikapasiteetti päätelaiteessa Sopimukset ja standardit Järjestelmään toteutettavien ohjelmistojen rakenne kuvataan UML kuvauskielellä. Ohjelmisto on kokonaisuudessaan melko suppea ja UML kaaviot riittävät sen kuvaamiseen. OAVK:n ja KVK:n tietoliikenne kuvataan sannallisesti ja esimerkein. Mitään erityistä menetelmää ei käytetä. Ohjelmointikielen osalta tv-katsojan päätelaite asettaa ohjelmointikielivaatimukseksi Javan version 1.1. Päätelaite tukee MHP ympäristöä, joka on Digi-TV päätelaitteille muunneltu versio Java 1.1 ympäristöstä. [12, 13] Järjestelmän omistusoikeudet ja dokumentaation luottamuksellisuus on määritelty koko projektin osalta projektisuunnitelmassa [5]. Tekninen määrittely 13
14 3. Arkkitehtuurin kuvaus Edellisessä luvussa kuvattiin järjestelmä kokonaisuutena. Tässä luvussa keskitytään sen eri komponenttien tarkempaan kuvaamiseen ohjelmistojen rakenteen ja tiedonsiirron kannalta Ratkaisun suunnitteluperiaatteet Suunnittelu perustuu oliosuunnitteluun, koska järjestelmän ohjelmointikielenä on Java. Lähtökohtana suunnittelussa on hyödyntää Javan valmiita kirjastoja mahdollisimman tehokkaasti. Modulaarisuus on toinen suunnittelun perusta. Selkeiden rajapintojen käyttö toteutuksessa helpottaa eri osien itsenäistä toteuttamista ja yhteen liittämistä Editori Editori rakentuu arkkitehtuurisesti käyttöliittymään sekä videokuvan ja objektien piirrot toteuttavaan osaan Ohjelma-ajanvälitys komponentin erityispiirteet 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ä. OAVK suunnitellaan yleiskäyttöiseksi siten, että sitä voivat hyödyntää kaikki ohjelma-aikaa tarvitsevat sovellukset. OAVK:n erityispiirteitä on käsitelty tarkemmin sen omassa teknisessä määrittelyssä [2]. OAVK:n suunnitteluun liityy myös signalointi lähetys- ja asiakaspään välillä. Signaloinnin tavoitteena on välittää tieto ohjelma-ajasta ja ohjelman tilasta ja myös se on kuvattu tarkemmin OAVK:n teknisessä määrittelyssä [2] Koordinaattien välityskomponentin erityispiirteet Koordinaattien välityskomponentin arkkitehtuuri jakautuu ylemmällä tasolla kahteen osaan: lähetys- ja vastaanottopäähän. Lähetyspään tehtävinä on objektitiedon lukeminen yhdestä ASCII tiedostosta, tiedon tallentaminen binäärimuotoon useampaan pienempään tiedostoon ja binääritiedostojen lähettäminen yksitellen objektikarusellin avulla päätelaiteessa olevalle vastaanotto-osalle. Vastaanottopään tehtävänä on lukea objektikarusellin tiedostojärjestelmästä yksi binääritiedosto kerrallaan ja luetun objektitiedon perusteella ilmoittaa sovellukselle ruudulla esiintyvistä objekteista. Olennaisin piirre ratkaisussa on että KVK:n kaksi eri osaa kommunikoivat keskenään yksisuuntaisesti tiedostojärjestelmän avulla. Tiedostot soveltuvat kommunikointiin hyvin seuraavista syistä: Tekninen määrittely 14
15 Objektitiedon välityksen ei tarvitse olla reaaliaikaista, Objektitietoa on todennäköisesti paljon ja Kaikkien objektikarusellien voidaan olettaa tukevan tiedostojen välitystä 3.2. Tietokanta-arkkitehtuuri Editori tallentaa projektin omaan tiedostoonsa (ASCII-tiedosto), joka tämän jälkeen konvertoidaan siirtotiedostoksi (binääritiedosto). Yleisesti voidaan todeta että ASCII tiedostossa on kaikki koko ohjelman aikana ruudulla esiintyvät objektit ja tiedoston koko voi olla tästä syystä suuri. Objektikarusellissa halutaan välittää pienempiä kokonaisuuksia ja tästä syystä tieto koodataan binääriseen muotoon ja lähetetään rajatun kokoisissa paloissa. Yhdessä binääritiedostossa on objektidata 1250 framen ajalle. Järjestelmä toteutetaan siten että tätä kokoa voidaan helposti vaihtaa. ASCII muotoinen objektitietorakenne sisältää tiedon seuraavista objektiin liittyvistä parametreista. time = [0..2^32] id = [ ] state = [show, hide, done] x = [ ] y = [ ] dx = [ ] dy = [ ] shape = [circle, triangle, rect, point] time : sisältää eventin ajanhetken millisekunteina ohjelman alkamisesta id : objektin uniikki id state: objektin tila x : objektin keskipisteen x-koordinaatti y : objektin keskipisteen x-koordinaatti dx : objektin leveys (arvo merkityksetön objektimuodolle point) dy : objektin korkeus (arvo merkityksetön objektimuodolle point) shape : objektin muoto Tiedostossa eri objektit on eritelty toisistaan tyhjällä rivillä. Esimerkki: time = // 0h 1 min 12 sek 123 msec id = state = 1 x = 200 y = 300 w = 150 h = 150 Tekninen määrittely 15
16 shape = rect Binääritiedostossa objektitietorakenne koostuu 128:stä bitistä, mitkä jakautuvat seuraavasti eri kenttien välillä. Bitit data kentän koko/bittiä Arvot time id state x y dx dy shape Eri tilojen numeroarvot vastaavat seuraavia tiloja: 0 = show, 1 = hide ja 2 = done. Vastaavasti eri muotojen numeroarvot: 0 = circle, 1 = triangle, 2 = rect ja 3 = point. Binääritiedostossa objekteja ei erotella toisistaan, koska objektit ovat määrämittaisia. Binääritiedosto alkaa 16 bittisellä tiedoston numerolla, joka on juokseva numero alkaen nollasta jokaisen ohjelman alussa. ASCII tiedoston jäsennys sekä binääritiedoston tuottaminen ja jäsennys ovat toteutettu KVK:ssa. Konversio ASCII tiedostosta binääritiedostoiksi on melko suoraviivainen. Ainoa muutos joka tehdään on tiedon paloittelu useaan binääritiedostoon Ohjelmistoarkkitehtuuri, moduulit ja prosessit Editori Editori koostuu käyttöliittymästä sekä videokuvan ja objektien piirrot toteuttavasta osasta. Editori käyttöliittymineen on toteutettu Javalla Ohjelma-ajan välityskomponentti OAVK:n arkkitehtuuri on kuvattu erikseen lähetys- ja asiakaspään osalta. Tekninen määrittely 16
17 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 toteutukseen kuuluu seuraavat osat: 1. Liityntä objektikaruselliin 2. Ydin, joka pitää yllä aika- ja tilatietoa 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.digitv-synkro.programtime.sender pakettiin. Käyttöliittymä toteutetaan org.digitv-synkro.programtime.testui pakettiin. Tekninen määrittely 17
18 Koordinaattien välityskomponentti Koordinaattien välityskomponentin toiminnalliset osat on esitetty kuvassa 3.1. Kuva 3.1. Koordinaattien välityskomponentin toiminnalliset osat. Kuvan 3.1 vasemmassa reunassa on KVK:n lähetyspää ja oikeassa reunassa vastaanottopää. Keskellä kuvaa on tiedostoja välittävä objektikaruselli OC. Koordinaattitieto luetaan ensin ASCII tiedostosta ja siitä luodaan ObjectEvent objekteja jotka voidaan muuntaa binääri muotoon. Binääritiedostoja syntyy mahdollisesti useampia, riippuen objektitiedon määrästä. Muunto binääritiedostoiksi tehdään ennen ohjelman alkamista. Lähettäjä, eli Sender lähettää binääritiedostot yksi kerrallaan objektikaruselliin. Tämä tehdään ohjelman lähetyksen yhteydessä, hyvissä ajoin ennen kuin tiedostossa määritellyt objektit pitää esittää ruudulla. Vastaanottopäässä binäärinen objektitieto jäsennetään ja siitä luodaan ObjectEvent objekteja. Objekteille on määritelty ohjelma-aika, jonka koittaessa sovellus saa tiedon ruudulla esiintyvästä objektista. Tieto välitetään Java objektina, jonka muoto määritellään tässä dokumentissa myöhemmin. Tekninen määrittely 18
19 3.4. Moduulien kommunikointi Editori Editorin eri moduulien kommunikointi on kuvattu luokkakuvauksien yhteydessä Ohjelma-ajanvälitys komponentti Objektikarusellin avulla toteutettavaa signalointia lukuunottamatta komponentin osat kommunikoivat keskenään Java-rajapintojen yli. Seuraavassa kaaviossa on kuvattu osien välinen kommunikaatio yleisellä tasolla. Kuva 3.2. Tiedonkulku ohjelma-ajan välityskomponentissa Koordinaattien välityskomponentti Moduulien kommunikointi on kuvattu luokkakuvauksien yhteydessä. Tekninen määrittely 19
20 4. Luokkakuvaukset: Editori Tässä kappaleessa kuvataan Editorin ohjelmiston rakenne yksityiskohtaisella tasolla. Kuvauksessa käytetään UML-luokkakaavioita. Editori jaetaan kahteen pakettiin: org.digitv-synkro.digitveditor, org.digitv-synkro.digitv. Toteutettavan koodin kieli on englanti, mukaan lukien kommentit koodissa. Koodi dokumentoidaan Javadockommentein, josta voidaan helposti generoida html-muotoinen dokumentaatio. Kukin paketti kuvataan erikseen siihen kuuluvien luokkien osalta. Kaikkien luokkien osalta käydään läpi luokkien yleiskuvaus, rajapinnat ja liitännät, rakenne ja toteutus sekä mahdollinen virheenkäsittely. Kuva 4.1 Editorin luokkakaavio. Tekninen määrittely 20
21 4.1. Com.digita.digitv MPEGContainer MPEGContainer on editorin keskeisin luokka. Se toteuttaa Editorin työskentelyalueen piirtämällä valitun videokuvan ja sen sisältämät koordinaattimerkinnät. MPEGContainer laajentaa java.awt.container luokan ja toteuttaa rajapinnat: java.awt.event.actionlistener, java.awt.mouselistener ja java.awt.event.mousemotionlistener. Koordinaattimerkinnät liitetään MPEGCanvas-luokkaan CoordinateObject-rajapinnan kautta. MPEGCanvas perii java.awt.container-luokan. Container-olio voi sisältää useita java.awt-olioita ja tätä ominaisuutta MPEGContainer käyttää hyväksi. MPEGContainer lukee java.awt.image-tyyppisen kuvan, joka piirretään ruudulle. Kuvaan liittyvät koordinaattimerkinnät luetaan editoritiedostosta taulukkoon ja ne piirretään ruudulle CoordinateObject CoordinateObject on rajapinta erilaisille koordinaattimerkinnöille. Rajapinta määrittelee toteutettaviksi metodeiksi koordinaattimerkinnän piirtämisen ja tarkistuksen syötetyn koordinaatin kuulumisesta koordinaattimerkinnän alueeseen RectangleCoordinateObject RectCoordinateObject on suorakulmion muotoinen koordinaattimerkintä. RectCoordinateObject toteuttaa CoordinateObject-rajapinnan OvalCoordinateObject Ellipsin muotoinen koordinaattimerkintä. OvalCoordinateObject toteuttaa CoordinateObject-rajapinnan Com.digita.digitveditor EditorFrame EditorFrame-luokka on editorin käyttöliittymän keskeisin luokka. EditorFrame laajentaa javax.swing.jframe-luokan. Editorin graafinen ilme on toteutettu javax.swing komponenteilla, jolloin voidaan toteuttaa alustariippumaton, monipuolinen ja näyttävä käyttöliittymä. Javan Tekninen määrittely 21
22 peruskomponenttipaketti (AWT) ei ole alustariippumaton, vaan se perustuu kullekin käyttöjärjestelmälle kirjoitettuihin natiivikomponentteihin ObjectList Objektiluettelon toteuttava luokka. ObjectList laajentaa javax.swing.panelluokan ja toteuttaa rajapinnan ContainerListener. Kyseisen kuuntelijarajapinnan kautta luettelo saa tiedon uusista ja poistetuista komponenteista. ObjectList-luokkaan liitetään ObjectListItem-luokan esittämät koordinaattimerkinnät ObjectListItem Objektiluettelon koordinaattimerkinnät toteuttava luokka. ObjectList laajentaa javax.swing.panel-luokan ja toteuttaa rajapinnan ComponentListener. Kuuntelijarajapinnan avulla ObjectListItem saa tiedon koordinaattiobjektien näkyvyyden (visibility) muuttumisesta MPEGContainerilla. ObjectListItem kuvaa aina yksikäsitteisesti yhtä MPEContainerilla esitettyä java.awt.component-oliota ProjectSettingsDialog Luokka toteuttaa ikkunan, jolla valitaan videotiedosto ja koordinaattitiedosto. ProjectSettingsDialog laajentaa javax.swing.jdialog-luokan ja liittyy EditorFrame- ja EditorFileFilter-luokkiin. Toteutettavat metodit ovat videokuvan sekä koordinaattitiedoston tiedostopolkujen hakeminen OpenProjectDialog Luokka toteuttaa ikkunan, jolla avataan projekti. OpenProjectDialog laajentaa javax.swing.jdialog-luokan ja liittyy EditorFrame- ja EditorFileFilter-luokkiin. Toteutettava metodi on projektitiedoston tiedostopolun hakeminen EditorFileFilter Luokka on filefilter-olio, jolla filedialogeihin saadaan näkyviin vain halutun tiedostopäätteen omaavat tiedostot esim. *.edi koordinaattitiedostoja valittaessa. ProjectSettingsDialog laajentaa javax.swing.filechooser.filefilter-luokan ja liittyy ProjectSettingsDialog- ja OpenProjectDialog-luokkiin PlaybackSettingsDialog Luokka toteuttaa ikkunan, jonka avulla voi muokata videokuvan esitysasetuksia, kuten esitysnopeutta ja suuntaa. PlaybackSettingsDialog laajentaa java.swing.jdialog-luokan ja liittyy EditorFrame luokkaan CustomFocusManager CustomFocusManager korvaa EditorFramen oletusarvoisen Swing focusmanagerin, jolloin välilyöntiä ja nuolinäppäimiä on mahdollista Tekninen määrittely 22
23 käyttää videokuvan esittämisen näppäinkomentoina RecentFiles Luokka toteuttaa toiminnon, jonka avulla viimeksi editoidut tiedostot näkyvät pikavalintoina sekä File-valikossa että Open Project ikkunassa ObjectPropertiesDialog Luokka toteuttaa ikkunan, jonka avulla käyttäjä voi tarkastella ja muokata koordinaattiobjektien arvoja. ObjectPropertiesDialog laajentaa java.swing.jdialog-luokan ja liittyy ObjectListItem-luokkaan. Ikkuna voidaan käynnistää MPEGCanvas:lta tai ObjectList:ltä kaksoisnapauttamalla koordinaattiobjektia LoadingWindow Luokka toteuttaa latausvaiheessa logo-ikkunan. LoadingWindow laajentaa java.awt.window-luokan ja liittyy EditorFrame-luokkaan Project Luokka yhdistää videotiedoston ja koordinaattitiedoston projektiolioksi. Tekninen määrittely 23
24 5. Luokkakuvaukset: Ohjelma-ajanvälityskomponentti Tässä kappaleessa kuvataan OAVK:n ohjelmiston rakenne yksityiskohtaisella tasolla. Kuvauksessa käytetään UML-luokkakaavioita. OAVK jaetaan kolmeen pakettiin: receiver, sender ja testui. Jokainen paketti on esitetty oman kaavionsa ja sanallisen kuvauksen avulla. Toteutettavan koodin kieli on englanti, mukaan lukien kommentit koodissa. Koodi dokumentoidaan Javadoc-kommentein, josta voidaan helposti generoida html-muotoinen dokumentaatio 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 5.1. Receiver-paketin luokat ja rajapinnat Aika- ja tilatiedon välitykseen tarvittavat metodit on määritelty ProgramTime rajapinnassa jotta toteutusluokka voidaan helposti vaihtaa tarpeen tullen. Tekninen määrittely 24
25 5.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 toteuttaa ObjectCarouselInterface rajapinnan. Rajapinnassa ProgramStates on määritelty kokonaisluku vakiot jotka vastaavat ohjelmien eri tiloja. Kuva 5.2. Sender-paketin luokat ja rajapinnat Tekninen määrittely 25
26 5.3. Testui-paketti Kuvassa 5.3 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ä. Kuva 5.3. Testui-paketin luokat 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 Rinnakkaisuuden hallinta Javassa rinnakkaisuutta hallitaan synkronoimalla objekteja. Tämä synkronointi ei liity mitenkään sovelluksen ja TV-ohjelman synkronointiin. Tässä kappaleessa synkronoinnilla viitataan Java-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. Tekninen määrittely 26
27 Jos käyttöliittymään lisätään myöhemmin toimintoja jotka ovat ytimen laukaisemia tulee synkronointi jonkin yhteisen objektin kautta. Tekninen määrittely 27
28 6. Luokkakuvaukset: Koordinaattien välityskomponentti Tässä luvussa perehdytään tarkemmin KVK:n toteutukseen ja käydään toimintaa läpi Java-luokkien tasolla. Kuvassa 6.1 on esitetty KVK:n paketit ja niihin kuuluvat luokat. Kuva 6.1 KVK:n luokkakaavio Luokkien välisiä suhteita ja vuorovaikutuksia ei ole kuvattu UML kaavioon vaan ne kuvataan sanallisesti tässä luvussa converter paketti KVK:n toiminta alkaa tiedostojen käsittelystä (converter paketti). BinaryFileProducer luokka lukee ASCII tiedostoa ASCIIParser luokan avulla. ASCIIParser luokka käyttää common paketin ObjectEventFactory luokkaa ObjectEvent olioden luomiseen. BinaryFileProducer muuntaa ObjectEvent luokan oliot takaisin biteiksi käyttäen myös ObjectEventFactory luokkaa. Bitit se tallettaa binääritiedostoihin, siten ettei binääritiedoston maksimikoko ylity. Tekninen määrittely 28
29 6.2. sender paketti sender paketin Sender luokka huolehtii valmiiden binääritiedostojen lähettämisestä objektikaruselliin ohjelman lähetyksen aikana. Digita on toimittanut karuselliliitännän rajapinnan toteutuksen. Tämän yksityiskohdat kuuluvat luottamuksellisiin tietoihin eikä niitä ole kuvattu tässä. Digitan toimittamaa toteutusta käytetään paketin OCConnection-rajapinnan läpi. Lähetyspäässä sender-paketti käyttää Binfileparser-luokkaa receiver paketti receiver paketin koodia suoritetaan asiakkaan päätelaiteessa. Päätelaitteessa on käytössä hyvin määritellyt Java rajapinnat objektikaruselliin joten täällä objektikarusellia ei tarvitse piilottaa rajapinnan taakse. BinaryFileParser luokka lukee karusellista tiedoston ja jäsentää siinä olevan datan käyttäen common paketin ObjectEventFactory luokkaa. EventLauncher luokka taas käyttää BinaryFileParser luokkaa, saaden siltä karusellista luettuja ObjectEvent olioita. Lisäksi EventLauncher käyttää ohjelma-ajanvälitys komponenttia saadakseen tiedon sen hetkisestä ohjelma-ajasta. Ohjelma-ajan ja ObjectEvent olioiden perusteella EventLauncher jakaa event:ejä kuunteleville luokille. Eventtien kuuntelua varten on receiver paketissa SynchronizedEventListener rajapinta ja SychronizedEvent luokka. Objektitietoa haluavien sovellusten tulee toteuttaa SynchronizedEventListener rajapinta ja rekisteröityä kuuntelemaan eventtejä EventLauncher luokan addeventlistener metodilla. Oliotieto toimitetaan ohjelmille SychronizedEvent olion muodossa, joka sisältää kaiken ObjectEvent oliossa välitetyn objektitiedon common paketti common paketissa on ObjectEvent luokka joka on käytännössä pelkkä tietorakenne, eikä sisällä mitään toiminnallisuutta. Paketissa on myös ObjectEventFactory luokka jossa on metodit ObjectEvent olioiden luomiseen ASCII tekstistä tai biteistä. ObjectEventFactory:ssä on myös päinvastaiset metodit joilla ObjectEvent oliot voidaan muuntaa ASCII tekstiksi tai biteiksi. common paketissa on lisäksi koko järjestelmän käyttämät vakiot sisältävä rajapinta Constraints. Järjestelmän parametrejä voidaan näin muuttaa yhdestä paikasta. Tekninen määrittely 29
30 7. Luokkakuvaukset: Xlet-esimerkkisovellus Xlet-esimerkkisovelluksessa on kaksi luokkaa, MyXlet ja XletCanvas. Luokat on kuvattu oheisessa kuvassa. Kuva Esimerkkisovelluksen luokkakaavio 7.1. MyXlet MyXlet on luokka, joka toteuttaa Xlet-rajapinnan (javax.tv.xlet.xlet) neljän metodin avulla. initxlet on metodi, jossa Xlet alustetaan. Tämä tapahtuu luomalla EventLauncher, joka lukee objektikarusellista eventtejä. Lisäksi asetetaan MyXlet kuuntelemaan eventtejä sekä alustetaan TVContainer (awt.containerin aliluokka) esittämään grafiikkaa ruudulla. Lisäksi luokkaan kuuluvat seuraavat Xlet-rajapinnan metodit, jotka eivät tässä esimerkkisovelluksessa tee mitään: - startxlet metodi ajetaan kun Xlet varsinaisesti suoritetaan - pausexlet on metodi, joka ajetaan kun Xlet asetetaan paused-tilaan - destroyxlet on metodi, joka joka ajetaan kun Xlet tuhotaan Lisäksi luokka toteuttaa SynchronizedEventListener-rajapinnan (fi.digita.digitvsynkro.transcoord.receiver.synchronizedeventlistener) oheisen metodin avulla: - receivesynchronizedevent(synchronizedevent se), joka ajetaan aina kun MyXletille tulee uusi eventti. Metodi tulkitsee onko kyseessä uusi koordinaattiobjekti vai olemassa olevan objektin aktiivisuuden lopetus eventti ja lisää/poistaa XletCanvasille/lta kyseisen objektin. Tekninen määrittely 30
31 7.2. XletCanvas XletCanvas-luokka laajentaa java.awt.canvas-luokan ja se on TVContainerissa oleva awt-komponentti, johon koordinaattiobjektit piirretään. XletCanvas sisältää seuraavat metodit: - paint(graphics g), jossa käydään läpi aktiiviset koordinaattiobjektit ja piirretään niitä vastaavat kuviot ruudulle (tunnistaa nelikulmion ja ellipsin). - public SynchronizedEvent getactivearea(integer id) palauttaa id:n mukaisen koordinaattiobjektin - public void removeactivearea(synchronizedevent oldevent) poistaa koordinaattiobjektin aktiivisten objektien listalta - public void putactivearea(integer id, SynchronizedEvent se) lisää koordinaattiobjektin aktiivisten objektien listalle. Tekninen määrittely 31
32 8. Erityiset tekniset ratkaisut 8.1. Editorin MPEG-2-videon käsittely Editorin MPEG-2 videon käsittely on toteutettu JMF:n avulla Ohjelma-ajan välityskomponentti OAVK:n suunnittelussa käytetyt ratkaisut on dokumentoitu edellä. Erityistä on OC-liitäntä, jonka Digita on toimittanut. 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, pitää käynnistää manuaalisesti uudelleen. Projektin puitteissa oletetaan, että TVlähetysjärjestelmä on niin hyvin suojattu, että tällaista ei pääse tapahtumaan Koordinaattien välityskomponentti Koordinaattilukijan kannalta olennainen erityiskysymys on toipuminen, jolla tarkoitetaan vastaanottopään synkronoituminen kesken lähetettävän ohjelman. Tämä voi johtua esimerkiksi kanavan vaihtamisesta tai vastaanottimen avaamisesta. Suurimmilta osin tästä huolehtii tietysti itse päätelaite ja objektikaruselli, mutta KVK:n pitää myös pystyä synkronoitumaan lähetettävään objektitietoon. EventLauncher objektin tulee vain hylätä vanhat tiedot ja aloittaa eventtien laukominen niistä objekteista joiden pitäisi esiintyä ruudulla parhaillaan. Tekninen määrittely 32
33 9. Virheenkäsittely 9.1. Editorin virheenkäsittely Editorin virheet jakautuvat karkeasti kahteen luokkaan: 1) Tiedostovirheet 2) Videon käsittelyn virheet Tiedostovirheet tapahtuvat kun videotiedostoa, projektitiedostoa tai jotakin muuta tiedostoa ei kyetä avaamaan tai tallentamaan. Tällöin käyttäjälle esitetään dialogi, jonka tietojen perusteella hän kykenee korjaamaan tilanteen (esimerkiksi vapauttamaan tilaa kovalevyltä). Videon käsittelyn virheet tapahtuvat, kun JMF ei kykene käsittelemään käyttäjän anatamaan videotiedostoa. Tämä saattaa johtua tietokoneen puutteellisista koodekeista tai JMF:lle tuntemattomasta videoformaatista. JMF:n antamat virheilmoitukst suodatetaan ja esitetään käyttäjälle dialogina. Kummassakaan luokassa virhe ei aiheuta sovelluksen keskeytymistä, vaan editointia voidaan jatkaa tilanteesta, jossa oltiin ennen ko. virheen aiheuttanutta toimintaa Ohjelma-ajan välityskomponentin 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. Tekninen määrittely 33
34 2. Käyttäjän antama syöte on virheellinen. Menettely: annetaan käyttäjälle virheilmoitus Koordinaattien välityskomponentin virheenkäsittely Perussääntö virhetilanteissa on että virheelliset eventit hylätään. Jos virheistä ei kuitenkaan pystytä toipumaan täytyy toiminta keskeyttää. KVK ei vaadi juuri lainkaan syötettä käyttäjältä, kaikki olennainen syöte on tietokoneella tuotettua joten testauksen jälkeen suurimmasta osasta virhetilanteita pitäisi välttyä. Tiedostoja muunnettaessa todennäköisimpiä virhetilanteita ja niistä toipumisia ovat: VIRHE: Käyttäjän antamaa ASCII tiedostoa ei löydy. TOIPUMINEN: Ilmoitetaan käyttäjälle ja lopetetaan. VIRHE: Käyttäjän antamassa binääritiedostojen hakemistoa ei löydy. TOIPUMINEN: Luodaan hakemisto, jos se on mahdollista. VIRHE: ASCII tiedosto on korruptoitunut TOIPUMINEN: Yritetään hypätä korruptoituneiden osien yli ja jos se ei auta lopetetaan. Lähetysvaiheessa todennäköisimpiä virhetilanteita ja niistä toipumisia ovat: VIRHE: Karuselliin ei saada yhteyttä. TOIPUMINEN: Ilmoitetaan käyttäjälle ja lopetetaan. VIRHE: Käyttäjän antamassa binääritiedostojen hakemistoa ei löydy. TOIPUMINEN: Ilmoitetaan käyttäjälle ja lopetetaan.. Vastaanottopäässä todennäköisimpiä virhetilanteita ja niistä toipumisia ovat: VIRHE: Binääritiedostoa ei löydy sovelluksen antamasta hakemistosta. TOIPUMINEN: Ilmoitetaan sovellukselle ettei palvelu ole käytössä ja lopetetaan. VIRHE: Binääritiedosto on korruptoitunut. TOIPUMINEN: Yritetään hypätä korruptoituneiden osien yli ja jos se ei auta lopetetaan. Tekninen määrittely 34
35 10. Hylätyt ratkaisuvaihtoehdot Editorin MPEG-2 videon käsittely GPL-lisenssin alainen dekooderi Aikaisemmin editorin MPEG-2-tiedosto luettiin ja purettiin C-kielisessä erillisessä dekooderi-ohjelmassa, jota käytettiin Java Native Interfacen yli. Java-luokka MPEGDecoder toteutti MPEGFile-rajapinnan käyttäen JNImetodeja, jotka olivat toteutettu C-kielellä dekooderi-ohjelmaan. Tämä ratkaisu kuitenkin hylättiin koska sen alkuperäinen lähdekoodi perustui GPL-lisenssiin. GPL-lisensseitä on selvitetty tarkemmin erillisessä dokumentissa (Selvitys GPL-lisensoinnin tuomat ongelmat) [10] Videon purku DirectShown avulla Aikaisemmin kokeiltiin myös editorin MPEG-2 videon tiedoston lukemista ja purkamista C++-kielisen erillisen dekooderi-ohjelman avulla (DSVideo.dll). Tätä käytettiin Java Native Interfacen yli erillisen DirectShowMPEGFileluokan kautta. DSVideo.dll käytti DirectShown Filter Graph Manager oliota videon purkuun. Tämä toteutus on kuvattu kokonaisuudessaan tarkemmin teknisen määrittelyn edellisessä versiossa [11] Hahmontunnistus Automaattisen hahmontunnistuksen käyttömahdollisuuksia on tutkittu, ja todettu että nykytekniikalla sen käyttäminen on mahdotonta, eikä huomattavia parannuksia tekniikkaan ole tiedossa. Selvitys hahmontunnistuksesta löytyy omasta dokumentista: Automaattinen hahmontunnistus. Erityinen ongelma tämän sovelluksen osalta on liikkuva kuva (ohjelmistojen tehokkuus). Toinen ongelma on riittävän kehittyneen tekniikan puuttuminen, ohjelmistot (tai oikeammin algoritmit) eivät ole luotettavia, vaan kadottavat seurattavan pisteen nopeasti. Kaupallisia tuotteita ei ole olemassa, kaikki valmis mitä tälle sovellusalueelle on tehty on erilaisien algoritmien muodossa. Automaattisen hahmontunnistuksen käyttäminen projektissa vaatisi myös suuria Tekninen määrittely 35
36 kehityspanostuksia sekä itse hahmontunnistusmenetelmässä että hahmontunnistuksen liittämisessä projektissa tuotettaviin ohjelmistoihin. Tekninen määrittely 36
37 10.3. OAVK 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 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 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ä 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. Tämä vaihtoehto ei kuitenkaan toimi, koska tekstitystä ei voi MHP-speksin mukaan lukea MHP-sovelmasta käsin. Tekninen määrittely 37
Digi-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ätiedotOhjelma-ajanvälitys komponentti
Tekninen määrittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 7.12.2001 Oskari Pirttikoski Ensimmäinen versio 0.2 10.12.2001 Oskari Pirttikoski Lisätty keskeneräiset asiat ja testaus.
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ätiedotVaatimusmää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
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ä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ä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 - 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ä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ä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ä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ätiedotTestitapaukset - Siirtoprotokolla
Testitapaukset - Siirtoprotokolla Versio Päiväys Tekijä Kuvaus 0.2 22.03.02 Ville Vaittinen Ajankohtaistettu versio Sisällysluettelo 2. Siirtotiedoston testitapaukset... 3 2.1 Siirtotiedoston luonti...
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ä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ä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ä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ätiedotDigi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Editorin käyttöohje
Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Editorin käyttöohje Sisällysluettelo 1. Johdanto...4 1.1. Editorin nopea aloitus...4 1.2. Koordinaatti-informaation tuottamisen periaatteet...5
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ä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ätiedotLoCCaM Riistakamerasovellus. Dimag Ky dimag.fi
LoCCaM Riistakamerasovellus Dimag Ky janne.koski @ dimag.fi +358505907788 Sovelluksen toimintaperiaate Toimintaperiaate yksinkertaistettuna on seuraavanlainen Kamera ottaa kuvan tai videon jonka lähettää
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ätiedotDigi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Selvitys GPL-lisensoinnin tuomat ongelmat
Selvitys GPL-lisensoinnin tuomat ongelmat Sisällysluettelo 1. Johdanto...3 2. Ongelman kuvaus...4 3. Eri tulkinnat GPL-lisenssistä...5 3.1. Tiukka tulkinta...5 3.2. Väljä tulkinta...5 3.3. Kompromissitulkinta...5
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ätiedotMenetelmäraportti - Konfiguraationhallinta
Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1
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ä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ä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ätiedotTiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä
Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä Tiedonsiirto VMS-, Alpro- tai DelProtuotannonohjausjärjestelmästä Ammuohjelmistoon 5/2014 Asennettavat ohjelmat ja versiot VMS-Management
LisätiedotVideokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla
Videokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla 1. Digivideokamera liitetään tietokoneeseen FireWire-piuhalla. (Liitännällä on useita eri nimiä: myös IEEE 1394, DV,
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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
LisätiedotVisma Business AddOn Tilauksen synkronointi. Käsikirja
Visma Business AddOn Tilauksen synkronointi Käsikirja Oppaan päiväys: 10.4.2013. Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin
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ä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ä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ätiedotAction Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
LisätiedotVisual 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
LisätiedotToinen harjoitustyö. ASCII-grafiikkaa
Toinen harjoitustyö ASCII-grafiikkaa Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. Ideoita
LisätiedotKorkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2
Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2 Sisällysluettelo Muutoshistoria...3 1 Johdanto...4 2 Palvelimen käyttöön tarvittavat ohjelmat...4 3 Palvelimelle kirjautuminen...4 4
LisätiedotPedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
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ätiedotBlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
LisätiedotLinux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat
Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta
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ätiedotOhjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
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ä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ätiedotOperatiiviset päivät Ohjeita luennoitsijoille AV-tekniikasta
Operatiiviset päivät 15.-17.11.2017 Ohjeita luennoitsijoille AV-tekniikasta 1. Luentosalin AV-tekniikka ja esityksen valmistelu Helsingin Messukeskuksen luentotilojen varustukseen kuuluu verkkoliittymä
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ä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ätiedotNAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE
NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE Ennen palvelinohjelman asennusta perustetaan tarvittavat kansiot. Oikeustasoista share- tai security-tason oikeudet riittävät; molempien oikeustasojen
LisätiedotPIKAOPAS NOKIA PC SUITE 4.3. Nokia 8310 -puhelimelle. Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6
PIKAOPAS NOKIA PC SUITE 4.3 Nokia 8310 -puhelimelle Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6 Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON
LisätiedotKuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu )
Kuvaruudun striimaus tai nauhoitus Open Broadcaster Software V.20 Tero Keso, Atso Arat & Niina Järvinen (muokattu 28.11.2017) OBS 1 (12) Sisällysluettelo Mikä on OBS... 2 Ohjelman perusasetukset... 2 Tarvittavat
LisätiedotOhjelmointi 1 / syksy /20: IDE
Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne
Lisätiedot2. Olio-ohjelmoinnin perusteita 2.1
2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen
LisätiedotVisma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin
Visma Fivaldi Ohjeet Java web startin ja HTML5-työkalun aktivointiin Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri
LisätiedotCLOUDBACKUP TSM varmistusohjelmiston asennus
Luottamuksellinen JAVERDEL OY CLOUDBACKUP TSM varmistusohjelmiston asennus Copyright 2 (9) SISÄLLYSLUETTELO 1 ASENNUSOHJE WINDOWS KÄYTTÖJÄRJESTELMÄLLÄ VARUSTETTUIHIN LAITTEISIIN... 3 1.1 Yleistä... 3 1.2
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ä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ä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ätiedotMcAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0
Julkaisutiedot McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 McAfee epolicy Orchestrator -ohjelmiston kanssa käytettäväksi Sisällys Tietoja tästä julkaisusta Uudet toiminnot Parannukset Ratkaistut
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ätiedotSen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat
Microsoft Office 2010 löytyy tietokoneen käynnistävalikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,
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ätiedotOhjelmoinnin 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
LisätiedotMaventa Connector Käyttöohje
Maventa Connector Käyttöohje 17.4.2015 Sisällys 1. Esittely... 2 1.1. Käytön edellytykset... 2 1.2. Tuetut aineistomuodot... 2 2. Asennustiedosto... 3 2.1. Sisäänkirjautuminen... 7 3. Asetuksien määrittäminen...
LisätiedotSSH Secure Shell & SSH File Transfer
SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden
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ätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi
Lisä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ä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ätiedotKServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille
KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development
LisätiedotEMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.
EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...
Lisätiedot12. Näppäimistöltä lukeminen 12.1
12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.
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ätiedotKäyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy
Käyttöohje Ticket Inspector Versio 1.0 Sportum Oy 10.5.2017 Sivu 1 Sisällysluettelo 1. Yleistä... 2 2. Kirjautuminen ensimmäisellä kerralla / PIN-koodin unohtuessa... 3 3. Tunnistautuminen... 4 4. Päänäkymä...
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ätiedotKieliversiointityökalu Java-ohjelmistoon. Ohje
Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5
LisätiedotExcel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa
Valtiokonttori 1 (8) Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa Valtiokonttori 2 (8) Sisällys 1 Yleistä...
LisätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
LisätiedotTOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique
TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...
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ä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ätiedotVisma Business AddOn Factoring-laskuaineisto. Käyttäjän käsikirja
Visma Business AddOn Factoring-laskuaineisto Käyttäjän käsikirja Oppaan päiväys: 09.06.2011 Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin
LisätiedotWebforum. Version 15.1 uudet ominaisuudet. Päivitetty: 2015-03-28
Webforum Version 15.1 uudet ominaisuudet Päivitetty: 2015-03-28 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Dokumentit... 5 Uudet versiot dokumenttien katseluohjelmista ipadille... 5 Dokumenttien
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ätiedotMuuttujien määrittely
Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa
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ä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ätiedotKUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA
KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA Ohjeistuksessa käydään läpi kuvan koon ja kuvan kankaan koon muuntaminen esimerkin avulla. Ohjeistus on laadittu auttamaan kuvien muokkaamista kuvakommunikaatiota
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ätiedotMEM-O-MATIC. 6800 järjestelmä
MEM-O-MATIC 6800 järjestelmä Ohjeet Windows yhdysohjelmalle / 6800 yhdysohjelman käyttöohje זתתתתת Windows yhdysohjelman asennus tietokoneelle Tee uusi kansio esimerkiksi nimellä MEMO kovalevyllesi. Kopio
LisätiedotVisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu
HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
LisätiedotKurssin hallinta -työväline
Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,
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ätiedot18 LIITTYMÄT MUIHIN JÄRJESTELMIIN
18 MUIHIN JÄRJESTELMIIN Prospekti DAFOon rakennettu liittymiä muiden ohjelmiston toimittajien järjestelmiin. Tässä yhteydessä ei tarkoiteta siirtotiedoston muodostamista, kuten reskontraan siirto tai lappujen
Lisätiedot