[en] BRINGING TOGETHER FLEXIBILITY AND EFFICIENCY IN THE DEVELOPMENT OF THE GINGA-NCL DECLARATIVE ENVIRONMENT - MARCIO FERREIRA MORENO (2018)
[pt] Um sistema de TV Digital (TVD) é definido por um conjunto de especificações que determinam as tecnologias envolvidas na codificação, transmissão, recepção e apresentação de conteúdos, incluindo a especificação da aplicação (programa não-linear), seus vários objetos de mídia e metadados relacionados. Nesse cenário, o suporte a aplicações é realizado por uma camada intermediária de software, ou middleware, posicionada, no ambiente de recepção, entre o código das aplicações e a infra-estrutura de execução (plataforma de hardware e sistema operacional). O projeto e implementação de um middleware para receptores de sistemas de TVD trazem uma série de desafios. Entre eles estão: a eficiência na utilização de recursos, usualmente escassos no dispositivo receptor; o suporte à evolução dinâmica das funcionalidades do middleware; o suporte à recuperação de falhas em tempo de execução; os mecanismos para gerência de localização de recursos, permitindo o uso da mesma sintaxe de autoria em ambientes distintos de recepção; o suporte a edição ao vivo de programas não lineares, ou seja, das aplicações; a definição de uma infra-estrutura de transporte assíncrono de aplicações interativas e comandos de controle e; o controle do ciclo de vida das aplicações interativas, permitindo que aplicações possam ser iniciadas, pausadas e retomadas em qualquer ponto de sua duração, sem perder o histórico de sua evolução. As soluções da maioria dessas questões presentes nos sistemas existentes apresentam algumas limitações importantes, e em alguns casos nem mesmo existem, sendo o problema apenas contornado. O presente trabalho propõe soluções alternativas para as questões levantadas, e as incorpora na especificação do middleware declarativo Ginga-NCL e em sua implementação de referência. O middleware Ginga-NCL e sua linguagem declarativa NCL foram adotados pelo SBTVD-T em 2007. No início de 2009, Ginga-NCL e NCL se tornaram parte dos padrões ISDB-TB e parte da recomendação ITU-R BT 1699. Ainda no início de 2009, Ginga-NCL e NCL tornaram-se a Recomendação ITU-T H.761 para serviços IPTV.