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 ja prioriteettien määritelmät 0.3 11.12.01 Oskari Pirttikoski Lisätty sisällysluettelo. Vaatimusmäärittely: Ohjelma-ajanvälitys Sivu 1/5
Teknillinen korkeakoulu 52 Sisällysluettelo 1 Johdanto...2 1.1 Lyhenteet ja määritelmät...2 2 Yleiskuvaus...3 3 Vaatimukset...4 3.1 Tarkkuusvaatimukset...4 3.2 Asiakaspään rajapinnan vaatimukset...4 3.3 Manuaalisen käyttöliittymän vaatimukset...5 3.4 Automaattisen käytön rajapinnan vaatimukset...5 4 Ulkoiset liittymät...5 1 Johdanto Digi-Tv järjestelmä välittää liikkuvaa kuvaa ja muuta tietoa asiakkaan päätelaitteeseen. Kuva välitetään MPEG-2 koodattuna vuona ja muu tieto välitetään yksisuuntaiseen tiedonvälitykseen sopivalla protokollalla. Asiakkaan päätelaitteeseen lähetettävä muu tieto voi olla esimerkiksi tietoa kanavan ohjelmista tai Java sovellus. Ohjelmatyössämme tehtävämme on kehittää järjestelmä jonka avulla Java sovellus voi tarjota TV-ohjelmaan lisä ominaisuuksia. Lisä ominaisuuksilla tarkoitetaan tässä toimintoja jotka ovat synkronisia TV-ohjelman kanssa ja muuttuvat TV-ohjelman aikana. Ongelmana on kuitenkin sovelluksen ja TV-ohjelman synkronointi, joka ei onnistu päätelaitteiden tällä hetkellä tarjoamien palveluiden avulla. Sovellus ei tällä hetkellä saa päätelaitteelta tietoa siitä koska TV-ohjelma on alkanut tai kuinka kauan on kulunut ohjelman alusta. Ohjelma-ajanvälitys komponentilla pyritään tarjoamaan sovellukselle tarkka ohjelma-aika, siten että sovellus voi määrätyssä kohdassa ohjelmaa tarjota halutun ohjelmaan liittyvän lisä ominaisuuden. Ohjelma-ajanvälitys komponentti on pieni osa ohjelmatyössä toteutettavaa suurempaa kokonaisuutta. Tämän vaatimusmäärittelyn tekeminen on kuitenkin erityisen tärkeää, koska komponentin toteuttamistekniikkaa ei vielä varmasti tiedetä ja on mahdollista että toteutusvaiheessa törmätään ongelmiin joiden takia joudutaan vaihtamaan toteutustekniikkaa. 1.1 Lyhenteet ja määritelmät Projektin dokumentaatiossa käytettävät lyhenteet on määritelty erillisessä dokumentissa. Seuraavassa määritellään vain tässä dokumentissa käytetyt termit. DVB Digital Video Broadcasting; organisaatio, joka on kehittänyt digitaalisten TV Vaatimusmäärittely: Ohjelma-ajanvälitys Sivu 2/5
Teknillinen korkeakoulu 53 lähetysten standardeja Euroopassa. DVB:ssä on yli 200 jäsentä yli 25 maassa. MPEG-2 MHP OC Xlet 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 1.2 1.5 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. Object Carousel; Objektikaruselli, jossa tiedostot palveluntarjoajan palvelimelta digiboksiin. Pyörii ympäri vanhan kunnon teksti-tv :n tyyliin. Xlet on Digi-TV:n tarpeisiin muokattu versio Java sovelmista (applet). Xlet:ien avulla voidaan toteuttaa monimutkaisia sovelluksia MHP laiteisiin. 2 Yleiskuvaus Ohjelma-ajanvälitys komponentti välittää ohjelma-ajan lähetyspäästä asiakkaan päässä olevalle sovellukselle. Lähetyspäässä komponentti saa tiedon ohjelma-ajasta joko testaukseen tarkoitetulta käyttöliittymältä tai automaattisesti lähetysjärjestelmältä. Komponentin käyttäjiä ovat asiakaspäässä Java sovellus ja lähetyspäässä ohjelman lähetyksestä vastaava henkilö tai lähetysjärjestelmä. Komponentin käyttöympäristö on DVB:n määrittelemä Digi-TV järjestelmä jossa asiakkaan päätelaitteet ovat DVB-MHP yhteensopivia. Lähetyspään käyttöympäristö ei ole selvillä ja vaatimuksena onkin että komponentti voidaan integroida useisiin ympäristöihin, vaikkakin se tullaan toteuttamaan vain yhteen ympäristöön tässä projektissa. Komponentin on tarkoitus olla yleiskäyttöinen, siten että sen tarjoamia palveluita voivat käyttää kaikki asiakkaan päätelaitteessa olevat sovellukset. Komponentilla on lähetyspäässä kaksi käyttötapaa manuaalinen ja automaattinen. Manuaalinen käyttötapa tarkoittaa ohjelma-ajan syöttämistä manuaalisesti komponentille, tätä varten tarvitaan käyttöliittymä. Käyttöliittymällä ohjelman lähetyksestä vastaava henkilö voi ilmaista komponentille milloin ohjelma milloin ohjelma on mainoskatkolla, milloin taas jatkuu ja milloin ohjelma on loppunut. Käyttöliittymä tehdään lähinnä testauskäyttöön ja sitä ei oleteta otettavan tuotantoon missään vaiheessa. Tämän projektin puitteissa komponenttia käytätetään todennäköisesti vain manuaalisesti. Vaatimusmäärittely: Ohjelma-ajanvälitys Sivu 3/5
Teknillinen korkeakoulu 54 Automaattisella käytöllä tarkoitetaan komponentin integroimista lähetysjärjestelmään siten että lähetysjärjestelmä antaa automaattisesti komponentille tiedot ohjelman alkamisesta ja loppumisesta sekä mainoskatkoista. Automaattinen käyttö edellyttää että komponentissa on selkeä rajapinta johon tieto voidaan automaattisesti syöttää. Tuotantokäytössä automaattinen käyttö on todennäköisesti ainoa järkevä tapa käyttää komponenttia. Komponentin välittämän ajan tarkkuutta rajoittaa prosessointiviiveet lähetyspäässä sekä asiakaan päätelaitteessa. Tiedon siirrosta aiheutuva viive ei ole haitaksi koska siirrettävä ohjelma kokee myös saman viiveen. Asiakaan päätelaiteeseen tuleva osa ohjelma-aika komponenttia tulee toteuttaa Javalla, koska päätelaiteeseen voidaan ladata vain Java sovelluksia. Päätelaiteessa oleva Java osuus saattaa osoittautua pullonkaulaksi tarkkuutta tavoiteltaessa. 3 Vaatimukset Komponentilta vaaditaan ennen kaikkea tarkkuutta ja selkeitä rajapintoja. Seuraavassa esitellään komponentin tarkemmat vaatimukset neljässä osassa: tarkkuusvaatimukset, asiakaspään rajapinnan vaatimukset, manuaalisen käyttöliittymän vaatimukset ja automaattisen käytön rajapinnan vaatimukset. Vaatimukset on listattu siten että jokaiselle vaatimukselle on annettu tunnus ja prioriteetti. Tunnus on muodostettu vaatimustyypin ja vaatimuksen numeron mukaan. Prioriteetti on erotettu tunnuksesta kaksoispisteellä. Prioriteetit ovat kokonaislukuja välillä 1 ja 5, missä 1 tarkoittaa korkeinta prioriteettiä ja 5 matalinta. 3.1 Tarkkuusvaatimukset Komponentille asetetaan seuraavat vaatimukset välitetyn ohjelma-ajan tarkkuuden suhteen: T1:1 Komponentin antama arvio ohjelma-ajasta vastaa kuluneen ohjelman aikaa yhden sekunnin tarkkuudella. T2:2 Komponentti osaa antaa virhearvion, joka kertoo maksimi virheen joka sen antamassa arviossa voi olla. 3.2 Asiakaspään rajapinnan vaatimukset Komponentille asetetaan seuraavat vaatimukset asiakaan päässä olevan rajapinnan suhteen: AR1:1 AR2:1 AR3:1 AR4:2 Komponentilta saa arvion sen hetkisestä ohjelma-ajasta. Komponentilta saa tiedon onko käynnissä mainoskatko (ohjelmaaika ei kulu). Komponentilta saa tiedon onko ohjelma loppunut. Komponentilta saa arvioidun ohjelma-ajan virhearvion. Vaatimusmäärittely: Ohjelma-ajanvälitys Sivu 4/5
Teknillinen korkeakoulu 55 3.3 Manuaalisen käyttöliittymän vaatimukset Komponentin manuaaliselle käyttöliittymälle asetetaan seuraavat vaatimukset: MK1:2 MK2:2 MK3:2 MK4:2 MK5:2 MK6:2 Käyttöliittymästä tulee voida selvästi nähdä komponentin välittämä aika, onko parhaillaan menossa mainoskatko tai onko ohjelma loppunut. ohjelman alkamisesta, jos ohjelma ei ole käynnissä. mainoskatkon alkamisesta, jos mainoskatko ei ole käynnissä. mainoskatkon loppumisesta, jos mainoskatko on käynnissä. ohjelman loppumisesta, jos ohjelma on käynnissä. Käyttöliittymään tulee voida syöttää ohjelma-ajan arvo kymmenesosasekunnin tarkkuudella ja tämä arvo tulee voida asettaa sen hetkiseksi ohjelma-ajaksi yhdellä painalluksella. 3.4 Automaattisen käytön rajapinnan vaatimukset Komponentin automaattisen käytön rajapinnalle asetetaan seuraavat vaatimukset: AKR1:1 AKR3:1 Rajapinnasta tulee saada seuraavat tiedot: sen hetkinen ohjelma-aika, onko käynnissä mainosakatko ja onko ohjelma loppunut. Rajapinnasta tulee voida antaa tieto ohjelman alkamisesta. Rajapinnasta tulee voida antaa tieto mainoskatkon alkamisesta. Rajapinnasta tulee voida antaa tieto mainoskatkon loppumisesta. Rajapinnasta tulee voida antaa tieto ohjelman loppumisesta. Rajapinnasta tulee voida asettaa sen hetkinen ohjelma-aika uudestaan. 4 Ulkoiset liittymät Lähetyspäässä komponentti liitetään objektikaruselliin, jonka avulla voidaan välittää komponentin tarvitsema merkinanto. Tämän liittymän tekniset ominaisuudet eivät kuulu vaatimusmäärittelyyn, koska merkinantoon käytettävää tekniikkaa ei vielä määritellä. Asiakkaan päätelaiteessa oleva komponentin osa toteutetaan Xlet:tinä, joka on MHP päätelaitteiden tukema versio Java sovelmista. Vaatimusmäärittely: Ohjelma-ajanvälitys Sivu 5/5