Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

inicial” é não-declarativo. Uma aplicação declarativa pura é aquela na qual oconteúdo de “todas suas entidades” é do tipo declarativo. Uma aplicação nãodeclarativapura é aquela na qual o conteúdo de “todas suas entidades” é dotipo não-declarativo. Uma aplicação híbrida é aquela cujo conjunto deentidades possui tanto conteúdo do tipo declarativo quanto não-declarativo.A especificação de uma tarefa usando uma linguagem declarativa é, aprincípio, muito mais fácil que o desenvolvimento usando uma linguagemnão-declarativa e também muito menos sujeita a erros de programação. Comomencionado, linguagens declarativas possuem alto nível de abstração, nãoexigindo grande expertise para o projeto de programas, ao contrário daslinguagens não-declarativas que, em geral, exigem um programadorespecialista. Tudo isso, no entanto, é apenas um lado da verdade.Linguagens declarativas muitas vezes são focadas em um domínio ouum objetivo específico. Quando o foco da linguagem “casa” com o foco doproblema a resolver, tudo o que mencionamos no parágrafo anterior é verdadee a linguagem declarativa tem uso preferencial sobre uma linguagem nãodeclarativa.Quando, no entanto, o foco do problema “não casa” com o focoda linguagem declarativa, sua resolução pode ser muito difícil, se nãoimpossível, usando a linguagem. Nesse caso, o uso de uma linguagem depropósito geral, por exemplo uma linguagem imperativa, é preferível.Praticamente todos os middlewares para TV digital terrestre e IPTVoferecem suporte para o desenvolvimento de aplicações usando os doisparadigmas de programação. Alguns middlewares só oferecem o suporte paraaplicações declarativas (puras ou híbridas). Dá-se, informalmente, o nome deambiente declarativo a esse suporte. Todos os middlewares padronizadospelo ITU-T para serviços IPTV contêm apenas o ambiente declarativo.Outros middlewares, no entanto, oferecem o suporte apenas a aplicações nãodeclarativas.Dá-se, informalmente, o nome de ambiente imperativo a essesuporte. A maioria dos middlewares para TV terrestre, no entanto, écomposta dos ambientes imperativos e declarativos. A Tabela 1.3 ilustra osambientes dos middlewares dos sistemas americano, europeu, japonês ebrasileiro, para receptores fixos e móveis, em seus padrões para TV digitalterrestre. Note que o middleware Ginga obrigatoriamente requer o ambientedeclarativo Ginga-NCL, mas admite extensões. Uma dessas extensões é oambiente imperativo Ginga-J, adotado no Brasil como obrigatório parareceptores fixos.30

Tabela 1.3 Ambientes de aplicações para receptores fixos e móveisMiddleware Sistema de TVD Ambiente Declarativo Ambiente ImperativoACAPAmericano/ATSC ACAP-X [ATSC A-101, ACAP-J [ATSC A-101, 2005]2005](linguagem não-declarativa =(linguagem declarativa = JavaXHTML like; linguagem nãodeclarativa= ECMAScript)MHP Europeu/DVB-T DVB-HTML [ETSI TS 102812 V1.2.2, 2006](linguagem declarativa =XHTML like; linguagem nãodeclarativa= ECMAScript)ARIB-BML Japonês/ISDB-TGingaLatino-Americano/ISDB-T BARIB – BML [ARIB B-24,2004](linguagem declarativa =BML (XHTML like);linguagem não-declarativa =ECMAScript)Ginga-NCL [ABNT NBR15606-2, 2011](linguagem declarativa =NCL; linguagem nãodeclarativa= Lua)MHP [ETSI TS 102 812V1.2.2, 2006](linguagem não-declarativa =Java)Opcional (GEM [ETSI TS102 819 V1.3.1, 2005] like);não implementado)Ginga-J [ABNT NBR 15606-4, 2010](linguagem não-declarativa =JavaA Tabela 1.4 ilustra os ambientes dos middlewares dos sistemas japonêse brasileiro para receptores terrestres portáteis.Tabela 1.4 Ambientes de aplicações para receptores portáteisMiddleware Sistema de TVD Ambiente Declarativo AmbienteImperativoARIB-BML Japonês/ISDB-T ARIB – BML [ARIB B-24, 2004](linguagem declarativa = BML(XHTML like; linguagem nãodeclarativa= ECMAScript)XGingaLatino- Ginga-NCL [ABNT NBR 15606-5,Americano/ ISDB- 2011]T B(linguagem declarativa = NCL;linguagem não-declarativa = Lua)OpcionalA Tabela 1.5 ilustra os ambientes dos middlewares RecomendaçõesITU-T para serviços IPTV.31

Tabela 1.3 Ambientes de aplicações para receptores fixos e móveisMiddleware Sist<strong>em</strong>a de TVD Ambiente Declarativo Ambiente ImperativoACAPAmericano/ATSC ACAP-X [ATSC A-101, ACAP-J [ATSC A-101, 2005]2005](linguag<strong>em</strong> não-declarativa =(linguag<strong>em</strong> declarativa = JavaXHTML like; linguag<strong>em</strong> nãodeclarativa= ECMAScript)MHP Europeu/DVB-T DVB-HTML [ETSI TS 102812 V1.2.2, 2006](linguag<strong>em</strong> declarativa =XHTML like; linguag<strong>em</strong> nãodeclarativa= ECMAScript)ARIB-BML Japonês/ISDB-TGingaLatino-Americano/ISDB-T BARIB – BML [ARIB B-24,2004](linguag<strong>em</strong> declarativa =BML (XHTML like);linguag<strong>em</strong> não-declarativa =ECMAScript)Ginga-<strong>NCL</strong> [ABNT NBR15606-2, 2011](linguag<strong>em</strong> declarativa =<strong>NCL</strong>; linguag<strong>em</strong> nãodeclarativa= Lua)MHP [ETSI TS 102 812V1.2.2, 2006](linguag<strong>em</strong> não-declarativa =Java)Opcional (GEM [ETSI TS102 819 V1.3.1, 2005] like);não impl<strong>em</strong>entado)Ginga-J [ABNT NBR 15606-4, 2010](linguag<strong>em</strong> não-declarativa =JavaA Tabela 1.4 ilustra os ambientes dos middlewares dos sist<strong>em</strong>as japonêse brasileiro para receptores terrestres portáteis.Tabela 1.4 Ambientes de aplicações para receptores portáteisMiddleware Sist<strong>em</strong>a de TVD Ambiente Declarativo AmbienteImperativoARIB-BML Japonês/ISDB-T ARIB – BML [ARIB B-24, 2004](linguag<strong>em</strong> declarativa = BML(XHTML like; linguag<strong>em</strong> nãodeclarativa= ECMAScript)XGingaLatino- Ginga-<strong>NCL</strong> [ABNT NBR 15606-5,Americano/ ISDB- 2011]T B(linguag<strong>em</strong> declarativa = <strong>NCL</strong>;linguag<strong>em</strong> não-declarativa = Lua)OpcionalA Tabela 1.5 ilustra os ambientes dos middlewares RecomendaçõesITU-T para serviços IPTV.31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!