Você está na página 1de 4

NCL-Tester: Graphic Application for NCL Documents

Temporal Test Creation


Fábio Barreto Daniel Tamaki Batista Joel A. F. dos Santos
UNILASALLE-RJ Laboratório MídiaCom, UFF CEFET/RJ
fabio.barreto@lasalle.org.br danieltamaki.uff@gmail.com joel.santos@cefet-rj.br

Débora C. Muchaluat-Saade
Laboratório MídiaCom, UFF
debora@midiacom.uff.br

ABSTRACT linguagem de autoria hipermídia, que permite especificar tanto


propriedades temporais quanto espaciais das mídias que
Interactive digital TV applications with runtime errors would participam da aplicação.
certainly damage the viewer's experience. Testing NCL
multimedia applications is very important to ensure that they will Diferentes linguagens hipermídia são usadas para especificar
run appropriately on a digital TV receiver and really fits the comportamentos temporais e espaciais de um documento
author's specification. In the literature, there are works that hipermídia. Dentre as principais, estão as linguagens de autoria
propose tools for checking consistency of NCL documents. SMIL (Synchronized Multimedia Integration Language) [1],
However, most of these works do not provide a graphical editor HTML5 (HyperText Markup Language 5) [2] e NCL (Nested
that facilitates the specification of temporal tests that can be used Context Language) [3]. Esta última é a linguagem adotada como
to verify if a document executes as desired. This paper proposes a padrão para desenvolvimento de programas interativos no Sistema
new graphical tool, called NCL-Tester, which offers such Brasileiro de TV Digital e foco deste trabalho.
functionality for NCL documents. Through NCL-Tester, an NCL Com o objetivo de minimizar os erros na autoria hipermídia,
application designer can specify temporal relationships between alguns trabalhos propõem ferramentas gráficas [4][5] [6] e
its media components and test whether these relationships will be validadoras [7] [8] [9] [10] como alternativas para facilitar a
respected when the NCL application runs. NCL-Tester uses aNaa produção e edição de aplicações multimídia.
(API for NCL Authoring and Analysis) to run the tests and returns
to the author a success or error message for each test. The O uso de ferramentas de autoria gráfica como o NEXT [5], abstrai
usefulness of the proposed tool was verified by usability tests. do usuário a necessidade de utilizar detalhes da linguagem
adotada na criação do documento. Isso pode eliminar o problema
KEYWORDS de criação de uma aplicação não funcional, porém, problemas
comportamentais podem ainda persistir. Os diferentes tipos de
Relação temporal, NCL, aNaa, verificação de consistência de mídias e suas interações definidas em um documento hipermídia
documentos hipermídia, NCL-Tester podem não representar o comportamento desejado pelo autor
apesar de não apresentarem erros funcionais.
1. INTRODUÇÃO
A API aNaa (API for NCL Authoring and Analysis) [11] possui a
Sistemas hipermídia manipulam mídias, digitalmente, sendo elas capacidade de analisar um documento NCL baseado em uma
contínuas ou discretas além de prover a interação com usuários. determinada propriedade representando um comportamento
Estão disponíveis em várias plataformas como smartphones, específico. Entretanto, não oferece diretamente ao autor um
computadores, tablets e TVs digitais. Essas aplicações são ambiente com uma representação visual amigável ao usuário.
desenvolvidas por diversos tipos de profissionais que variam
desde designers gráficos, editores audiovisuais e autores que Este trabalho propõe NCL-Tester, uma ferramenta gráfica que
trabalham na construção de documentos hipermídia. Enquanto oferece tal funcionalidade para documentos NCL. Através de
designers trabalham buscando definir a qualidade e editores com a NCL-Tester, o projetista de uma aplicação NCL pode especificar
produção de determinados itens de mídia específicos da aplicação, relacionamentos espaço-temporais entre os seus componentes de
o autor trabalha com a integração dos módulos de modo que a mídia e testar se esses relacionamentos serão respeitados quando a
aplicação atenda às especificações definidas. aplicação NCL for executada. NCL-Tester utiliza a API aNaa para
executar os testes e retorna para o autor a resposta de sucesso ou
Documentos hipermídia podem ser criados através de uma erro para cada teste. O usuário pode especificar testes baseados
Permission to make digital or hard copies of all or part of this work for em tipos pré-definidos de propriedades e realizar a análise do
personal or classroom use is granted without fee provided that copies are not documento através da ferramenta proposta. Os resultados da
made or distributed for profit or commercial advantage and that copies bear análise gerados pela API são apresentados pelo editor para o
this notice and the full citation on the first page. Copyrights for components of
this work owned by others than ACM must be honored. Abstracting with
usuário de forma clara e visual para que ele possa interpretá-los e
credit is permitted. To copy otherwise, or republish, to post on servers or to obter auxílio no desenvolvimento de um documento hipermídia.
redistribute to lists, requires prior specific permission and/or a fee. Request
permissions from Permissions@acm.org. O restante deste trabalho está estruturado da seguinte maneira. A
WebMedia '16, November 08-11, 2016, Teresina, PI, Brazil Seção 2 apresenta trabalhos relacionados. A Seção 3 apresenta o
© 2016 ACM. ISBN 978-1-4503-4512-5/16/11…$15.00 NCL-Tester. A Seção 4 discute brevemente testes de usabilidade
DOI: http://dx.doi.org/10.1145/2976796.2988199 feitos com a ferramenta. A seção 5 conclui o artigo e aponta
trabalhos futuros.

