|
Aplikacje interaktywne są to zestawy rozbudowanych funkcji i instrukcji, które aktywują zasoby systemowe odbiornika. W efekcie określana jest każda scena, która składa się z następujących obiektów: tła, elementów graficznych, tekstu, przycisków, apletów itd. Szkieletem obecnych aplikacji (napisanych dla środowisk zamkniętych, np. MediaHighway firmy CANAL+ lub OpenTV firm THOMSON i SUN MICROSYSTEMS) jest skrypt, zgodnie z którym aktywowane są zarówno procedury deklaracyjne, jak i systemowe.
Procedury systemowe bazują na instrukcjach niskiego poziomu, ściśle związanych z systemem, dzięki temu aplikacje mogą być optymalizowane pod kątem efektywnego zarządzania zasobami systemowymi. Dlatego można zapewnić dużą wydajność aplikacji, a jej kod wynikowy może być znacznie zredukowany. Niestety aplikacje, które odwołują się bezpośrednio do funkcji systemowych, tworzone są dla konkretnej platformy odbiorczej. W tym wypadku łączem pomiędzy aplikacją a zasobami sprzętowymi jest interpreter API niskiego poziomu.
Procedury deklaracyjne opierają się natomiast na funkcjach i poleceniach wysokiego poziomu, całkowicie niezależnych od zaimplementowanych w odbiorniku rozwiązań sprzętowych i systemu operacyjnego. Tworzenie aplikacji tylko na podstawie procedur deklaracyjnych umożliwia całkowite uniezależnienie się od architektury platformy odbiorczej. Zasoby systemowe są aktywowane za pośrednictwem oprogramowania RTE i VM. W ten sposób uruchamiane są programy rezydentne i procedury systemowe w celu np. przeprowadzenia złożonych obliczeń, przetworzenia informacji oraz pobierania danych.
Uniwersalne środowisko programistyczne posługuje się językiem zorientowanym obiektowo, co zapewnia twórcom aplikacji dużą elastyczność oraz wszechstronność w programowaniu. Programista nie musi bowiem mieć wiedzy na temat wewnętrznej architektury odbiorników, do których będzie skierowana aplikacja. Jeśli zachowana jest zgodność systemu z MHP, to aplikacja powinna uruchamiać się bezproblemowo i tak samo nie tylko na odbiornikach różnych producentów, ale nawet różnych generacji. Mimo to należy pamiętać, że wydajność aplikacji zależy od szybkości jednostki mikroprocesorowej odbiornika.
Obiekty aplikacji interaktywnych mogą być przesyłane np. z wykorzystaniem protokołu transmisji danych cyklicznych DSM-CC. Aby zapewnić krótki czas uruchamiania i dużą wydajność aplikacji oraz efektywne zarządzanie pamięcią operacyjną odbiornika, obiekty aplikacji (np. elementy graficzne i tekstowe, animacje, klipy dźwiękowe i filmowe, aplety itd.) są porządkowane w moduły DSM-CC. W celu zapewnienia niezawodnego i bezpiecznego przebiegu transmisji protokół DSM-CC zawiera w sobie narzędzia do kompresji oraz mechanizmy ochrony danych. Interfejsem umożliwiającym pozyskiwanie tych modułów jest DSM-CC UU.
Po załadowaniu aplikacji do pamięci operacyjnej RAM odbiornika oprogramowanie RTE i VM generuje kod wynikowy aplikacji. Wówczas aplikacja jest zapamiętywana i uruchamiana. Takie postępowanie pozwala na uniknięcie każdorazowego ładowania programu, jeśli nie został on zmieniony przez dostawcę usługi.
Zarządzanie aplikacjami polega na:
- sprawdzeniu integralności kodu i danych
- synchronizacji poleceń i informacji
- dostosowaniu formatu prezentowanych informacji (tekst, elementy grafiki, animacje, klipy filmowe) do rozdzielczości graficznej ekranu (telewizor lub monitor komputerowy)
- określaniu i zajmowaniu wolnych zasobów systemowych
- sygnalizacji błędów i problemów systemowych (np. brak wolnej pamięci, usterki sprzętowe, konflikty dostępu do urządzeń, przerwania na skutek różnych priorytetów zadań itd.)
- uruchamianiu oraz przerywaniu nowych połączeń
- udostępnianiu tych samych danych i zmiennych dla wielu aplikacji
- kończeniu procesów oraz zwalnianiu zasobów zgodnie ze skryptem aplikacji.
|