Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br.

Slides:



Advertisements
Apresentações semelhantes
Projeto – Parte II - Exemplos de Diagrama de Colaboração
Advertisements

DESENHO INDUSTRIAL ASSISTIDO POR COMPUTADOR
Raphael Gatti Thomás Bryan
Operadores e Funções do LINGO
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Laboratório de Informática Introdução ao JavaScript 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula.
Tecnologia Hipermídia e Multimídia Prof. Rudson Faculdade de Excelência Educacional do Rio Grande do Norte CURSO DE GRADUAÇÃO TECNOLÓGICA.
Interação entre objetos
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Testes de Troca de Arquivos no Bacen Jud 2.0
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
1 Objetos Relacionados a um banco de dados. 2 Introdução Visual Basic dispõe de um conjunto de objetos, que através de suas propriedades e métodos, nos.
April 05 Prof. Ismael H. F. Santos - 1 Modulo II CheckStyle Professor Ismael H F Santos –
April 05 Prof. Ismael H. F. Santos - 1 Módulo II Introdução a XML DTD Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Módulo II XML Processing: XSLT, SAX e DOM Prof. Ismael H F Santos.
Aluno: Fabiano Costa Teixeira
Algoritmo de Escalonamento para Aplicações em uma Grade Computacional Extensível aos Receptores Digitais de Televisão Bruno Guazzelli Batista Orientadora:
Estudo de Caso 1: UNIX e LINUX
Lucas Augusto Scotta Merlo
Ferramentas Colaborativas: Co-NCL e WaC-tool
Estruturas de Controle
Auditoria de Segurança da Informação
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos
Curso de Jornalismo e Ciências da Comunicação
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
Provas de Concursos Anteriores
Sistemas Operacionais
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Monitoria GDI Aula Prática
Desenvolvimento de Projetos e Aplicações Web
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Impressão de etiquetas
JAVA: Conceitos Iniciais
1 Celulose.
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
NCL(Nested Context Language)
Object Oriented Software Construction (MEYER, Bertrand)
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Engenharia Elétrica ANTENAS E PROPAGAÇÃO Parte 2 Nono Semestre
Taxonomia Profa. Lillian Alvares,
MINISTÉRIO DO PLANEJAMENTO Projeto de Lei Orçamentária 2011 Ministro Paulo Bernardo Silva Brasília, novembro de 2010.
Web Services Uninorte Semana de Tecnologia da Informação
Sistema Unificado de Planejamento e Orçamento - UNI 1 Palmas, 21 de outubro de 2011.
Entendendo as definições de classe
É u m e l e m e n t o f u n d a m e n t a l
EXERCÍCIOS PARA GUARDA-REDES
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Ritornello Um Framework para Representação de Conhecimento Musical
DVB - Definição O Digital Video Broadcasting Project (DVB) é um consórcio entre 250 e 300 integrantes de 35 países dedicados a desenvolver padrões globais.
Televisão Digital Paulyne Jucá.
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Curso: Cerimonial, Protocolo e Eventos
Rio Verde - Goiás - Brasil
Máquina de Turing Universal
FORMATANDO O TRABALHO NO WORD 2007
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Profª. Patrícia Barreto
Planilha Eletrônica - Excel
Arquitetura do Set-top Box para TV Digital Interativa
Transcrição da apresentação:

Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

Agenda Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

Introdução A arquitetura e funcionalidades do Ginga foram projetadas para sistemas de broadcast. Para o sistema normal de antena. A mesma arquitetura pode ser usada para outras maneiras de transporte do sinal ( satélite, TV a cabo e IPTV).

Agenda Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

Arquitetura Ginga The Ginga Architecture can be divided in three major modules: Common Core, Ginga-NCL e Ginga-J: Ginga-J is a logical subsystem of the Ginga System that processes Xlet object content.

Arquitetura Ginga Common Core Ginga-NCL e Ginga-J são construídos sobre os serviços oferencidos pelo Ginga Common-Core module.

Agenda Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

Ginga-NCL - Histórico NCL (Linguagem de Contexto Aninhado). MHEG-1: usava a notação sintática ASN-1 para a definição de aplicações multimídia baseadas no relacionamento entre objetos. Modelo de Contexto Aninhado (NCM) problema de aninhamento de composições em documentos estruturados. MHP primeiro padrão de middleware aberto fundado puramente em Java.

Ginga-NCL – Histórico (cont...) Linguagem declarativa x procedural Queda do uso puramente em JAVA. Pelo alto grau de abstração, a lig. declarativa foi sendo adotada para trabalhar principalmente com a interação e sincronização espaço-temporal de mídias. Os 3 principais padrões: DVB-HTML, ACAP-X e BML adotaram a linguagem declarativa. BML usa apenas declarativa.