91
2. TRABALHOS RELACIONADOS 3. NCL-TESTER
A literatura é rica em discussão sobre a validação de documentos A realização de testes temporais em um documento hipermídia
multimídia. Em geral, são poucos os trabalhos que permitem a através da ferramenta NCL-Tester se dá com testes unitários entre
criação de propriedades definidas pelo próprio autor de um mídias, contidas em um documento a ser testado. Para tanto,
documento. Esta seção resume alguns trabalhos que propõem durante a leitura de um documento NCL selecionado pelo usuário,
abordagens para validação de documentos NCL. suas mídias são identificadas e adicionadas ao repositório de
mídias de NCL-Tester. A ferramenta permite analisar um
Felix em [12] apresenta uma abordagem para a validação de documento NCL por vez, portanto ao abrir um novo documento,
documentos NCL através de model-checking. A validação de um todas as abas com testes criados anteriormente são apagadas, bem
documento é feita sobre um conjunto de autômatos, representando como seus resultados.
seu comportamento, usando fórmulas em lógica temporal
previamente criadas pelo autor. Entretanto, o trabalho não oferece A Figura 1 apresenta a tela do NCL-Tester, onde podemos
uma ferramenta gráfica que facilite a criação de tais fórmulas. perceber três menus: Project, Test e Help. O menu Project possui
duas funcionalidades. Uma para importar o documento NCL a ser
Bertino et al. em [13] propõem um modelo de autoria baseado em validado e outra que permite fechar a aplicação. A opção de
restrições.. A validação de um documento é feita verificando a importar abre um browser para o usuário selecionar o documento
consistência do conjunto de restrições. Se uma inconsistência é a ser validado, nesse momento todas as mídias contidas no
encontrada, o conjunto de restrições é automaticamente reduzido documento aparecem no repositório de mídia na parte inferior da
de forma a evitar a inconsistência. Quando tal redução automática tela. Na Figura 1, por exemplo temos as mídias: hey, ho e listen.
não é possível, o autor deve revisar o código criado para evitar a
inconsistência. Além dos menus a ferramenta apresenta dois conjuntos de abas, o
Relations Test e o conjunto de abas de testes. O Relations Test
Elias et al. em [14] também propõem um sistema de autoria possui duas abas contendo em cada uma os tipos de relações a
baseado em restrições. Dois operadores são definidos: serem utilizados na criação dos testes. Na aba Temporal o usuário
TEMPORAL e SPATIAL. Cada operador permite ao autor definir pode escolher qual/quais relações temporais ele quer testar. São
um valor de prioridade. Para manter a consistência de um apresentadas representações gráficas para as relações de Allen
conjunto de restrições, sempre que necessário, restrições são before, meets, ovelaps, starts, during, finishes e equals.
removidas com base em sua prioridade.
A representação de cada relação remete às figuras da relação de
Gaggi e Bossi em [15] definem uma semântica formal para SMIL. Allen. A partir do momento que o usuário escolhe o teste que
Durante autoria, a estrutura de um documento é enriquecida com deseja realizar, uma aba é criada no conjunto de abas de testes. A
assertivas expressando propriedades temporais a serem partir de então o usuário pode escolher quais mídias presentes no
respeitadas. A validação de um documento é realizada pela repositório de mídias participarão do teste. A escolha da mídia é
aplicação de axiomas, definidos na semântica proposta em [15], feita arrastando uma mídia para o campo correspondente na
para verificar se uma dada construção ou conjunto de construções relação sendo criada. Um exemplo é apresentado na Figura 1 onde
corretamente muda o estado do documento. Caso contrário, o o retângulo verde foi preenchido com a mídia ho.
problema encontrado é indicado ao autor para que seja corrigido.
Todo teste criado tem uma mídia considerada como mestre e uma
Junior et al. em [16] usam uma abordagem dirigida a modelos ou mais consideradas como escravas. Na representação visual do
para a validação de documentos NCL. A validação é realizada teste, a mídia mestre é indicada por um retângulo verde, enquanto
através da transformação de um documento NCL em uma as mídias escravas são indicadas por retângulos cinza. No
estrutura de Kripke. A validação usa uma ferramenta de model- exemplo apresentado na Figura 1 a mídia ho foi selecionada como
checking e fórmulas em lógica temporal representando mestre do teste Equals. Nesta figura, a mídia listen foi escolhida
propriedades a serem validadas. O trabalho propõe um editor para como escrava.
especificação de propriedades definidas pelo usuário.
NCL-Tester possibilita a execução de testes isoladamente ou em
grupos de propriedades das mídias pertencentes de um documento
NCL padrão. A estrutura da ferramenta deixa em aberto a
possibilidade para futuras inclusões de novos testes sobre outras
propriedades. Tais testes podem ser definidos pelo próprio autor
permitindo uma maior flexibilidade em seu trabalho.
Em [12] [16] são providas ferramentas para a criação e teste de
propriedades temporais e espaciais em documentos hipermídia.
Em [12]o autor deve especificar as propriedades através de
fórmulas em lógica temporal. Em [16] o autor escolhe uma
propriedade de um conjunto de propriedades predefinidas.
Diferente destes trabalhos, NCL-Tester prove uma interface
gráfica com a qual o autor pode especificar o teste a ser validado.
É importante ressaltar ainda que NCL-Tester atua sobre
documentos NCL padrão, diferente de [16], onde o autor deve
converter o documento para uma versão simplificada de NCL
afim de realizar a validação. Figura 1: Tela do NCL-Tester

