abr 24

Nova versão Ginga-NCL

ginga Comentários desativados em Nova versão Ginga-NCL

A Comunidade Ginga disponibilizou hoje (23/04/2008) nova versão da implementação em C++ do Ginga-NCL, também conhecida como implementação de referência. Essa atualização foi, ainda, propagada para o Set-top Box Virtual, máquina VMWare que possui o Ginga-NCL (C++) instalado e pronto para uso.

Ginga-NCL (C++) v.0.9.27 possui agora métodos mais eficazes de gerenciamento threads, memória e controle de foco, suporte refinado a transparência por canal alpha no exibidor de imagens (PNG), suporte a formatação no exibidor de texto plano, entre outras novas funcionalidades, com maior aderência à norma ABNT e correções de pequenos bugs. Ginga-NCL (C++) é a implementação de referência para set-top boxes do SBTVD, voltada para plataforma Linux e distribuída como código-fonte, por meio do SVN da Comunidade Ginga (https://svn.softwarepublico.gov.br/trac/ginga/wiki/Building_Wiki_GingaNCL).

Ginga-NCL Virtual Set-top Box v.0.9.27 foi atualizado com o novo código do Ginga-NCL (C++) v.0.9.27. O Set-top Box Virtual é uma máquina virtual VMWare com sistema Linux instalado e pré-configurado com todos os requisitos do Ginga-NCL (C++). Pode ser obtido por meio da SubComunidade Ginga-NCL, no box “Direto ao Ginga” (https://www.softwarepublico.gov.br/dotlrn/clubs/ginga/gingancl/). Lá você encontra também um “HOW-TO” com dicas para instalar e operar o Set-top Box Virtual.

Para maiores informações sobre as modificações no código do Ginga-NCL, consulte os arquivos ChangeLog presentes em cada pacote de código-fonte presente no SVN (https://svn.softwarepublico.gov.br/trac/ginga/browser). A atualização corresponde às revisões 9 e 10 do SVN.

As ferramentas “Ginga-NCL Emulator” e “Composer” não foram afetadas por tal atualização.

Comunidade Ginga
https://www.softwarepublico.gov.br/dotlrn/register?community_id=1101545&referer=/dotlrn/clubs/ginga/

SubComunidade Ginga-NCL
https://www.softwarepublico.gov.br/dotlrn/clubs/ginga/register?community_id=1160871&referer=/dotlrn/clubs/ginga/gingancl

Fonte: Comunidade Ginga

Tagged with:
jan 29

Arquitetura da Implementação de Referência (GINGA)

ginga Comentários desativados em Arquitetura da Implementação de Referência (GINGA)

Em reconhecimento à cultura, arte e contínua luta por liberdade e igualdade do povo brasileiro, Ginga foi escolhido como nome do middleware do Sistema Brasileiro de TV Digital.

Ginga oferece uma série de facilidades para o desenvolvimento de conteúdo e aplicativos para TV Digital, entre elas a possibilidade desses conteúdos serem exibidos nos mais diferentes sistemas de recepção, independente do fabricante e tipo de receptor (TV, celular, PDAs etc.).

No modelo de referência do Sistema Brasileiro, Ginga é uma camada de software interposta entre as aplicações e os outros módulos que compõem o Sistema Brasileiro, que são, usualmente, implementados por hardware.

Quando se busca os requisitos de um middleware, tendo por base as aplicações a serem desenvolvidas em um sistema de TV digital, quatro pontos chamam a atenção: o sincronismo de mídia, o suporte a múltiplos dispositivos, a adaptabilidade e o suporte ao desenvolvimento de programas ao vivo.

No caso especial do Brasil, o middleware deve também oferecer um bom suporte ao desenvolvimento de aplicações visando a inclusão social, como aplicações para ensino, saúde etc.

Com esses requisitos em foco, o universo das aplicações para TV digital pode ser particionado em dois conjuntos: o das aplicações declarativas e o das aplicações procedurais.

As linguagens declarativas são mais intuitivas (de mais alto nível) e, por isso, mais fáceis de usar, normalmente não exigindo um perito programador. Contudo, as linguagens declarativas têm de ser definidas com um foco específico. Quando o foco da aplicação não casa com o da linguagem, o uso de uma linguagem procedural não é apenas vantajoso, mas se faz necessário. O uso de linguagens procedurais usualmente requer um perito em programação. Uma aplicação não precisa ser , entretanto, puramente declarativa ou puramente procedural. Sem erro pode-se afirmar que, nos sistemas de TV digital, os dois tipos de aplicação coexistirão, sendo então conveniente que o dispositivo receptor integre o suporte aos dois tipos em seu middleware. Isso ocorre nos middlewares de todos os sistemas, incluindo o middleware Ginga.

A arquitetura da implementação de referência do middleware Ginga pode ser dividida em três grandes módulos: Ginga-CC (Common Core), o ambiente de apresentação Ginga-NCL (declarativo) e o ambiente de execução Ginga-J (procedural).

Ginga-CC oferece o suporte necessário aos ambientes declarativo e procedural, e tem como funções principais a exibição dos vários objetos de mídia, o controle do plano gráfico, o tratamento de dados obtidos do carrossel de objetos DSM-CC, o tratamento do canal de retorno, entre outras.

Quanto ao ambiente de apresentação Ginga-NCL, a única linguagem declarativa que oferece suporte a todos os requisitos mencionados para um middleware é a linguagem NCL (Nested Context Language), desenvolvida no Laboratório TeleMídia da PUC-Rio, e escolhida como base do Ginga. NCL é uma das principais linguagens existentes para a definição do sincronismo temporal.Como vantagem adicional, e imprescindível em um sistema de TV digital, NCL também provê suporte a variáveis, que podem ser manipuladas através de código procedural, entre eles o de sua linguagem de script Lua.

Lua, também desenvolvida no Departamento de Informática da PUC-Rio, constitui-se hoje em padrão internacional de fato na área de entretenimento, em especial jogos. Vários dos principais jogos lançados nos últimos anos utilizaram Lua em seu desenvolvimento. Lua é leve, fácil de usar e possui um altíssimo desempenho.

Para facilitar o desenvolvimento de aplicações Ginga-NCL, a PUC-Rio desenvolveu também a ferramenta Composer. Composer é um ambiente de autoria voltado para a criação de programas NCL para TV digital interativa. Nessa ferramenta, as abstrações são definidas em diversos tipos de visões que permitem simular um tipo específico de edição (estrutural, temporal, leiaute e textual). Essas visões funcionam de maneira sincronizada, a fim de oferecer um ambiente integrado de autoria.

Por sua vez, o ambiente de execução Ginga-J, desenvolvido no Laboratório LAVID da UFPB, utiliza a linguagem Java e é dividido em três partes: as APIs vermelhas, inovações que dão suporte às aplicações brasileiras, em especial as de inclusão social; as APIs amarelas, também inovações brasileiras, mas que podem ser exportadas para os outros sistemas; e as APIs verdes, que seguem o núcleo comum do padrão GEM (Globally Executable MHP).

Diferente dos outros sistemas, os ambientes de apresentação e execução do middleware Ginga se complementam, unidos por uma ponte em uma implementação sem nenhuma redundância, o que confere ao sistema uma ótima eficiência, tanto em termos de uso de CPU quanto de ocupação de memória. Ao contrário dos outros sistemas, Ginga, desde seu projeto inicial, foi desenvolvido tendo em mente os dois ambientes de programação.

Fonte: Comunidade Ginga

Tagged with:
jan 24

O que é GINGA??

ginga Comentários desativados em O que é GINGA??

Ginga é a camada de software intermediário (middleware) que permite o desenvolvimento de aplicações interativas para a TV Digital de forma independente da plataforma de hardware dos fabricantes de terminais de acesso (set-top boxes).

Resultado de anos de pesquisas lideradas pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) e pela Universidade Federal da Paraíba (UFPB), Ginga reúne um conjunto de tecnologias e inovações brasileiras que o tornam a especificação de middleware mais avançada e, ao mesmo tempo, mais adequada à realidade do país.

O Middleware Ginga pode ser dividido em três subsistemas principais: Ginga-CC, Ginga-J e Ginga-NCL.

Ginga-CC (Ginga Common-Core) oferece o suporte básico para os ambientes declarativo (Ginga-NCL) e procedural (Ginga-J). Dependendo das funcionalidades requeridas no projeto de cada aplicação, um paradigma de programação (declarativo ou procedural) possuirá uma melhor adequação que o outro.

Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de execução de aplicações baseadas em linguagem Java, com facilidades especificamente voltadas para o ambiente de TV digital.

Ginga-NCL foi desenvolvido pela PUC-Rio para prover uma infra-estrutura de apresentação de aplicações baseadas em documentos hipermídia escritos em linguagem NCL, com facilidades para a especificação de aspectos de interatividade, sincronismo espaço-temporal de objetos de mídia, adaptabilidade e suporte a múltiplos dispositivos. NCL possui Lua como sua linguagem de script.

Para facilitar o desenvolvimento de aplicações Ginga-NCL, a PUC-Rio desenvolveu também a ferramenta Composer. Composer é um ambiente de autoria voltado para a criação de programas NCL para TV digital interativa. Nessa ferramenta, as abstrações são definidas em diversos tipos de visões que permitem simular um tipo específico de edição (estrutural, temporal, leiaute e textual). Essas visões funcionam de maneira sincronizada, a fim de oferecer um ambiente integrado de autoria. Entre agora mesmo no subgrupo Composer!

Cabe observar que os desenvolvimentos relacionados à linguagem NCL e à ferramenta Composer estão aplicados ao cenário de TV Digital, mas já são aplicados em outros cenários de aplicações multimídia e hipermídia, como Web, IPTV etc. TV Digital Interativa é apenas um caso particular de aplicação multimídia.

Fonte: Comunidade Ginga

Tagged with:
preload preload preload