Вы находитесь на странице: 1из 25

Introduccin a Ginga NCL

Historia de NCL (Nested Context Language

Cuando se creo la idea de la television Digital y su interactividad, se tuvo que crear todo el modelo para que este funcione. Se tuvo que pensar en un lenguaje que sea simple para ser entendido y aprendido por personas que no sean programadores, ya que a ora, el televidente puede ser parte del proceso de generacin de contenidos, as! como son las redes sociales.

"ste lenguaje de#e ser ligero y su int$rprete de#e ejecutarse en los receptores de #ajo costo y por lo tanto, con recursos limitados. "ste lenguaje tam#i$n de#e ser lo suficientemente potente como para no limitar la creatividad.

%n desarrollo de aplicaciones de televisin puede seguir diferentes paradigmas de programacin&

"l imperativo, es el estilo de programacin convencional, donde las aplicaciones se descomponen en pasos de c'lculo que nos dan una especificacin de algoritmos. La declarativa, que ace incapi$ en la descripcin declarativa de un pro#lema, en lugar de su descomposicin en una aplicacin algor!tmica.

%na aplicacin de ()D se compone de escenas, pero a diferencia de un () analgica, una escena se compone no slo del v!deo principal y el audio principal, pero adem's de otros o#jetos multimedia como im'genes, te*to, otros videos y audios, que se sincroni+an en tiempo y espacio.

Sincroni+acin temporal es una cuestin clave importante.

, diferencia de () analgica, en ()D, los cam#ios de escena pueden ser no secuencial e incluso puede depender de una intervencin del espectador. Sin em#argo, las interacciones con el espectador no de#er!an ocurrir con tanta frecuencia, en comparacin con las aplicaciones dise-adas para ordenadores. La () no es una computadora.

Que es el NCM 3.0 (Nested Context Model)

NC. es un modelo conceptual, se centr en la representacin y manipulacin de documentos ipermedia. %n modelo de ipermedia conceptual de#e representar los datos estructurales/conceptos, as! como los eventos y las relaciones en relacin con los datos. "l modelo tam#i$n de#e definir las reglas que estructuran y las operaciones en los datos de la manipulacin y la actuali+acin de las estructuras.

"sta nueva versin del NC., llamado NC. 0.1, ace una nueva revisin de la jerarqu!a de clases NC.. "l nuevo soporte para las adaptaciones de documentos y la presentacin, asi como especificaciones como control de versiones 2como ser distri#uidas3. NC. es el modelo su#yacente al NCL 2Nested Conte*t Language3, un idioma de aplicacin de 4.L para la creacin de documentos ipermedia.

Que es un Documento Hipermedia?

Documentos ipermedia son documentos generalmente compuestos de nodos 2nodes3 y enlaces 2lin5s3. "l NC., va m's all' para representar ipermedia. "n NC., los gr'ficos se pueden anidar, lo que permite segmentacin y la estructuracin ipermedia como sea necesario o deseado.

6or lo tanto, un nodo puede ser de 7 tipos&


Nodo de contenido o de media, asociado a un elemento de media como v!deo, audio, imagen, te*to, aplicaciones, etc. Nodo de composicin o conte*to, que es un interruptor o caso particular, que se e*plicar' m's adelante3.

cap!tulo 8 y cap!tulo 7 son nodos de conte*tos 2nodos compuesto3, mientras que cada seccin es un nodo de contenido.

Estructura de un documento Hipermedia

6ara crear un documento ipermedia, se de#e definir lo que se quiere&


cargar, donde cargar 2es decir, en esa regin de la pantalla en la que dispositivo3, cmo cargar 2es decir, con que volumen, con o sin #orde, con que player3 y cu'ndo cargar 2antes 9 despu$s de que los medios de comunicacin se muestran o despu$s de que #oton es apretado3.

Que Cargar?

"n general, lo primero que pensamos cuando empe+amos a dise-ar un programa es el contenido audiovisual interactivo. "ste contenido est' representado por los nodos de media.

(odos los nodos de media se encuentra dentro de un conte*to. "n NCL, el elemento del cuerpo es el conte*to que contiene todos los nodos del documento ipermedia, sean nodos de media o conte*to.

Se ilustra un documento con : nodos de media, de los cuales 0 se encuentran dentro de un conte*to 2C(483 anidados al cuerpo.

Donde Cargar?

Como se vaya definiendo el contenido del programa, comen+amos a definir el 'rea en la que cada medio medio se mostrar' en la pantalla, utili+ando elementos llamados regiones. %na regin indica la posicin y las dimensiones de un 'rea donde una media ser' presentada. "s decir, una regin sirve para iniciali+ar la posicin de los nodos en un medio local espec!fico.

"s importante se-alar que una regin de ine donde la media podr' ser presentada, pero no tiene relacin alguna con cada media en particular. "sta asociacin se ace a trav$s de un descriptor

C!mo E"ecutar?

La asociacin de de una media a una regin es definida por un descriptor. Los descriptores son tam#i$n utili+ados para definir cmo las medias de#en ser presentadas. 6or ejemplo, un descriptor de una media de audio puede ajustar el volumen, en una imagen cierto grado de transparencia

Cuando se define un descriptor, es necesario definir la regin a la que se asocia. (odos los medios que utili+an el descriptor est'n asociados a la regin correspondiente.

Incluso si no se desea cam#iar la forma en que una media se presentar', es necesario un descriptor asociado a la regin donde la media de#e ser presentada.

Cuando E"ecutar?

6ara definir cual es el primer nodo del documento que se presentar', se de#e crear un puerto en el conte*to cuerpo para ese nodo. Si ay m's de un puerto en el conte*to cuerpo, se a#ren todos los puertos en paralelo.. Identificar por donde el documento empe+ar' a ser presentado es slo una caracter!stica espec!fica de un puerto. De ec o, los puertos son necesarios para dar acceso a los nodos 2sean nodos de media o de conte*to3 interno para cualquier conte*to, y no slo al cuerpo

"l nodo video8 del conte*to ct*8 slo puede ser accesado desde afuera del conte*to ct*8 a trav$s del puerto p)ideo8. ; tenemos ,udio8 e Imagen8 que no pueden ser accedidos desde fuera del conte*to ct*8.

6ara definir cu'ndo un nodo de media ser' presentado en relacin con los dem's, se crean enlaces que se utili+an para esta#lecer la sincroni+acin entre los nodos y para definir la interactividad del programa. "l comportamiento de estos enlaces est' dado por los conectores.

Qu# es una aplicaci!n $inga%NCL

Como se dijo al principio, NCL es un lenguaje declarativo, esto significa, que los programas declaran el resultado esperado y quien ejecuta el programa de#e articular los recursos necesarios para o#tener lo que se declara. 6ara comprender esta idea, podemos asimilarlo al lenguaje declarativo <(.L, donde se declara una p'gina =e# pero no se indica paso a paso como o#tenerla, sino, que el navegador =e# interpreta esta declaracin y la muestra con sus propios algoritmos en #ase a los recursos que maneja. "sto lo ace el .iddle=are Ginga.

>?*ml version@A8.1A encoding@AISB/CCDE/8A?F >ncl id@AmainA *mlns@A ttp&99===.ncl.org.#r9NCL0.19"D()6rofileAF > eadF >regionGaseF >H// definimos el identificador de la region 2id3, el porcentaje que ocupa so#re la pantalla en altura 2=idt 3 y anc o 2 eig t3//F >region id@AregIondoA =idt @A811JA eig t@A811JA9F >9regionGaseF >descriptorGaseF >H// definimos un descriptor asociado a una region//F >descriptor id@AdescImagenA region@AregIondoA 9F >9descriptorGaseF >9 eadF

>#odyF >H// Indicamos el componente que inicia el programa //F >port id@Ap"ntradaA component@AimagenA9F >H// medios 2im'genes, videos, etc3, el pat donde se u#ica y un descriptor que nos indica los atri#utos que agregaremos a ese medio //F >media id@AimagenA src@Aimagenes9imagen8.jpgA descriptor@AdescImagenA9F >9#odyF

C!digo de &Hola Mundo&

, continuacin se presenta una e*plicacin del cdigo NCL que utili+amos en el ejemplo K<ola .undoK&
"n el > eadF Definir una >regionF dentro de >regionGaseF %na regin define el espacio de e* i#icin de un o#jeto media >regionGaseF >region id@AregIondoA =idt @A811JA eig t@A811JA9F >9regionGaseF Definir un >descriptorF dentro de >descriptorGaseF %n descriptor define las caracter!sticas de presentacin de un media y la regin en el que se muestra.

"n el >#odyF Indicar un >portF de inicio %n >portF indica cu'l es el media que comien+a la e* i#icin del documento NCL, por ejemplo& >#odyF >port id@Ap"ntradaA component@AimagenA9F ... >9#odyF Crear el >mediaF que referenciar' la imagen de fondo, el o#jeto media de#e tener& id src& fuente de origen descriptor asociado ... >media id@AimagenA src@Aimagenes9imagen8.jpgA descriptor@AdescImagenA9F

Вам также может понравиться