92
Cada teste especificado pelo usuário, no momento da validação, é contém os resultados finais de média SUS dos participantes
convertido em uma lista de testes, um para cada mídia escrava. agrupados por sua proficiência na linguagem NCL.
Nessa lista, cada teste segue o mesmo tipo do teste criado na
Proficiência em NCL 5 4 3 2 1
ferramenta mas possui apenas dois participantes, a mídia mestre e
uma mídia escrava. Os testes são então analisados separadamente Total 72,5 73,75 80 55 60,8
através da API aNaa. Esse procedimento permite que o resultado
da análise seja mais específico, indicando ao usuário em qual, ou Tabela 1: Resultado SUS
quais, mídia um erro foi detectado, caso exista. O resultado padrão do SUS para que uma interface seja
A partir do momento que o teste é criado ele poderá ser executado considerada aceitável é 68 [29]. Como a média geral foi de 68,4 e
individualmente no link “Execute Equals test” como podemos ver a para pessoas proficientes na linguagem NCL foi de 75,4 pode-se
no final da aba Equals na Figura 1. O resultado do teste será afirmar que NCL-Tester está bem avaliado para seu público alvo,
apresentado conforme na Figura 2. usuários proficientes em NCL. O resultado de 58 para pessoas
sem proficiência em NCL mostra que a interface ainda há de ser
melhorada para ser melhor aceita por usuários em geral. Dentre as
sugestões indicadas pelos participantes do teste, foi reforçada a
melhoria na intuitividade da ferramenta alegando-se a existência
de pouca informação na interface do editor para indicar ao usuário
o que fazer. Outras sugestões envolveram a adição de teclas de
atalho para execução de funcionalidades da ferramenta,
possibilidade de apagar o registro do painel de resultados sempre
que uma avaliação for realizada e sugestões para melhorias dos
nomes exibidos na interface da ferramenta

