Introdução:
"Construção de modelos são uma nova área promissora
de Eng. de Software, em que a base de conhecimentos de projetos especializados
é capturada e representada para uso por outros projetistas."
Uma Construção de modelos consiste de um típico caso
de engenharia de software e de uma solução geral. Tais modelos
são expressos em linguagem natural textual e alguns fazem uso de
diagramas simples.
Outra nova área de aprendizado em muitos cursos de Ciência
da Computação é a programação em JAVA.
Geralmente ministrada na forma de tutorias que levam ao aprendizado inicial
da linguagem, através de suas bases.
Ambas as atividades levantam a questão de exploração
de formas alternativas de visualização para melhoria de aprendizado.
Os avanços de hardware levaram à condição de
criação de visualizações em muitas dimensões
usando Realidade Virtual em contraste com as duas dimensões de diagramas
esboçados no papel.
Este artigo descreve uma forma moderna de software de visualização
que tem como propósito a visualização de construção
de modelos, mas que pode ser usado para pequenos programas em JAVA. Esta
abordagem usa uma combinação de Realidade Virtual e Hipertexto
- grifos nossos. O propósito não é a substituição
de formas tradicionais de aprendizado, mas, sua complementação.
Neste artigo, a forma em que as 4 dimensões são utilizadas
- incluindo o tempo - é explicada e ilustrada, e alguns aspectos
de fundamentos da implementação são apresentados.
Este trabalho conclue com uma crítica do corrente estado do desenvolvimento
e uma discussão para trabalhos futuros.
A visualização
e sua implementação
Um objetivo para a visualização consistiu de explorar
as possibilidades de visualizar partes de um modelo ou fragmentos de código
em Realidade Virtual e complementar tal visualização com
hipertexto. Este aspecto é pretendido para combinar os benefícios
de ambas as técnicas.
A abordagem principal é o uso de diagramas tradicionais e a união
para explorar as visualização em diversas dimensões
de tal forma que os diagramas são um caso especial da vista resultante.
Esta metáfora usa de diagramas tradicionais familiares, que podem
ser adicionados à melhoria e desenvolvimento do conhecimento. KOIKE
foi o primeiro a introduzir este conceito. Entretanto, ele somente permitia
combinar uma hieraquia de classes e uma lista de métodos com
uma vista 3D para melhoria de entendimento do polimorfismo em uma biblioteca
de classes orientada a objetos.
Este conceito é usado como o ponto de partida para o trabalho corrente
e posteriormente extendido por combinar diferentes diagramas tradicionais
em uma forma diferente e incluindo o aspecto de tempo.
Usando as 4 dimensões:
A visualização em um ambiente virtual oferece 4 dimensões
- 3 espaciais e uma temporal, em contraste com as duas dimensões
de diagramas impressos. O diagrama mais importante foi identificado como
classes, objetos e diagramas de interação. A figura 1 mostra
as vistas combinadas em 3 tipos de diagramas, como representado neste trabalho.
Desta forma, todos os 3 tipos de diagramas são visualizados como
um único, com a manutenção de familiaridades dos diagramas
bi-dimensionais.
A exploração de chamadas de métodos e ponteiros aproveita
o fato que, em contraste com objetos tradicionais ou diagramas de interação,
ambos objetos e suas classes são mostrados.
Animando as interações:
"RV oferece a possibilidade de tempo de visualização
de uma forma natural, de tal forma que não há necessidade
de mapeamentos artificiais para uma dimensão espacial, como no caso
de diagramas tradicionais. "
Métodos são visualizados como mostrado na figura 2, abaixo.
Ela apresenta a transferência de controle como em uma sequência
de animação para qual o objeto chamador o faz através
da classe para o objeto chamado. O objeto chamado tem o controle enquanto
o método chamado é visível e assim pode chamar outros
métodos. O retorno da chamada de métodos é apresentado
por reverter a animação, com o método símbolo
retirando dentro do objeto chamador.
Complementando
vistas animadas com descrições em hipertexto:
Descrições básicas de uma classe são incluidas,
tais como clicar em uma classe na visualização apresenta
a descrição correspondente num quadro de texto adicional.
Adicionalmente, as interações são explanadas com uma
descrição textual sincronizada. As interações
são comentadas num código fonte para complementar a visualização,
e também são mostradas na forma de hipertexto, sincronizado
com a visualização.
De Construção
de modelos para programas JAVA:
Após o sucesso inicial com os programas de visualização
de construção de modelos, começou-se a explorar como
técnicas similares podem ser aplicadas para enriquecer programas
JAVA. Primeiramente, o código fonte de Java pode ser modificado
levemente para conformar-se com a sintaxe corrente da Linguagem do Software
de Visualização - SVL. Definições de
classes básicas e declarações de métodos
são retidas, e comentários explicativos são inseridos.
Uma pseudo função main é inserida, que ilustra um
cenário típico de tempo de execução.
Implementando VISP
- Visual Interactive Software and Patterns:
A implementação de uma solução geral
necessita de separar a informação da visualização.
A Linguagem do Software de Visualização foi desenvolvida
para expressar a estrutura, dinâmica de interação e
todos os textos descritivos de um fragmento de forma ou software
na forma legível para um computador. A solução implementada
VISP automaticamente compila ou interpreta a informação necessária
para uma definição SVL e gera a visualização.
A implementação VISP usa Netscape como o ambiente de execução
e um visualizador de hipertexto. O plug-in Cosmo Player serve como o browser
de RV compatível com a apresentação de mundos em VRML
2.0. O básico do sistema e um Applet Java VISP que controla a visão
de mundos virtuais via VRML External Authoring Interface - EAI. A interface
habilita o programador a criar, mudar, excluir dinamicamente todos
os objetos VRML em tempo de execução. O APllet interpreta
a especificação SVL, cria uma visualização
disto e controla a animação da cena e do hipertexto sincronizado,
de descrição, dirigido pelos comandos dados pelo usuário
através da interface do Applet. A figura abaixo mostra um exemplo:
-
O uso da ferramenta pode ser provido pelo acesso à página
dos autores
-
http://www.rhein-neckar.de/~kira
-
Relação
com outros trabalhos:
O fundamento a abordagem de visualização apresentada
neste artigo é a visulização com animação
3D de uma peça de software orientado a objetos. Há outros
trabalhos neste sentido, mas, relacionados com 2D - ref. [1].
De Pauw et al. - ref [2] estão fazendo uma análise similar
de informação de programas orientados a objetos. Entretanto,
o foco principal de apresentação está relacionado
com a compressão da informação. - Ainda em 2D.
O futuro:
Resultados iniciais são encorajadores... para a visualização
de pequenos programas Java, incorporação de mais informação
na visualização, por exemplo, bem como, um similar código
sincronizado para outras ferramentas de visualização.
A abordagem de VISP pode ser extendida para visualização
detalhada de programas inteiros. Isto deve aumentar a complexidade e pode
requerer controle manual.
-
Referências
do autor:
- Reiss, S.P. - An Engine for the 3D Visualisation of Program
Information. Department of Computer Science - Brown University - ftp://ftp.cs.brown.edu/pub/techreports/95/cs95/cs95-14.ps.Z
- De Pauw, W.; Kimelman, D. and Vlissides, J. - Modeling Object-Oriented
Program Execution. In ECOOP´94 Conference Proceedings, Springer-Verlag,
163-182 -
http://www.almaden.ibm.com/watson/pv/ecoop94.ps
|