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