Mantenha-se informado assinando nossa Newsletter.
| Linguagem NCL e o desenvolvimento para TV digital com o middleware Ginga |
Por: Rafael Carvalho
|
|
Hoje a linguagem NCL (Nested Context Language) é padrão como linguagem declarativa do Sistema Brasileiro de TV Digital Terrestre e Recomendação H.761 da União Internacional de Telecomunicações para serviços IPTV, porém o desenvolvimento desta linguagem, que é motivo de orgulho para os brasileiros, começou há alguns anos. E como qualquer trabalho de sucesso, é fruto do esforço e dedicação de pesquisadores de extrema qualidade. Neste artigo traçaremos uma linha temporal com o histórico da linguagem NCL, onde abordaremos os pontos mais importantes no seu desenvolvimento. A linguagem NCL, como toda linguagem declarativa, é baseada em um modelo conceitual de dados; NCL tem por base o modelo NCM (Nested Context Model). Tal modelo teve início com o projeto HyperProp, cujas origens encontram-se na década de 80 (quando foi criado o departamento de informática da PUC-Rio). Em 1991 foi liberado o primeiro protótipo do sistema HyperProp e publicado o primeiro artigo sobre o modelo NCM. No decorrer dos anos facilidades foram adicionadas ao modelo e algumas modificações incluídas, hoje o modelo encontra-se na sua versão 3.0. A primeira versão da linguagem NCL foi publicada em 2000, fruto da dissertação de mestrado de Meire Juliana Antonacci. Nesta versão a linguagem NCL foi especificada através de uma DTD (Document Type Definition). Em março de 2003 foi publicda a tese de doutorado da Professora Débora Christina Muchaluat Saade que atualizou NCL para a versão 2.0. Essa versão foi especificada em XML Schema e de forma modular, o que passou a permitir a criação de perfis de linguagem a partir da combinação de seus módulos. Onde cada perfil poderia agrupar subconjuntos de módulos, possibilitando a criação de linguagens de acordo com a necessidade dos usuários. Além da nova estrutura modular a versão 2.0 introduziu novas facilidades para a linguagem NCL:
A versão 2.1 da linguagem NCL foi especificada na dissertação de mestrado publicada em abril de 2005 por Heron Vilela de Oliveira e Silva. Nesta versão foi adicionado um módulo para definição de funções de custo que permitiam a especificação da duração dos objetos de mídia de forma flexível, foi incluído o módulo para definição de regras de apresentação para serem utilizadas nos contexto switch e no elemento descriptorSwitch e também foram feitos alguns refinamentos no módulo XTemplate. É mais difícil precisar a data exata de lançamento da versão 2.2. Nesta versão da linguagem NCL foram feitas pequenas modificações em relação à versão 2.1, tais modificações foram relacionadas a definição dos elementos da linguagem como uma nova abordagem para a definição dos módulos e perfis NCL. Podemos citar a data da publicação da Especificação do Perfil Principal (Main Profile) (NCL 2.3), de Abril de 2006, como a data de lançamento da versão 2.3. Nesta versão foram introduzidos dois novos módulos para permitir o suporte ao reuso de bases e entidades. Também foram refinados alguns elementos para dar suporte às novas funcionalidades. Para esta versão também foram lançadas a primeira edição do Manual para Construção de Programas Audiovisuais Interativos e do Manual de Construção de Programas Audiovisuais Interativos Utilizando o COMPOSER. Também não existem muitas informações sobre a versão 2.4 da linguagem NCL. Nesta versão foram revistos o suporte a reuso e a especificação dos elementos switch e descriptorSwitch; esta versão também é responsável pela divisão do módulo Timing, introduzido por NCL 2.1. Pode-se considerar Outubro de 2006 como a data de lançamento da versão 3.0 da linguagem NCL, em tal data foi publicada a especificação Nested Context Language 3.0 Part 8 - NCL Digital TV Profiles. Nesta versão foram introduzidas duas novas funcionalidades: a navegação através do uso de teclas e as funcionalidades de animação; também foram feitas grandes modificações na funcionalidade de template de nó de composição; a especificação de conectores hipermídia foi re-estruturada para permitir uma notação mais concisa; os relacionamentos entre os objetos imperativos NCL e outros objetos NCL também foram definidos nesta versão. Em 30 de Novembro de 2007 foi publicada a norma ABNT NBR 15606-2 padronizando a linguagem NCL como linguagem declarativa do Sistema Brasileiro de TV Digital Terrestre. No dia 29/04/2009, a linguagem NCL e seu ambiente de apresentação Ginga-NCL foram aprovados como padrão pela União Internacional de Telecomunicações. Essa não foi só foi uma grande conquista para a linguagem NCL, evidenciando seu grande potencial, mas foi uma conquista marcante para todo o país. Como podemos ver neste artigo, a linguagem NCL passou por várias versões onde muito trabalho foi desenvolvido por vários pesquisadores; observamos também que o modelo NCM, modelo no qual NCL é baseada, teve seu desenvolvimento iniciado há pelo menos duas décadas. Tais informações servem para demonstrar a solidez da linguagem e de seu modelo conceitual. Vale ressaltar que na página oficial sobre as versões da linguagem NCL não existem informações sobre as datas de lançamento de cada versão nem sobre todas as publicações que foram citadas neste artigo, foi necessário um trabalho de pesquisa para o levantamento de tais informações. Portanto as datas e as publicações apresentadas neste artigo não têm caráter oficial, contudo incluí as devidas referências que serviram de base para a pesquisa. Neste artigo conhecemos um pouco sobre o histórico da linguagem NCL e suas conquistas. Algum comentário? Expresse sua opinião. Referências:
|