1.1. Aplicações de TVD dinâmicas



Documentos relacionados
2 Geração Dinâmica de Conteúdo e Templates de Composição

1 Introdução Motivação

4 Arquitetura para aplicações NCL dinâmicas

4 Plano de Recuperação

5.1. Análise Comparativa

4 O Workflow e a Máquina de Regras

TV Digital no Brasil e o Middleware Ginga. Luiz Eduardo Cunha Leite

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

02 - Usando o SiteMaster - Informações importantes

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta:

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Resolução da lista de exercícios de casos de uso

Desenvolvendo Websites com PHP

Entretenimento e Interatividade para TV Digital

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Orientação a Objetos

4 Segmentação Algoritmo proposto

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

2 Diagrama de Caso de Uso

Anderson Corrêa Carraro 1, Fernando Alves Rodrigues 2, Silvio Francisco dos Santos 3

Construção Páginas de Internet

Sistema Hospitalar - Módulo Auditoria v.1.0

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

CAPÍTULO 2. Este capítulo tratará :

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Emissão de Nota Fiscal de Serviço Eletrônica

Manual do usuário. v1.0

Documento de Arquitetura

Análise e Projeto Orientados por Objetos

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

1 Inicie um novo. Guia de Referência Rápida de Gerenciamento de Projeto para o Project projeto

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Passo a Passo do Checkout no SIGLA Digital

Manual do Painel Administrativo

Microsoft Office PowerPoint 2007

PESPECTVIAS DO PROJETO DE PESQUISA DESENVOLVIMENTO DE MIDDLEWARE PARA DIVULGAÇÃO DE SABERES POPULARES NO CANAL DE INTERATIVIDADE DA TV DIGITAL *

1

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

Introdução Padrão Brasileiro de TV Digital. Desenvolvimento de Aplicações Interativas. Trabalhos em andamento

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Receber intimações: poderão receber intimações em processos eletrônicos nos quais estejam vinculados.

Como conduzir com sucesso um projeto de melhoria da qualidade

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

TV DIGITAL INTERATIVA: UM RECURSO DIDÁTICO NO PROCESSO DE ENSINO E APRENDIZAGEM DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Diferenças da versão 6.3 para a 6.4

Levantamento de Requisitos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

3 SCS: Sistema de Componentes de Software

MANUAL PARA UTILIZAÇÃO DO MOODLE FACULDADE INTERAÇÃO AMERICANA VIRTUAL - Versão: Aluno

Figura 1 - Arquitetura multi-camadas do SIE

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Programação Web Prof. Wladimir

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Dois novos relatórios estão disponíveis nesta versão do Imobiliária 21. São eles: Devedores e Imóvel por Área. Veja abaixo como emitir cada um.

Feature-Driven Development

Criando um script simples

INSTRUMENTO NORMATIVO 004 IN004

Manual SAGe Versão 1.2 (a partir da versão )

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Construção da Consulta. Para a construção da consulta, siga os passos abaixo:

MANUAL COL MÓDULO DE CADASTRO DE CLIENTES

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V

Manual dos Serviços de Interoperabilidade

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Ajuda ao SciEn-Produção O Artigo Científico da Pesquisa Experimental

Engenharia de Requisitos Estudo de Caso

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Manual do sistema SMARsa Web

VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

MUDANÇAS NA ISO 9001: A VERSÃO 2015

Análise de Ponto de Função

INTRODUÇÃO AO MICROSOFT DYNAMICS AX 4.0 FINANCEIRO I

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Manual do Contribuidor. Portal de Internet. Projeto: Novo Portal de internet

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Manual de Utilização MU /2013 ISPADIGITAL/e-Campus(Perfil utilizador - Estudante)

PASSO A PASSO GOOGLE DOCS - FORMULÁRIOS GOOGLE DOCS

Anote aqui as informações necessárias:

Análise de Dados do Financeiro

Manual de implantação

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Transcrição:

