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