11.07.2015 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.1 IntroduçãoA abordag<strong>em</strong> modular t<strong>em</strong> sido utilizada <strong>em</strong> várias linguagens XML[W3C REC-xml-20060816, 2006] recomendadas pelo W3C.Módulos são coleções de el<strong>em</strong>entos, atributos e valores de atributosXML s<strong>em</strong>anticamente relacionados que representam uma unidade defuncionalidade. Os módulos são definidos <strong>em</strong> conjuntos coerentes. Essacoerência é expressa por meio da associação de um mesmo namespace [W3CREC-xml-names-20060816, 2006] aos el<strong>em</strong>entos desses módulos.Um perfil de linguag<strong>em</strong> é uma combinação de módulos. Os módulossão atômicos, isto é, não pod<strong>em</strong> ser subdivididos quando incluídos <strong>em</strong> umperfil de linguag<strong>em</strong>. Além disso, a especificação de um módulo pode incluirum conjunto de requisitos para integração, com o qual os perfis de linguag<strong>em</strong>,que inclu<strong>em</strong> o módulo, dev<strong>em</strong> obrigatoriamente ser compatíveis.A <strong>NCL</strong> foi especificada de forma modular, permitindo a combinação deseus módulos <strong>em</strong> perfis de linguag<strong>em</strong>. Cada perfil pode agrupar umsubconjunto de módulos <strong>NCL</strong>, permitindo a criação de linguagens voltadaspara as necessidades específicas dos usuários. Além disso, os módulos eperfis <strong>NCL</strong> pod<strong>em</strong> ser combinados com módulos definidos <strong>em</strong> outraslinguagens, permitindo a incorporação de características da <strong>NCL</strong> naquelaslinguagens e vice-versa.Normalmente, há um perfil de linguag<strong>em</strong> que incorpora quase todos osmódulos associados a um único namespace. Esse é o caso do perfil“Linguag<strong>em</strong> <strong>NCL</strong>”.Um outro perfil da linguag<strong>em</strong>, com a mesma expressividade do perfil“Linguag<strong>em</strong> <strong>NCL</strong>”, é definido contendo as facilidades mínimas de reuso dalinguag<strong>em</strong>. Nesse perfil, denominado “Raw”, módulos que defin<strong>em</strong> el<strong>em</strong>entosapenas para facilitar o reuso são evitados. É importante salientar que umaaplicação que segue o perfil “Linguag<strong>em</strong> <strong>NCL</strong>” s<strong>em</strong>pre poderá ser convertidapara o perfil “Raw”. Usualmente, o formatador (player) para o perfil “Raw” émais fácil de ser impl<strong>em</strong>entado do que aquele para o perfil “Linguag<strong>em</strong><strong>NCL</strong>”. Por outro lado, desenvolver aplicações seguindo o perfil “Raw” podeser difícil e trabalhoso, ao contrário do perfil “Linguag<strong>em</strong> <strong>NCL</strong>” que possuientidades de mais elevado nível de abstração. Pode-se então dizer que o perfil“Raw” privilegia o desenvolvimento de formatadores <strong>NCL</strong>, enquanto o perfil“Linguag<strong>em</strong> <strong>NCL</strong>” privilegia o desenvolvimento de aplicações.Outros perfis de linguag<strong>em</strong> pod<strong>em</strong> ser especificados como subconjuntosde um perfil maior ou incorporar uma combinação de módulos associados adiferentes namespaces. Ex<strong>em</strong>plos do primeiro caso são os perfis TVD Básico(“perfil BDTV”) e TVD Avançado (“perfil EDTV”) da <strong>NCL</strong> [Soares et al.,2006; ABNT NBR 15606-2, 2011; ITU-T H.761, 2011]. Esses perfis foram141

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

Saved successfully!

Ooh no, something went wrong!