5. CONCLUSÕES
Este trabalho tem como principal contribuição a proposta e
criação de uma ferramenta gráfica, chamada NCL-Tester, para
especificação de testes temporais em documentos NCL, visando
Figura 2: Execução do teste finalizada auxiliar o desenvolvimento de aplicações interativas para o
As mídias para as quais o teste falhou são pintada de vermelho e Sistema Brasileiro de Televisão Digital.
as que passaram são pintadas de verde. No final da aba de Ao utilizar a ferramenta proposta, o autor de um documento
descrição do teste é apresentando uma lista dos testes individuais hipermídia tem condições de realizar testes automatizados e obter
que falharam. respostas ilustrativas sobre o comportamento entre mídias de seu
As vantagens na abordagem de sistema de abas estão nas documento, melhorando assim o processo de desenvolvimento de
facilidades para o usuário final de poder eliminar um teste apenas aplicações interativas para o SBTVD. Este autor teria uma maior
fechando a aba correspondente, melhor organização, tendo todos dificuldade de garantir que seu documento atenda a determinadas
os testes visíveis ao mesmo tempo e possibilidade de troca do propriedades especificadas sem o uso da ferramenta proposta.
teste em destaque para edição ou execução. Todos os itens NCL-Tester se baseia na API aNaa para executar cada teste
listados eliminam o passo extra de buscar o teste desejado dentro especificado pelo usuário e exibir seu resultado. aNaa realiza a
de uma pilha. Com o sistema, o usuário pode preferir executar validação de um documento através de model-cheking e considera
apenas um teste separado enquanto trabalha na criação de outros propriedades temporais baseadas nas relações de Allen e
ou pode realizar a execução de todos os testes de uma vez para ter propriedades espaciais baseadas nas relações RCC.
um resultado mais completo da análise de um documento.
A implementação de NCL-Tester utiliza o padrão de projeto MVC
A escolha dos possíveis testes a serem realizados foi motivada e o paradigma de programação orientado a objetos em Java.
pela possibilidade de análise que a ferramenta aNaa [11] permite. Foram realizados testes de usabilidade de NCL-Tester com um
Assim, os testes possíveis a serem feitos no editor são aqueles que grupo de 11 usuários, que consideraram a ferramenta útil para a
verificam as propriedades (relações) atômicas implementadas em validação de documentos NCL, obtendo uma média SUS de 75,4
aNaa. Outras propriedades podem ser criadas usando as entre autores NCL.
propriedades atômicas como base e consequentemente testadas.
Melhorias hão de ser feitas no editor com o desenvolvimento de
4. AVALIAÇÃO DO EDITOR mais tipos de testes temporais entre mídias, por exemplo,
contendo especificação de atraso exato entre elas e testes
Foi avaliada a usabilidade da ferramenta NCL-Tester através de verificando propriedades de interação com o usuário final. Um
teste de usabilidade baseado no sistema de escala de usabilidade outro trabalho futuro é possibilitar a criação de testes espaciais a
(SUS - System Usability Scale)[17]. Os participantes do teste são partir das relações RCC (Randell, Cui e Cohn)[18] e combinação
alunos e profissionais da área de ciência da computação. O grupo das propriedades atualmente disponíveis.
de participantes foi subdividido entre aqueles sem conhecimento
No âmbito de usabilidade da ferramenta, a possibilidade de salvar
de NCL, contendo 5 participantes, e aqueles com experiência em
o ambiente de trabalho do autor para que se possa continuar a
NCL, contendo 6 participantes.
análise de um documento com testes já criados posteriormente,
Os resultados do teste foram interpretados e por fim, levados em melhorias na legibilidade, melhor intuitividade de uso da
consideração para futuras melhorias na ferramenta. A Tabela 1 ferramenta, bem como atalhos do teclado para suas funções, são
trabalhos em andamento.

