Multimedia Tools and Applications

, Volume 50, Issue 3, pp 465–489 | Cite as

Variable and state handling in NCL

  • Luiz Fernando G. Soares
  • Rogério Ferreira Rodrigues
  • Renato Cerqueira
  • Simone Diniz Junqueira Barbosa


Most time-based declarative languages have limited support for variable definition and manipulation, which causes developers to resort to imperative languages. However, a declarative language should provide a variable handling model sufficiently rich to describe a wide range of interactive applications, avoiding, as much as possible, the help of an imperative scripting language. On the other hand, the declarative simplicity should not be lost, leaving for the imperative objects more complex manipulations, with the necessary care to avoid any impact in the application’s temporal graph. Based on this principle, variables and the presentation state are handled by NCL and Ginga-NCL, as discussed in this paper. NCL is the declarative language of the Brazilian Terrestrial Digital TV System (SBTVD) supported by its middleware called Ginga. NCL and Ginga-NCL are part of ISDB standards and also of ITU-T Recommendations for IPTV services.


Variable handling Declarative languages NCL Digital TV Middleware 



The authors would like to thank Carlos Salles, Romualdo Costa, Marcio Moreno, Marcelo Moreno and Francisco Sant’anna who provided thoughtful discussion of this work, and tracked down and fixed problems in the initial reference implementation of Ginga. The authors also thank Ethan Munson for his careful revision of the paper, and CNPq, FINEP and FAPERJ for their support.


  1. 1.
    ABNT NBR Associação Brasileira de Normas Técnicas (2007) Digital Terrestrial Television Standard 06: Data Codification and Transmission Specifications for Digital Broadcasting, Part 2 – GINGA-NCL: XML Application Language for Application Coding (São Paulo, SP, Brazil, November, 2007). doi:
  2. 2.
    ARIB Association of Radio Industries and Business (2004) ARIB Standard B-24 Data Coding and Transmission Specifications for Digital Broadcasting, version 4.0, 2004Google Scholar
  3. 3.
    ECMA International—European Association for Standardizing Information and Communication Systems (1999) ECMA—262—ECMAScript Language Specification. 3rd Edition. doi: standards/Ecma-262.htm
  4. 4.
    ETSI European Telecommunication Standards Institute (2006) ETSI TS 102 812V1.2.2 Digital Video Broadcasting “Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.1.1”Google Scholar
  5. 5.
    Guimarães RL, Costa RR, Soares LFG (2008) Composer: Authoring Tool for iTV Programs. In Proceedings of European Interactive TV Conference (Salzburg, Austria, July 2008). EuroiTV 2008. doi:
  6. 6.
    Ierusalimschy R, Figueiredo LH, Celes W (2006) Lua 5.1 Reference Manual, ISBN 85-903798-3-3Google Scholar
  7. 7.
    Ierusalimschy R, de Figueiredo LH, and Celes W (2007) The evolution of Lua. In Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages (San Diego, California, June 09–10, 2007). HOPL III. ACM, New York, NY, 2-1-2-26. doi:
  8. 8.
    ISO/IEC International Organization for Standardization 14496-1 (2001) Coding of audio-visual objects—Part 1: Systems. 2nd EditionGoogle Scholar
  9. 9.
    ISO/IEC International Organization for Standardization 14496-20 (2006) Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF)Google Scholar
  10. 10.
    ITU-T Recommendation H.761 (2009) Nested context language (NCL) and Ginga-NCL for IPTV Services. Geneva, January, 2009Google Scholar
  11. 11.
    Jansen J, Bulterman D (2009) SMIL state: an architecture and implementation for adaptive time-based web. In Multimedia Tools and Applications. Vol. 43, N. 3 (The Netherlands, April 2009). ISSN: 1380-7501Google Scholar
  12. 12.
    King P, Schmitz P, Thompson S (2004) Behavioral reactivity and real time programming in XML: functional programming meets SMIL animation. In Proceedings of ACM Document Engineering (Milwaukee, Wisconsin, USA, October, 2004). doi:
  13. 13.
    Soares LFG (2009) Nested context language 3.0 Part 12—Support to multiple exhibition devices. Technical Report. Departamento de Informática da PUC-Rio, MCC 03/09. doi:
  14. 14.
    Soares LFG, Rodrigues RF (2006) Nested context language 3.0 Part 8—NCL Digital TV profiles. Technical Report. Departamento de Informática da PUC-Rio, MCC 35/06. doi:
  15. 15.
    Soares LFG, Rodrigues RF, Cerqueira R, Barbosa SDJ (2009) Variable handling in time-based XML declarative languages. In Proceedings of the 24th Annual ACM Symposium on Applied Computing. (Honolulu, Hawaii. Março de 2009)Google Scholar
  16. 16.
    Thompson S, King P, Cameron H (2005) Modelling reactive multimedia design and authoring. In Multimedia Tools and Applications, Vol. 27, N. 1 (The Netherlands, September 2009). ISSN: c0-7501Google Scholar
  17. 17.
    W3C World-Wide Web Consortium (1998) Cascading style sheet, level 2—CSS. W3C recommendationGoogle Scholar
  18. 18.
    W3C World-Wide Web Consortium (1998) Timed interactive multimedia extensions for HTML. W3C submission. doi:
  19. 19.
    W3C World-Wide Web Consortium (1999) XML Path Language (XPath). W3C Recommendation. doi:
  20. 20.
    W3C World-Wide Web Consortium (2003) Scalable vector graphics (SVG) 1.1 specification. W3C recommendation. doi:
  21. 21.
    W3C World-Wide Web Consortium (2004) Document object model—DOM level 3 specification. W3C recommendationGoogle Scholar
  22. 22.
    W3C World-Wide Web Consortium (2005) Synchronized multimedia integration language—SMIL 2.1 specification, W3C recommendation. doi:
  23. 23.
    W3C World-Wide Web Consortium (2008) Synchronized multimedia integration language—SMIL 3.0 specification, W3C recommendation. doi:

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Luiz Fernando G. Soares
    • 1
  • Rogério Ferreira Rodrigues
    • 1
    • 2
  • Renato Cerqueira
    • 1
  • Simone Diniz Junqueira Barbosa
    • 1
  1. 1.Pontifícia Universidade Católica do Rio de JaneiroRio de JaneiroBrazil
  2. 2.Microsoft® Corporation/FAST, a Microsoft® SubsidiaryRio de JaneiroBrazil

Personalised recommendations