1 Introdução Uma aplicação de TV Digital (TVD) comumente é composta por um vídeo principal associado a outros objetos (aplicações, imagens, vídeos, textos etc.), que são transmitidos em conjunto possibilitando um programa de TV não-linear. Os conteúdos possuem entre si relacionamentos de sincronismo no tempo e espaço, o que é descrito no contexto da especificação de uma aplicação de TVD. Usualmente os sistemas de TVD dão suporte à especificação de aplicações sob os paradigmas imperativo ou declarativo. Ginga-J (Souza, 2007) e OCAP-RI (OpenCable Application Platform Reference Implementation) (OCAP-RI, 2011) são exemplos de sistemas que dão suporte a especificações sob o paradigma imperativo. LASeR (Lightweight Application Scene Representation) (ISO, 2006), BML (Broadcast Markup Language) (B24, 2004) e Ginga-NCL (Soares, 2007; Souza, 2007) são exemplos de sistemas que dão suporte a especificações sob o paradigma declarativo. As especificações de aplicações declarativas de TVD são determinadas por meio de documentos. Esses documentos têm como função principal comunicar quais objetos de mídia compõem uma aplicação e como esses objetos se relacionam no tempo e espaço. Os documentos de especificação são expressos em alguma linguagem declarativa por parte de um produtor de conteúdo, transmitidos juntamente com os objetos de mídia que a compõem, para por fim serem interpretados por agentes de usuário em um receptor (cliente) de TVD. Esse agente de usuário pode ser, por exemplo, um formatador que controla a exibição dos objetos de mídia de uma aplicação a partir de relacionamentos especificados no documento. A fase de preparação desses documentos é chamada comumente de tempo de autoria e é feita em ambientes ou ferramentas próprias para esse fim. A exibição do documento ocorre em uma fase distinta, executada pelo agente de usuário, a qual é chamada de tempo de apresentação. Alguns sistemas de TVD dão suporte à geração dinâmica do conteúdo de aplicações e à edição dinâmica de documentos. Isso significa que o documento

Introdução 12 pode ser especificado de tal forma a prever modificações em si mesmo em tempo de apresentação. O dinamismo em tais documentos torna menos clara a separação entre tempo de autoria e de apresentação. Isso porque os conteúdos dos documentos objetos de mídia e relacionamentos entre objetos de mídia podem ser dinamicamente inseridos, removidos ou modificados em tempo de apresentação. Esse recurso de geração dinâmica de documentos permite o desenvolvimento de uma nova gama de aplicações em que parte do conteúdo é concebida apenas em tempo de apresentação quando, por exemplo, é o momento de o usuário interagir com a aplicação ou apenas quando se conhece o perfil do usuário da aplicação, ou ainda quando a aplicação obtém dados atualizados. Neste trabalho é demonstrado como é possível estabelecer um padrão de arquitetura a ser seguido por um tipo especial de aplicações TVD que têm conteúdo gerado dinamicamente. O foco desta dissertação está na definição dessa arquitetura, e em como ela pode contribuir para facilitar o desenvolvimento de aplicações que se utilizam da geração dinâmica de conteúdo. Para ilustrar o padrão de arquitetura proposto, é oferecida uma implementação baseada em NCL (Nested Context Language) (ITU-T, 2009), linguagem de especificação de documentos para TV digital. NCL é a linguagem declarativa padrão do Ginga (Soares, 2007; Souza, 2007), middleware do Sistema Nipo-Brasileiro de TV Digital (ISDB-TB) e recomendação ITU-T (ITU-T, 2009) para IPTV. Seu subsistema Ginga-NCL fornece suporte à geração dinâmica de conteúdo (Costa, 2006). A Seção 1.1 introduz o que são aplicações de TVD dinâmicas e cita dois tipos dessas aplicações, dando ênfase às denominadas aplicações que se recriam dinamicamente. Em seguida, a Seção 1.2 apresenta a motivação para se definir uma arquitetura para esse tipo de aplicação. Essa arquitetura, descrita com maiores detalhes no Capítulo 3, se baseia no método de autoria orientado a templates (Soares Neto, 2010), e um dos objetivos da Seção 1.2 é mostrar como os conceitos utilizados nesse método podem ser úteis no processo de desenvolvimento de uma aplicação que se recria dinamicamente. Para encerrar este capítulo, a Seção 1.3 apresenta os objetivos e a Seção 1.4 apresenta a estrutura da dissertação.