93
A expansão dos tipos de documentos hipermídia a serem [15] O. Gaggi and A. Bossi, “Analysis and verification of SMIL
analisados, além de NCL, virão com o suporte futuro da API aNaa documents,” Multimedia Systems, vol. 17, no. 6, pp.
ou a criação de outra API que realize tal verificação. Também será 487-506, April 2011.
considerada a possibilidade do repositório de mídias de importar [16] D. Picinin Júnior, C. Koliver, C. A. S. Santos and J.-M.
mais tipos de mídia, além de áudio, vídeo e imagem, conforme as Farines, “Verifying Hypermedia Applications by Using an
novas possibilidades de testes forem criadas. MDE Approach,” in System Analysis and Modeling: Models
and Reusability, vol. 8769, Springer International Publishing,
6. REFERÊNCIAS 2014, pp. 174-189.
[17] J. Brooke, SUS - A quick and dirty usability scale. Usability
[1] SMIL, “Synchronized Multimedia Integration Language Evaluation in Industry, Taylor and Francis, 1996.
(SMIL 3.0),” 2008. [Online]. Available: [18] D. A. Randell, Z. Cui and A. G. Cohn, “A spatial logic based
http://www.w3.org/TR/SMIL3/. [Acesso em 13 08 2015]. on regions and connection,” Principles of Knowledge
[2] HTML5, “A vocabulary and associated APIs for HTML,” Representation and Reasoning, pp. 165-176, 1992.
2014. [Online]. Available: http://www.w3.org/TR/html5/. [19] JavaFX, “Client Technologies: Java Platform, Standard
[Acesso em 2015 08 13]. Edition (Java SE) 8 Release 8,” 2014. [Online]. Available:
[3] ITU, “Nested Context Language (NCL) and Ginga-NCL for http://docs.oracle.com/javase/8/javase-
IPTV,” 2009. [Online]. Available: http://www.itu.int/rec/T- clienttechnologies.htm. [Acesso em 10 07 2014].
REC-H.761-200904-S. [Acesso em 07 06 2016]. [20] C. Santos, L. Soares, G. Souza and J. Courtiat, “Design
[4] R. L. Guimarães, R. M. R. Costa and L. F. Soares, methodology and formal validation of hypermedia
“Composer: Ambiente de Autoria de Aplicações Declarativas documents,” Proceedings of the sixth ACM International
para TV Digital Interativa,” in XII Simpósio Brasileiro de Conference, pp. 39-48, 1998.
Sistemas Multimídia e Web, 2007. [21] W3C, “Synchronized Multimedia Integration Language -
[5] D. Silva e D. Muchaluat-Saade, “NEXT-Editor Gráfico par SMIL,” World-Wide Web Consortium Recommendation,
Autoria de Documentos NCL com Suporte a Templates de 2008. [Online]. Available: http://www.w3c.org/TR/SMIL3.
Composição,” em WebMedia, 2012. [22] M. a. T. M. a. M. P. de Oliveira, “ACM Transactions on
[6] D. Mattos, STEVE - Editor Gráfico da Visão Espaço- Information Systems (TOIS),” A statechart-based model for
Temporal para Autoria de Documentos Hipermídia, Niterói: hypermedia applications, vol. 19, p. 52, 2001.
Dissertação de Mestrado em Computação, Universidade [23] E. Clarke, O. Grumberg and D. Peled, Model Checking, The
Federal Fluminense, 2015. MIT Press, 2000.
[7] E. Araújo, R. Azevedo e C. Neto, “NCL-validador: um [24] M. Clavel, S. Eker, F. Drurán, P. Lincoln, N. Martí-Oliet and
processo para validação sintática e semântica de documentos J. Meseguer, “All about Maude - A High-performance
multimidia NCL,” em Jornada de Informática do Maranhão, Logical Framework: how to Specify, Program, and Verify
2008. Systems in Rewriting Logic,” Springer-Verlag New York Inc,
[8] B. Lima, R. Azevedo, M. Moreno e L. Soares, “Composer 3: vol. 4350, 2007.
Ambiente de Autoria Extensível, Adaptável e [25] J. A. F. dos Santos, J. V. Silva, R. R. Vasconcelos, W. Schau,
Multiplataforma.,” em WebMedia - Workshop de TV Digital C. Werner and D. C. Muchaluat-Saade, “aNa: API for NCL
Interativa (WTVDI), 2010. Authoring,” in Proceedings of the 18th Brazilian Symposium
[9] A. Bossi e O. Gaggi, “Enriching smil with assertions for on Multimedia and the Web - Workshop of Tools and
temporal validation,” em 15th international conference on Applications, 2012.
Multimedia, 2007. [26] J. A. F. dos Santos, C. Braga and D. C. Muchaluat-Saade,
[10] S. Elias, K. Easwarakumar e R. Chbeir, “Dynamic “Automating the Analysis of NCL Documents with a Model-
consistency checking for temporal and spatial relations in driven Approach,” in Proceedings of the 19th Brazilian
multimedia presentations.,” em the 2006 ACM symposium on Symposium on Multimedia and the Web, New York, ACM,
Applied computing, 2006. 2013, pp. 193-200.
[11] J. A. F. dos Santos, Multimedia Document Validation Along [27] J. F. Allen, “Maintaining Knowledge about Temporal
Its Life Cycle, Niterói: Tese de Doutorado em Computação, Intervals,” Communications of the ACM, vol. 26, no. 11, pp.
Universidade Federal Fluminense, 2016. 832-843, 1983.
[12] M. F. Felix, “Formal Analysis of Software Models Oriented [28] A. Pnueli, “The temporal logic of programs,” in 18th Annual
by Architectural Abstractions,” 2004. Symposium on Foundations of Computer Science, IEEE,
[13] E. Bertino, E. Ferrari, A. Perego and D. Santi, “A Constraint- 1997, pp. 46-57.
Based Approach for the Authoring of Multi-Topic [29] L. Soares, R. Rodrigues and D. Muchaluat-Saade, “Modeling,
Multimedia Presentations,” in IEEE International Conference authoring and formatting hypermedia documents in the
on Multimedia and Expo, Amsterdam, Netherlands, IEEE HyperProp system,” Multimedia Systems, vol. 8, no. 2, pp.
Computer Society, 2005, pp. 578-581. 118-134, 2000.
[14] S. Elias, K. Easwarakumar and R. Chbeir, “Dynamic
consistency checking for temporal and spatial relations in
multimedia presentations,” in Proceedings of the 2006 ACM
symposium on Applied computing, Dijon, France, ACM,
2006, pp. 1380-1384.

94

Você também pode gostar