Utilizando os conceitos definidos neste cap´ıtulo, ´e poss´ıvel definir uma arquitetura b´asica na qual qualquer aplica¸c˜ao de visualiza¸c˜ao de estruturas m´etricas deve possuir. A Figura 5.5 ilustra os componentes b´asicos desta arquitetura.
Figura 5.5: Arquitetura b´asica de uma aplica¸c˜ao de visualiza¸c˜ao de MAM.
No in´ıcio do processo, encontra-se a pr´opria estrutura m´etrica, da qual as informa- ¸c˜oes sobre o funcionamento ser˜ao extra´ıdas durante a execu¸c˜ao de algum procedimento. Estas informa¸c˜oes s˜ao, na realidade, eventos que descrevem as transforma¸c˜oes sofridas pela estrutura durante uma determinada opera¸c˜ao e podem conter informa¸c˜oes sobre os
objetos indexados pela estrutura. Al´em disto, estes eventos devem estar agrupados em
frames, para definir estados relevantes que devem ser exibidos para o usu´ario.
Os eventos rec´em extra´ıdos contˆem os objetos ainda no espa¸co m´etrico original. Como estes objetos no seu estado original precisam ser convertidos para um espa¸co eucli- diano de uma, duas ou trˆes dimens˜oes em algum ponto do processo, optou-se por fazer esta convers˜ao logo ap´os a extra¸c˜ao dos eventos (uso do Mapeador de Distˆancias). Isto elimina
a necessidade de tratar objetos cujo tipo de dados ´e desconhecido dentro do simulador.
D´a-se a estes eventos a denomina¸c˜ao de Eventos Normalizados.
Os eventos normalizados s˜ao encaminhados para o simulador, onde s˜ao utilizados para reproduzir os estados do sistema e gerar instantˆaneos (“snapshots”) de seu estado ao
fim da execu¸c˜ao de cada agrupamento de eventos. Estes instantˆaneos manifestam-se na
forma de modelos geom´etricos da estrutura, que s˜ao agrupados em seq¨uˆencia para formar anima¸c˜oes que constituem as representa¸c˜oes visuais do procedimento estudado.
Estas representa¸c˜oes visuais s˜ao enviadas para o visualizador que permite que o usu´ario explore o procedimento atrav´es da manipula¸c˜ao das representa¸c˜oes visuais geradas pelo simulador.
Esta arquitetura permite que o ˆonus da visualiza¸c˜ao da estrutura seja minimizado em seu ponto mais cr´ıtico que ´e a extra¸c˜ao de informa¸c˜oes da estrutura, repassando grande parte da complexidade do sistema para o simulador de estrutura. Uma outra vantagem associada a este modelo ´e a possibilidade de visualizar estruturas desconhecidas com bastante facilidade pois, estas n˜ao precisam detalhar suas a¸c˜oes, apenas as mudan¸cas ocorridas em sua estrutura, tarefa muito mais simples.
Por outro lado, esta organiza¸c˜ao n˜ao permite o fluxo reverso de informa¸c˜oes do visualizador para a estrutura, ou seja, n˜ao ´e poss´ıvel interferir na execu¸c˜ao de um pro- cedimento enquanto este ´e explorado visualmente. Por´em, esta limita¸c˜ao n˜ao constitui
uma grande desvantagem para o sistema pois tais interferˆencias seriam de pouca valia no estudo dos procedimentos e das propriedades da estrutura.
5.7
Conclus˜ao
A cria¸c˜ao de uma aplica¸c˜ao de visualiza¸c˜ao de estruturas, sejam elas m´etricas ou n˜ao, dependem de fatores como a extra¸c˜ao de informa¸c˜oes sobre o seu funcionamento e formas para criar representa¸c˜oes visuais destas que sintetizem suas propriedades mais relevantes e possam ser entendidas mais facilmente pelos usu´arios.
A cria¸c˜ao de uma aplica¸c˜ao desta natureza envolve a defini¸c˜ao de modelos de or- ganiza¸c˜ao e comportamento de MAM que sejam capazes de reproduzir todas as opera¸c˜oes
realizadas por uma estrutura. Estes modelos s˜ao utilizados para criar um simulador de
estruturas que pode ser utilizado para a gera¸c˜ao de representa¸c˜oes visuais destas. Este simulador utiliza informa¸c˜oes extra´ıdas diretamente das estruturas, sendo capaz de repro- duzir fielmente o seu comportamento.
A exibi¸c˜ao da organiza¸c˜ao e do comportamento de estruturas m´etricas para um usu´ario em dispositivos gr´aficos envolve a cria¸c˜ao de representa¸c˜oes visuais dos dados inde- xados por estas estruturas. Estas representa¸c˜oes podem ser obtidas pelo uso de algoritmos mapeadores de distˆancias, como o FastMap. As demais informa¸c˜oes sobre a organiza¸c˜ao da estrutura s˜ao criadas a partir da representa¸c˜ao dos dados.
Estas representa¸c˜oes gr´aficas das estruturas s˜ao capazes apenas de exibir o estado
dos elementos da estrutura em um dado momento. Por isto, seq¨uˆencias de estados da
estrutura no decorrer de um procedimento s˜ao agrupados em anima¸c˜oes que s˜ao exibidas para os usu´arios, ilustrando seu comportamento.
Um problema inerente a estes modelos visuais ´e o excesso de informa¸c˜oes que di- ficulta consideravelmente o entendimento das informa¸c˜oes exibidas para o usu´ario. Os
efeitos deste problema podem ser bastante reduzidos pelo uso de t´ecnicas de filtragem
que podem ser configuradas para inibir a exibi¸c˜ao de determinadas informa¸c˜oes presen- tes nas representa¸c˜oes visuais, utilizando crit´erios como a classifica¸c˜ao dos elementos e informa¸c˜oes temporais (no caso de anima¸c˜oes de procedimentos).
A qualidade dos mapeamentos gerados pelos algoritmos mapeadores de distˆancia
s˜ao bastante relevantes para a qualidade dos modelos visuais gerados pelo visualizador, por´em, seus efeitos podem ser contornados com a troca dos conjuntos de dados estudados. Se um conjunto gera mapeamentos ruins, pode-se tentar troc´a-lo por outro que resulte em melhores mapeamentos, mas cujas distribui¸c˜oes de distˆancias entre seus elementos seja similar ao anterior, pois o comportamento dos MAM depende mais destes fatores do que da natureza do conjunto de dados em si.
b´asica que descreve todos os componentes necess´arios para a constru¸c˜ao de uma aplica- ¸c˜ao de visualiza¸c˜ao de MAM. Esta arquitetura serve de base para a cria¸c˜ao do sistema MAMView, descrito em mais detalhes no Cap´ıtulo 6, que foi implementado para avaliar a viabilidade de sistemas de visualiza¸c˜ao de MAM.
Cap´ıtulo
6
O Sistema MAMView
6.1
Introdu¸c˜ao
Baseando-se nos conceitos apresentados no Cap´ıtulo 5, foi implementado um sistema prot´otipo, batizado de MAMView, cujo prop´osito ´e avaliar a viabilidade pr´atica de um
sistema de visualiza¸c˜ao de MAM e prover aos desenvolvedores de MAM, uma poderosa
ferramenta de an´alise para suas estruturas. Este prot´otipo implementa toda a arquitetura b´asica descrita na Se¸c˜ao 5.6.