Astrha/E – Ambiente Java/XML que Implementa em Hiper

Propaganda
Anais do IV Workshop sobre Software Livre - WSL 2003
Astrha/E – Ambiente Java/XML que Implementa em HiperAnimações estruturadas por Máquinas de Mealy
Roges Horacio Grandi, Paulo Fernando Blauth Menezes
Instituto de Informática – Universidade Federal do Rio Grande do Sul (UFRGS)
Caixa Postal 15.064 – 91501-970 – Porto Alegre – RS – Brazil
{roges, blauth}@inf.ufrgs.br
Abstract. Hyper-Animations are media that where hypertechnology,
multimedia and computer animation techniques are built in together. Astrha is
a research project where customized Mealy machines are used as hyperanimation frameworks. It is divided in three parts: Astrha/M, theoretical
framework model; Astrha/L, a set of four XML dialects (mealy, style, hyper
and environment) used to, respectively, to describe Astrha/M machines, text
styles, hypermedia files and environments; Astrha/E is a Java environment
where Astrha/L codes are interpreted in order to offer the hyper-animated
desired semantics. All the implementation is under open source code and is
specially recommended to build up simulators and educational media.
Resumo. Hiper-Animações são mídias que reúnem teoria hipermídia,
multimídia, com técnicas de animação por computador. Astrha é um projeto
de pesquisa no qual máquinas de Mealy especializadas são utilizadas para
estruturar hiper-animações. Divide-se em três partes: Astrha/M, modelo
teórico estrutural; Astrha/L, conjunto de quatro dialetos XML (mealy, style,
hyper e environment) utilizados, respectivamente, para descrever máquinas
Astrha/M, estilos de texto, arquivos hipermídia e ambientes; Astrha/E,
ambiente Java que lê códigos Astrha/L, oferecendo a semântica desejada.
Toda implementação é realizada com código aberto, sendo especialmente
adequada para a construção de simuladores e programas educacionais.
1. Introdução
Hiper-animação é um conceito que foi apresentado por (Kappe 1990). Conforme o
autor, uma hiper-animação é um conceito para criação de animações interativas,
combinando, essencialmente, tecnologias da Computação Gráfica e Hipermídia. Kappe
denomina seqüências simples de animação “grupo de documentos” (document cluster),
e a visita a um grupo de documentos é definida como um roteiro (tour).
Máquinas de Mealy são autômatos finitos modificados de forma a gerar uma
palavra de saída a cada transição (Menezes 2001, p. 79). O projeto acadêmico Astrha
propõe-se a validar a utilização de máquinas de Mealy especializadas para estruturar
hiper-animações. Para tal, sua concepção foi dividida em três passos incrementais:
modelo teórico estrutural (Astrha/M), linguagem (Astrha/L) e ambiente (Astrha/E).
83
Anais do IV Workshop sobre Software Livre - WSL 2003
2. Astrha/M (Model - Modelo Estrutural)
1
Hiper-animações são mídias com nível diretivo de interatividade . Dessa maneira,
autômatos finitos com saída são especialmente adequados para estruturar, depurar e
manter códigos de diálogos humano-computador. Cada estado ou transição ou estado
pode ser documentado, tratado ou depurado, se assim especificado.
Astrha/M é um modelo especializado de Máquina de Mealy que possibilita a
construção de estruturas para unidades gráficas que, em um meio gráfico e dinâmico
representem instâncias de hiper-animações. Trata-se de um modelo não-determinístico e
reflexivo, podendo ser representada como uma 6-upla, conforme mostra a Figura 1.
M = (Στ, Q, q0, ∆, Ω, λ) onde:
a) Στ é um conjunto apontado finito de símbolos de entrada, onde é τ é o
elemento distinguido.
b) Q é um conjunto finito de estados.
c) q0 é estado inicial, o qual pertence a Q.
d) ∆ é um conjunto finito de símbolos de saída , denotando mídias.
e) Ω é um conjunto de palavras de saída, tal que Ω ⊂ ∆* ∧ ε ∈ Ω.
f) λ é uma função parcial de transição λ:Q x Στ Æ 2(Q x Ω), tal que ∀q
∈ Q λ(q, τ) = {( q, ε)}
Figura 1 – Máquina de Mealy especializada para estruturar hiper-animações
Note-se que as palavras de saída são predefinidas, reduzindo seu conjunto a uma
quantidade de elementos finitos, com o objetivo de definir com clareza quais são as
palavras de saída desejadas para o ambiente. É necessário que os símbolos de entrada
formem um conjunto apontado (Menezes 2002, p. 109) para definir o elemento
distinguido τ que levará uma transição a ser reflexiva, cujo próximo estado é o estado
atual e cuja palavra de saída (ε) é vazia. As transições reflexivas têm a semântica de
inoperabilidade (no operation, ou nop), onde as computações realizadas durante a
transição não são percebidas externamente.
3. Astrha/L (Language- Linguagem)
A forma escolhida para traduzir o modelo teórico estrutural de Astrha/M para Astrha/E
foi descrever uma linguagem de marcação XML, composta de quatro dialetos,
denominada Astrha/L.
O dialeto mealy é utilizado para traduzir Astrha/M através de uma linguagem de
programação. Sendo as hiper-animações mídias compostas, uma palavra de saída
descrita no dialeto mealy representa uma seqüência animada complexa na definição de
(Kappe 1990). Os demais dialetos de Astrha/L, hyper, style e environment descrevem,
1
“Multimídia com nível diretivo de interatividade permite que o usuário inicie e responda a ações
internas da aplicação, assim como adaptar aspectos do ambiente como escolha de cor, tipo de retorno, etc.
(Heller 2001).”
84
Anais do IV Workshop sobre Software Livre - WSL 2003
respectivamente, hiperligações, estilos e ambiente. Esses três dialetos têm influência
direta da tecnologia do World Wide Web Consortium (W3C). Hyper foi influenciado
especialmente por XLink, no que se refere aos conceitos de ligações estendidas. Texto
sublinhado, mapas clicáveis e em cor diferenciada como padrão de escrita para âncoras
de um hipertexto é oriundo do HTML. Style é uma tradução em XML de um
subconjunto de atributos HTML/CSS para textos e hiperligações. O dialeto environment
teve como base tecnológica de inspiração SMIL Animation (W3C 2001). A semântica
de uma animação com suas hiperligações em SMIL Animation corresponde,
parcialmente, a de uma hiper-animação em Astrha/L. Podemos perceber uma forte
aproximação e influência da linguagem Astrha/L com a tecnologia e conceitos do W3C.
4. Astrha/E (Environment – Ambiente)
Astrha/E implementa um ambiente dinâmico, gráfico e interativo para Internet, que lê e
interpreta definições de hiper-animações baseadas em máquinas de Mealy escritas em
Astrha/L. Ao ser executado, Astrha/E permite que interações com o usuário através de
hiperligações definam, dinamicamente, a seqüência de mídias a serem apresentadas.
Modelado em UML, foi construído em linguagem Java e utiliza software livre e
gratuito em todos os seus componentes, facilitando sua distribuição e favorecendo a
produção de mídias para educação a distância. A Figura 2 mostra o pacote de mídias de
Astrha/E em nível conceitual. Nesse pacote, podemos perceber que uma hiper-animação
é composta por hiperligações (links) e variados tipos de mídia: sons (sounds), figuras
(figures), textos (hypermedium e paragraph). Permite, inclusive, composição com
outras hiper-animações.
Figura 2 – Pacote de mídias de Astrha/E em nível conceitual
O diagrama de implantação da Figura 3 mostra os componentes utilizados, todos
de tecnologia aberta. Java Applets2 e JAXP3, da Sun Microsystems; Crimson4, da
Apache e JDOM5 da organização do mesmo nome.
2
Programas escritos em linguagem Java que podem ser incluídos em uma página HTML.
3
Biblioteca Java para processamento de arquivos XML.
4
Analisador XML suportado pela biblioteca JAXP.
85
Anais do IV Workshop sobre Software Livre - WSL 2003
Figura 3 – Visão geral de um ambiente cliente-servidor para Astrha/E
5. Conclusões
Em experimentos realizados em laboratório, pudemos comprovar que tecnologia aberta
tem a capacidade de implementar, totalmente e com vantagens, hiper-animações
estruturadas por máquinas de Mealy especializadas, que é o objetivo do projeto de
pesquisa Astrha, sendo a combinação das tecnologias Java/XML uma escolha bem
sucedida para garantir portabilidade dentro do paradigmas da orientação a objeto para
sistemas Internet. Para conhecer mais sobre o projeto Astrha: http://teia.inf.ufrgs.br.
6. Agradecimentos
Este trabalho é parcialmente suportado pelo CNPq (projetos Hyper Seed, HoVer-CAM,
GRAPHIT), CNPq/NSF (Projeto MEFIA) e FAPERGS (Projeto QaP-For).
Agradecimentos extensivos a todos os colegas de pesquisa.
Bibliografia
Kappe, F. M.; Maurer, H. “Animation in Hyper-G – An Outline” In Haase V. and
Zinterhof P. (editors), Proc. Future Trends in Information Technology ’90, Salzburg,
Austria, pages 235-248, Austrian Computer Society. Vienna, Munich, Sep. 1990.
Menezes, P. F. B. “Linguagens Formais e Autômatos”. 4.ed. Porto Alegre: Sagra
Luzzato, 2001.
Menezes, P. F. B.; Hausler, Edward Hermann. Teoria das Categorias para Ciência da
Computação. 1. Ed. Porto Alegre: Sagra Luzzato – UFRGS, 2002. 324 pp.
Heller, R. S. et al. “Using a Theoretical Multimedia Taxonomy Framework.” ACM
Journal of Education Resources in Computing, v.1, n.1, 2001.
W3C World Wide Web Consortium. “SMIL Animation - W3C Recommendation 04September-2001”, http://www.w3.org/TR/2001/REC-smil-animation-20010904 Jan.
2003.
5
Biblioteca Java que facilita a leitura, manipulação e escrita de arquivos XML.
86
Download