Introdução 13 1.1. Aplicações de TVD dinâmicas Aplicações de TVD dinâmicas são caracterizadas por possuírem conteúdos que podem ser gerados ou modificados em tempo de apresentação. Elas são importantes porque: Seus objetos de mídia e relacionamentos hipermídia podem ser gerados em aplicações de TVD para programas transmitidos ao vivo. Por exemplo, guias eletrônicos de programação podem ser gerados em tempo real; Oferecem a possibilidade de postergar a especificação de parte do conteúdo que envolva processamento complexo e que não precise ser realizado antes da ocorrência de determinados eventos. Por exemplo, a geração de um menu de vídeos relacionados semanticamente a outro vídeo só precisa ser feita após uma ação de seleção pelo usuário; Permitem personalizar os conteúdos conforme as características dos usuários da aplicação, dados das interações do usuário etc. O sistema ISDB-TB e seu middleware Ginga, mais especificamente seu ambiente declarativo para aplicações NCL, foram estabelecidos na seção anterior como a plataforma de TVD em que esta dissertação se baseia. Ginga dá suporte à especificação de aplicações NCL dinâmicas por meio dos seguintes métodos de geração de conteúdo dinâmico: 1. Objetos NCLua Ginga-NCL dá suporte a objetos cujo conteúdo consiste em código imperativo escrito na linguagem Lua, chamados de objetos NCLua. A API NCLua Canvas oferece funcionalidades para que que conteúdos possam ser apresentados em uma aplicação. Utilizando essa API, esses conteúdos podem ser incluídos dinamicamente na exibição de uma aplicação durante a execução de um objeto NCLua;

Introdução 14 2. Comandos de edição externos aos clientes As aplicações de TVD são transmitidas para o cliente por meio de um sinal digital com vários tipos de fluxos multiplexados, tais como os fluxos de vídeo principal, áudio principal, dados (outros objetos de mídia, sistemas de arquivos etc.) etc. O agente de usuário no cliente demultiplexa o sinal para exibir a aplicação. No ISDB-TB, a transmissão dos dados da aplicação segue um protocolo de carrossel de objetos DSM-CC (ISO/IEC, 1998), que consiste em enviar ciclicamente esses dados para o cliente a fim de que sejam remontados conforme são recebidos. Além desses fluxos, é possível enviar também fluxos de eventos (stream events). Objetos de eventos (event objects) são enviados por provedores de conteúdo em fluxos de eventos (stream events) do carrossel de objetos, que podem conter comandos destinados a realizar alterações na aplicação e que são tratados pelo cliente. No Ginga, esses comandos permitem, por exemplo, a adição de novos objetos (comando addnode), relacionamentos (comando addlink) etc. (Costa, 2006); 3. Comandos de edição provenientes de objetos NCLua O formatador NCL se comunica por tratamento de eventos com objetos NCLua da aplicação. Uma das classes de eventos que existem nessa comunicação é o edit. Eventos do tipo edit gerados por objetos NCLua agem semelhantemente aos comandos de edição externos, informando ao formatador alterações a serem realizadas na aplicação. A possibilidade de gerar eventos da classe edit permite a adição de novos conteúdos (objetos de mídia e relacionamentos entre os mesmos) na aplicação. 4. Elementos switch e descriptorswitch O conteúdo de uma aplicação NCL pode ser adaptado em tempo de apresentação por meio de elementos switch e a forma de apresentação desse conteúdo pode ser adaptado por meio de elementos descriptorswitch. Um elemento switch é uma composição que contém objetos alternativos, ou seja, dentre os quais apenas um é selecionado. Esses objetos podem ser de mídia, de contexto e outros switches. O nó selecionado em um switch é determinado a partir da avaliação de regras de mapeamento definidas dentro do próprio switch por elementos bindrule.

