Modelo Conceitual
Transcrição
Modelo Conceitual
Tratamento de Documentos Multimídia/Hipermídia Tele Mídia PUC-Rio / DI Objetos de Dados ¾ A definição do conteúdo do nó e de suas âncoras são contidas em objetos chamados objetos de dados — OD. ¾ Um ambiente de autoria, contudo, deve também permitir a definição do comportamento esperado de cada componente, isto é, como e com que ferramentas o objeto de dados associado será apresentado. ¾ Estas definições devem ser realizadas, preferencialmente, independente dos objetos de dados. ¾ No NCM, objetos descritor contêm tais informações. Tele Mídia PUC-Rio / DI 1 1 Descritores ¾ A independência entre descritores e objetos de dados vai permitir o melhor reuso de objetos, permitindo apresentações diferentes do mesmo dado. ¾ Descritores diferentes podem levar a durações diferentes de apresentação das unidades de informação de um objeto de dados, a qualidades de apresentações diferentes e a requisitos de plataforma diferentes. Assim, a definição de todos esses quesitos deve também fazer parte do descritor, e não do objeto de dados. Tele Mídia PUC-Rio / DI Objeto de Representação ¾ A agregação de um objeto de dados e um descritor, com a finalidade de apresentar um componente, é chamado objeto de representação — OR e será considerado uma versão de representação do objeto de dados. Tele Mídia PUC-Rio / DI 2 2 Objetos de Armazenamento ¾ Um objeto de dados é criado ou como um novo objeto totalmente novo, ou como uma versão local de outro objeto de dados, ou ainda como uma versão local de objetos persistentes anteriormente criados, chamados de objetos de armazenamento — OA. ¾ Nesse último caso, o objeto de dados é uma cópia do objeto de armazenamento, com a possível adição de novos atributos (nãopersistentes) que são dependentes da aplicação. ¾ Objetos de dados criados a partir de outros objetos são considerados versões de dados. ¾ Objetos de armazenamento, de dados e de representação estão relacionados através de operações de versionamento. Tele Mídia PUC-Rio / DI E’’ Z’’ A’’ 1 k’’ X’’ Plano de Objetos de Representação C’’ A’’ 2 A’’ 1 A’’ 3 Y’’ A’’ 3 C’’ A’’ 3 A’’ 2 A’’ 1 k’’ X’ Z’ Plano de Objetos de Dados k’ X’ E’ De k De 1 C’ De x A’ A’ Y’ Nós E’ Z Plano de Objetos de Armazenamento Y’ E DeK k X C Dex A De3 De z De c Descritores De 1 DeE De 2 DeZ A Y A E De Y X C Nós k’ X’ A’ De E De 2 De y X’ C’ k X X’’ Y’’ E’’ Y A’’ 2 De 3 DeC Descritores Tele Mídia PUC-Rio / DI 3 3 Modelo Conceitual Entidade Nó Descritor Âncora Composição Media Texto .. . Gráfico .. . Áudio Elo Vídeo .. . .... Contexto . . OA-Áudio OD-Áudio OR-Áudio OA-Contexto … OD-Contexto OR-Contexto Descritor Especificação de Iniciação Especificação de Término Coleção de Descrições de Eventos Tele Mídia PUC-Rio / DI Descritor - Especificação de Iniciação ¾ Contém as informações necessárias para iniciar a apresentação de uma entidade. Em particular, ela define os métodos para exibição ou edição das entidades. ¾ Ela deve definir todos os parâmetros (valores de propriedades) necessários para a criação de um objeto representação a partir de um objeto de dados. ¾ Uma especificação de iniciação possui também uma lista ordenada de operações que devem ser executadas para preparar a exibição do nó. Tele Mídia PUC-Rio / DI 4 4 Descritor - Especificação de Iniciação ¾ A noção exata do que constitui uma especificação de iniciação depende da classe do nó ao qual o descritor será associado. ¾ Por exemplo, para um nó texto, uma especificação de iniciação pode determinar o editor de texto “word,” pode passar, para a criação do objeto de representação, o tamanho da janela de apresentação do texto e sua posição na tela, etc. ¾ No caso especial de uma composição, o método default de exibição é o definido na composição, ou redefinido nas subclasses (por exemplo o método para exibição da hiperbase pública e da base privada). Tele Mídia PUC-Rio / DI Especificação de Término ¾ Uma especificação de término contém as informações necessárias para finalizar a apresentação de uma entidade. Em particular, ela define os métodos que devem ser executados ao final de uma exibição. ¾ Uma especificação de término possui também uma lista ordenada de operações que devem ser executadas ao finalizar a exibição do nó. Tele Mídia PUC-Rio / DI 5 5 Modelo Conceitual Entidade Nó Descritor Âncora Composição Media Texto .. . Gráfico .. . Áudio Elo Vídeo .. . .... Contexto . . OA-Áudio OD-Áudio OR-Áudio OA-Contexto OD-Contexto … OR-Contexto Node Identificador Conteúdo Conjunto de propriedades Tele Mídia PUC-Rio / DI Modelo Conceitual Entidade Nó Descritor Âncora Composição Media Texto .. . Gráfico .. . Áudio Elo Vídeo .. . .... Contexto . . OA-Áudio OD-Áudio OR-Áudio OA-Contexto … OD-Contexto OR-Contexto Node Media Conjunto de âncoras Identificador Conjunto de Descritores Alternativos Conteúdo Conjunto de propriedades Tele Mídia PUC-Rio / DI 6 6 Modelo Conceitual Entidade Nó Descritor Âncora Composição Media Texto .. . Gráfico .. . Áudio Elo Vídeo .. . .... Contexto . . OA-Áudio OD-Áudio OR-Áudio OA-Contexto … OD-Contexto OR-Contexto Context Node Coleção de Apresentação Conteúdo: Conjunto de Media or Context Nodes Conjunto de Links Lista ordenada de âncoras Estado Tele Mídia PUC-Rio / DI Modelo Conceitual PT: <(Nk ,..., N2, N1), α, D> Entidade Nó Descritor Âncora Composição Media Texto .. . Gráfico .. . Áudio Elo Vídeo .. . .... Contexto . . OA-Áudio OD-Áudio OR-Áudio OA-Contexto … OD-Contexto OR-Contexto Link Conjunto de Pontos Terminais Fonte Conjunto de Pontos Terminais de Destino Conteúdo Tele Mídia PUC-Rio / DI 7 7 Recordando Modelo Conceitual Entity Entity • Metadados Node • Identificador • Conteúdo • Conjunto de propriedades Anchor Node Media • {UI} • Conjunto de âncoras Composition • Coleção de nós Media Image Audio Video Âncora • Região Composition Context Text Link ... Contexto • Conjunto de nós • Conjunto de elos • Conjunto de âncoras Elo • Conjunto pontos terminais de origem • Conjunto de pontos terminais de destino • Conteúdo 16 8 8 Modelo Conceitual Entity Descriptor Anchor Link Node Composition Context Descritor • Especificação de Iniciação • Conjunto de propriedades/valor • Especificação de término • Coleção de eventos Media Text Image Audio Video ... 17 Modelo Conceitual Entity Descriptor DescriptorSwitch Link Node Composition Media Context Text Image Audio Video Node • Identificador • Conteúdo • Conjunto de propriedades • Coleção de descritores alternativos ... 18 9 9 Modelo Conceitual Entity PT = <Nk, Nk-1, ... , N1, α , DS > Descriptor DescriptorSwitch Link Node Composition Media Context Text Image Audio Video ... Elo • Conjunto pontos terminais de origem • Conjunto de pontos terminais de destino • Conteúdo 19 Modelo Conceitual Interface Anchor Property 20 10 10 Modelo Conceitual Entity Descriptor Link Node Composition Media Context Text Image Audio Video Descritor • Especificação de Iniciação • Conjunto de propriedades/valor • Especificação de término • Coleção de eventos ... 21 Modelo Conceitual Entity Descriptor Link Node Composition Media Context Text Image Audio Video Descritor • Especificação de Iniciação • Conjunto de propriedades/valor • Especificação de término ... 22 11 11 interface Modelo Conceitual Entity PT = <Nk, Nk-1, ... , N1, α , DS > Descriptor DescriptorSwitch Link Node Composition Media Context Text Image Audio Video ... Elo • Conjunto pontos terminais de origem • Conjunto de pontos terminais de destino • Conteúdo 23 Modelo Conceitual Interface Port Anchor Property seletion onSelectionStart presentation 24 12 12 Modelo Conceitual Entity PT = <Nk, α , DS > Descriptor DescriptorSwitch Link Node Composition Media Context Text Image Audio Video ... 25 Eventos • Seguindo a definição de Perez-Luque, um evento é uma ocorrência no tempo que pode ser instantânea ou durar um período de tempo. • Evento de pré-busca: busca de uma coleção não vazia de unidades de informação • Evento de exibição: exibição de uma coleção não vazia de unidades de informação • Evento de seleção: seleção de uma coleção não vazia de unidades de informação • Evento de atribuição: mudança de um atributo de um nó ou da condição de habilitação das mudanças de comportamento definidas no objeto descritor (visto mais adiante) • O início ou fim de um evento é instantâneo e é denominado ponto de sincronização. Note que o ponto de sincronização é também um evento. 26 13 13 Máquina de Estados de Eventos paused stop | abort start | resume pause start sleeping stop (natural end) occurring abort Transition (caused by action) sleeping→ occurring (start) occurring→ sleeping (stop or natural end) occurring→ sleeping (abort) occurring→ paused (pause) paused→ occurring (resume or start) paused→ sleeping (stop) paused→ sleeping (abort) 27 Modelo Conceitual Interface Port Anchor Property selection onSelectionStart presentation 28 14 14 Modelo Conceitual Entity Descriptor DescriptorSwitch Connector Link Node Composition Media Context Text Image Audio Video ... Connector • Identificador • Conjunto de papéis (roles) • Glue expression 29 Modelo Conceitual Entity Descriptor DescriptorSwitch Connector Link Node Composition Media Context Text Image Audio Video Elo • Identificador • Conjunto de binds • Connector ... 30 15 15 Modelo Conceitual Entity Descriptor DescriptorSwitch Connector Link Node Composition Media Context Text Image Audio Video ... Connector • Identificador • Conjunto de papéis (roles) • Glue expression 31 Papel (Role) • Identificador • Tipo de evento • Cardinalidade: especifica o número mínimo e máximo de eventos que podem exercer o papel, em um elo. • Observação: Se o tipo de evento de um papel for de atribuição, o papel pode também identificar o valor. 32 16 16 Modelo Conceitual Role Condition Action Assessment simpleCondition Role Identificador Tipo de Evento Cardinalidade Qualificador valor simpleCondition role transition delay 33 Máquina de Estados de Eventos paused stop | abort start | resume pause start prepared stop (natural end) occurring abort Condições SImples sleeping→ occurring (start) occurring→ sleeping (stop or natural end) occurring→ sleeping (abort) occurring→ paused (pause) paused→ occurring (resume or start) paused→ sleeping (stop) paused→ sleeping (abort) 34 17 17 Valores reservados de papéis de condição Role Value Transition Value Event Type Starts presentation onEnd Stops presentation onAbort Aborts presentation onPauonBegin se Pauses presentation onResume Resumes presentation onSelection Stops selection onAttributionBegin Starts attribution onEndAttribution Stops attribution 35 Modelo Conceitual Role Condition Assessment attributeAssessment attributeStatement Action valueAssessment compoundStatement Role Identificador Tipo de Evento Cardinalidade Qualificador Valor 36 18 18 Modelo Conceitual Role Condition Assessment Action compoundCondition simpleCondition Role Identificador Tipo de Evento Cardinalidade Qualificador Valor compoundCondition operator delay 37 Modelo Conceitual Role Condition Action Assessment simpleAction Role Identificador Tipo de Evento Cardinalidade Qualificador Valor simpleAction actionType delay 38 19 19 Action Roles • Capturam ações que podem ser executadas sobre os eventos. • Tipo da ação (valores reservados de papéis) Action type Event type Start presentation Stop presentation Abort presentation Pause presentation Resume presentation Start attribution 39 Modelo Conceitual Role Condition Action Assessment simpleAction CompoundAction Role Identificador Tipo de Evento Cardinalidade Qualificador Valor compoundAction actionType delay 40 20 20 Modelo Conceitual Entity Descriptor DescriptorSwitch Connector Link Node Constraint Causal Composition Media Context Text Image Audio Video ... Connector • Identificador • Conjunto de papéis (roles) • Glue expression 41 Modelo Conceitual Glue Causal Causal simpleCondition | compoundCondition simpleAction | compoundAction 42 21 21 Modelo Conceitual Glue Causal Constraiint Constraint statementExpression 43 Modelo Conceitual Entity Descriptor DescriptorSwitch Connector Link Node Constraint Causal Composition Media Context Text Image Audio Video ... Connector • Identificador • Conjunto de papéis (roles) • Glue expression 44 22 22 Modelo Conceitual Entity Descriptor DescriptorSwitch Connector Link Node Constraint Media Text Image Causal Composition Audio Video ... Switch Context 45 Modelo Conceitual Interface Port Switch Port Anchor Property 46 23 23 Modelo Conceitual Entity Descriptor DescriptorSwitch Connector Link Node Constraint Causal Composition Media Text Image Audio Video ... Switch Context 47 Paradigmas de Programação • Imperativo (procedural) – Especificação: como fazer – Maior poder de expressão • Declarativo – Especificação: a intenção final – Especificação em mais alto nível 48 24 24 Linguagem de Especificação • Simples de ser entendida e usada • Leve • Expressiva • Linguagem Declarativa de Domínio Específico DSL 49 Funcionalidades – Suporte declarativo a: • Sincronismo de mídia – Interatividade como um caso particular • Adaptabilidade • M últiplas redes de distribuição • M últiplos dispositivos de exibição • Edição ao vivo 50 25 25 Imperativo: Lua ECMAScript Java Declarativo: NCL HTML MHEG 51 Imperativo Declarativo + geral + eficiente + fácil de usar 52 26 26 Declarativo X Imperativo Imperativo Declarativo 53 Declarativo X Imperativo Imperativo Declarativo 54 27 27 Declarativo X Imperativo Imperativo Declarativo 55 Declarativo X Imperativo Imperativo Declarativo HTML 56 28 28 Por que NCL? 57 NCL – Nested Context Language • Suporte à sincronização – Sincronização baseada na estrutura – Suporte a canal de retorno • Suporte a múltiplas redes de distribuição • Suporte a múltiplos dispositivos • Suporte à adaptação do conteúdo e da apresentação • Suporte à edição ao vivo • NCL é software livre 58 29 29 Modelo Conceitual Entity <descriptor/> Descriptor DescriptorSwitch <descriptorSwitch/> Connector Link <link/> Node Constraint Causal <causalConnector/> Media Text Image Composition <media/> Audio Video ... Switch Context <context/> <switch/> 59 Modelo Conceitual Interface <port/> Port Switch Port <switchPort/> Anchor Property <property/> <area/> 60 30 30 NCL Nested Context Language • Inovação do Sistema Brasileiro de TV Digital: – Linguagem declarativa NCL (Nested Context Language) – Sua linguagem de script Lua – seu ambiente de execução middleware Ginga-NCL. • ITU-T H.761 Recommendation for IPTV services • ITU-R BT 1691-1 Recommendation for Terrestrial DTV 61 Declarativo X Imperativo Imperativo Declarativo NCL 62 31 31 Declarativo X Imperativo Imperativo Declarativo Linguagens de Sistema Java C Linguagens de Script ECMAScript Lua 63 Eficiência? Footprint? Sistema Script + fácil de usar 64 32 32 Script X Sistema Sistema Script 65 Script X Sistema Sistema Script 66 33 33 Script X Sistema Sistema Script 67 Opções Ginga Java Lua Tarefas de pequena e média complexidade: Lua Tarefas de grande complexidade: Java 68 34 34 Opções Ginga Java Lua 69 Por que Lua? 70 35 35 Por que Lua? Lua é simples e expressiva Lua é portável Lua é fácil de embarcar Lua é rápida Lua é robusta Lua é software livre 71 http://shootout.alioth.debian.org / • Lua vs JS • LuaJIT vs JS JavaScript SpiderMonkey = 936 Kbytes Lua = 120 Kbytes LuaJIT = 150 Kbytes 72 36 36 Alguns Jogos Usando Lua 73 ... Apl 1 Apl 3 Apl 2 Apl n Middleware SO 74 37 37 ... Apl 1 Apl 3 Apl 2 Apl n Lua Ginga - NCL Extensions Ginga-CC OS 75 Ginga Ginga-NCL Presentation Engine Extensions Scheduler Player Manager Layout Manager XML Parsers Converters Private Base Manager Adapters Ginga Com m on-Core CA Form atter NCL Context Manager Context Manager Data Processing Search Engine Update Manager Tuner DRM Players G. Manager Protocol Stack 76 38 38 Ginga-NCL Ginga-NCL Presentation Engine Form atter NCL Context Manager Player Manager Converters Scheduler Layout Manager Private Base Manager Adapters Ginga Com m on-Core CA XML Parsers Context Manager Data Processing Search Engine Update Manager Tuner DRM Players G. Manager Protocol Stack SI MPE DSM-CC Media Streams HTTP RTP RTCP TS TCP UDP IP 77 Ginga-J + Ginga-NCL Ginga-NCL Presentation Engine Ginga –J Execution Engine Bridge Scheduler Player Manager Layout Manager XML Parsers Converters Private Base Manager Adapters Ginga Com m on-Core CA Form atter NCL Context Manager Context Manager Data Processing Search Engine Update Manager Tuner DRM Players G. Manager Protocol Stack SI MPE DSM-CC Media Streams HTTP RTP RTCP TS TCP UDP IP 78 39 39 Broadband TV + Ginga-NCL Ginga-NCL Presentation Engine Form atter NCL Context Manager Player Manager Converters Scheduler Layout Manager Private Base Manager Adapters Ginga Com m on-Core Context Manager Data Processing CA XML Parsers Search Engine Update Manager Tuner DRM Players G. Manager Protocol Stack SI MPE DSM-CC Media Streams HTTP RTP RTCP TS TCP UDP IP 79 Broadband TV + Ginga-NCL Ginga-NCL Presentation Engine Services / Applications over IP Broadband TV EPG Gam ing Widgets Bridge Scheduler Player Manager Layout Manager XML Parsers Converters Private Base Manager Adapters Ginga Com m on-Core Context Manager Data Processing CA Form atter NCL Context Manager Search Engine Update Manager Tuner DRM Players G. Manager Protocol Stack SI MPE DSM-CC Media Streams IGMP FTP HTTP RSTP RTCP RTP TCP TS and Others UDP IP 80 40 40 IPTV + Ginga-NCL Ginga-NCL Presentation Engine Services / Applications over IP IPTV - Broadband TV VOIP EPG Gam ing Widgets PPV Bridge Player Manager VOD XML Parsers Converters Scheduler Layout Manager Private Base Manager Adapters Ginga Com m on-Core Context Manager Data Processing CA Form atter NCL Context Manager Search Engine Update Manager Tuner DRM Players G. Manager Protocol Stack SI MPE DSM-CC Media Streams IGMP FTP HTTP RSTP RTCP RTP TCP TS and Others UDP IP 81 Hybrid TV Ginga-NCL Presentation Engine Services / Applications over IP IPTV - Broadband TV VOIP EPG Gam ing Widgets PPV Bridge VOD Scheduler Player Manager Layout Manager XML Parsers Converters Private Base Manager Adapters Ginga Com m on-Core Context Manager Data Processing CA Form atter NCL Context Manager Search Engine Update Manager Tuner DRM Players G. Manager Protocol Stack SI MPE DSM-CC Media Streams IGMP FTP HTTP RSTP RTCP RTP TCP TS and Others UDP IP 82 41 41 java onBegin Start Start Start onBegin onEnd Stop Start onBegin onSelection Stop Set Set size size Stop Start Start onEnd Smil 83 TV interactiva se hace con Ginga Copyright © 2006 TeleMídia http://www.ncl.org.br http://www.ginga.org.br http://www.softwarepublico.gov.br http://clube.ncl.org.br/ http://www.telemidia.puc-rio.br 42 42