Ginga-NCL - XHTML Os três padrões supracitados, utilizam XHTML como linguagem declarativa. XHTML define as relações entre o conteúdo nele contidos junto com sua estruturação. Usa EcmaScript (ou outra linguagem imperativa) para tratar relacionamentos de sincronização espaço-temporal, dentre outros.

Ginga NCL – Comp. das linguagens declarativas SMIL e NCL não misturam a definição do conteúdo de um documento com sua estruturação, oferecendo: um controle não invasivo, tanto do leiaute do documento (apresentação espacial), quanto da sua apresentação temporal. NCL linguagem de “cola” que mantém os objetos semanticamente juntos em uma apresentação multimídia.

Ginga-NCL - Player NCL formatter (NCL player) responsável por apresentar os diversos tipos de mídia como: MP3, MPEG2, HTML, dentre outras. Eventos são gerados durante e apresentação. Devem ser informados pelo player ao formatador NCL. Pode gerar ações para ser aplicado a esse ou outros players. Ginga-NCL define uma API adaptadora, para padronizar a interface entre o Ginga-NCL Formatador, e cada player.

Ginga-NCL – NCL NCL é uma aplicação XML que se segue a abordagem de modularização. Um módulo é uma coleção de elementos XML semanticamente relacionados, atributos e valores do atributo que representa uma unidade de funcionalidade. Uma perfil de linguagem é uma combinação de módulos. No sistema brasileiro temos: EDTVProfile (Enhanced Digital TV Profile) e, BDTVProfile (Basic Digital TV Profile).

Estrutura de um documento NCL Um documento NCL é um arquivo escrito em XML. Um cabeçalho NCL (linhas 1 e 2). <ncl> Uma seção do cabeçalho do programa (<head>, linhas 3 a 13), onde se definem as regiões <regionBase>, descritores <descriptorBase>, conectores <connectorBase>, e as regras <ruleBase>, utilizadas pelo programa. O corpo do programa (<body>, linhas 14 a 17) onde se definem os contextos, nós de mídia, elos e outros elementos que definem o conteúdo e estrutura do programa. Pelo menos uma porta que indica por onde o programa começa a ser exibido (<port> ptInicio, linha 15) e a conclusão do documento </ncl> (linha 18)

Estrutura de um documento NCL

Estrutura de um documento NCL

Exemplo: example03.ncl

Agenda Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

Ginga Common Core Data Processing Ginga Common Core é composto pelos decodificadores de conteudos mais comuns e devem suportar o modelo de decodificação especificados pelo Sistema Brasileiro de TV.

Ginga Common Core Data Processing DSM-CC descritores de fluxo de eventos tem uma estrutura composta basicamente por : id (identificação): identifica unicamente o fluxo de eventos como um comando de edição Time reference: indica o momento exato quando disparar o evento. Private data field: Campo privado com suporte a parametros de eventos.

Ginga Common Core Data Processing A transmissão de documentos NCL podem ser feitas por carrossel de dados ou via canal de retorno. O Ginga Common Core é responsável por montar cada organização de sistema de arquivo que compõe o parametro baseado em XML no receptor

Agenda Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

LUA: THE NCL SCRIPT LANGUAGE A linguagem de script adotado peloGinga-NCL para implementear objetos procedurais embutidos dentro de documentos NCL é a Lua. <media> elementos do tipo application/x-ginga-NCLua”.

LUA: THE NCL SCRIPT LANGUAGE Todas as funções podem receber tempo como parâmetro opcional, desta maneira é possível especificar o momento exato que o comando de edição deverá ser executado. Se o tempo não é especificado o comando é executado imediatamente.

LUA: THE NCL SCRIPT LANGUAGE É possível ter acesso a API provida pelo Ginga-J dependendo da configuração do middleware. Desta maneira é possível ter acesso a alguns recursos do set-top box e funcionalidades do Ginga.

Agenda Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

Comunicação Ginga NCL Ginga-J Ginga NCL -> Ginga-J: Através do NCL definida no elemento <link> que refere-se a elementos <media> representando Xlet(“application/x-ginga-NCLet” type) códigos suportados pelo Ginga-J; Lua scripts (<media> elements of the application/xginga- NCLua” type) referenciando métodos do Ginga-J.

Comunicação Ginga NCL Ginga-J Ginga-J -> Ginga NCL : Através de funções java que podem monitorar eventos e também podem atribuir valores para atributos e elementos NCL.

Agenda Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

Considerações Finais Diferentemente de outros middlewares, o ambiente declarativo é baseado em uma linguagem estruturada, a linguagem NCL. O ambiente declarativo e procedural foi concebido para ser integrado desde o ínicio da fase de design.

C. Final - Propriedades do NCL Ela é uma linguagem structure-based; Provê suporte para sincronização spaço temporal. Incluindo interação com o usuário.

Dúvidas ???

Obrigado!!!

Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br