Introdução 15 Da mesma forma que se utiliza o elemento switch para selecionar um conteúdo conforme uma regra, o elemento descriptorswitch serve para selecionar um descritor conforme uma regra. Assim como no switch, são utilizados elementos bindrule para ligar uma regra ao descritor correspondente. 5. Objetos HTML referenciando páginas dinâmicas HTML é uma linguagem com suporte à exibição de conteúdo dinâmico. Várias linguagens de script podem ser embutidas em HTML com esse propósito, como ECMAScript (ECMA, 1999), JavaScript (Flanagan, 2011). O suporte a conteúdos dinâmicos é obtido diretamente, uma vez que NCL permite a exibição de objetos HTML. Aplicações de TVD dinâmicas possuem objetos de mídia especiais que geram outros objetos de mídia e relacionamentos dinâmicos na aplicação. Elas iniciam um processo de geração de parte do conteúdo da aplicação a partir da ocorrência de algum tipo de evento. Em NCL, por exemplo, esses objetos de mídia especiais são os objetos NCLua, que quando executados podem modificar o conteúdo de documentos por meio de eventos de edição enviados ao formatador NCL. Como um caso particular, há aquelas aplicações que reestruturam seu próprio conteúdo completamente, denominadas nesta dissertação como aplicações que se recriam dinamicamente. Essas aplicações iniciam um processo de recriação completa de seu conteúdo a partir da ocorrência de algum tipo de evento. Nesse caso, ao fim do processo de geração de conteúdos, as aplicações recriadas devem permanecer conforme um padrão de composição, ou template de composição. Para a especificação desse tipo de aplicação dinâmica, são utilizados o primeiro e terceiro métodos mencionados anteriormente (objetos NCLua e comandos de edição provenientes de objetos NCLua). Os templates de composição são usados na arquitetura proposta nesta dissertação para definir restrições sobre as aplicações dinâmicas que se recriam dinamicamente. A próxima seção inicia uma discussão acerca das aplicações que se recriam dinamicamente, e a conveniência da arquitetura dessas aplicações utilizar templates de composição no processo de recriação do conteúdo.

Introdução 16 1.2. Motivação Nas aplicações que se recriam dinamicamente, a lógica da aplicação é recriada - ou seja, uma especificação do documento NCL é removida e uma nova especificação é adicionada ao mesmo documento o que ocorre a partir de um determinado evento. Em suma, o documento está sendo especificado novamente. Se a semântica da especificação adicionada é previamente conhecida por meio de um template, o gerador pode reusar essa especificação. Ao invés de recriar todos os objetos de mídia e relacionamentos da nova especificação do documento, só é preciso determinar quais são os componentes que preenchem as lacunas deixadas pelo template. O processo de recriação feito dessa forma se assemelha ao método de autoria orientado a templates descrito em (Soares Neto, 2010). Nesse método, o autor de aplicações tem seu trabalho simplificado porque ele só precisa especificar o documento de preenchimento, ao invés de especificar a semântica completa da aplicação. A Seção 2.2 apresenta maiores detalhes sobre esse método. O desenvolvimento de aplicações NCL que se recriam dinamicamente com a utilização de templates é um cenário ainda não explorado em aplicações de TVD dinâmicas. Diante disso, a motivação desta dissertação consiste na possibilidade de disponibilizar um padrão de desenvolvimento a ser seguido por aplicações NCL dinâmicas que se enquadram na categoria das que se recriam dinamicamente. A ideia é utilizar um exemplo de aplicação NCL e, a partir da arquitetura dessa aplicação, fornecer uma base de conhecimento para que futuras aplicações desse mesmo tipo possam ser estruturadas segundo os princípios utilizados na aplicação exemplo. 1.3. Objetivos Esta dissertação tem como principal objetivo especificar uma arquitetura baseada no uso de templates para geração de aplicações NCL recriadas dinamicamente. A partir dessa arquitetura, outras aplicações dinâmicas desse tipo podem se basear no mesmo processo e reaproveitar soluções recorrentes. Como instrumentação para o alcance do objetivo principal, esta dissertação provê uma ferramenta de autoria gráfica para a geração da composição inicial da

Introdução 17 aplicação em questão. Essa ferramenta também irá se valer dos princípios de autoria orientada a templates para facilitar o trabalho dos autores que não têm experiência com linguagens de programação. 1.4. Organização da dissertação Na literatura, há abordagens que consistem em dar suporte à geração dinâmica de conteúdos e à especificação de aplicações com utilização de templates, o que é detalhado no Capítulo 2. De forma complementar, o Capítulo 3 apresenta diversos trabalhos relacionados à proposta desta dissertação. O Capítulo 4 é dedicado à definição dos elementos arquiteturais presentes na solução de arquitetura proposta, bem como do papel de cada um desses elementos na estrutura de uma aplicação NCL que se recria dinamicamente. Algumas visões sobre a arquitetura dessa aplicação são apresentadas a fim de detalhar o processo de especificação da arquitetura em questão. O Capítulo 5, por sua vez, apresenta a implementação de um suporte à geração automática de aplicações. Uma ferramenta gráfica permite ao autor gerar aplicações que seguem a arquitetura apresentada no Capítulo 4. Por fim, o Capítulo 6 é reservado às considerações finais sobre o trabalho, destacando as principais contribuições desta dissertação e as sugestões de melhorias a serem realizadas em trabalhos futuros.