Um Ambiente de Realidade Virtual para Apoiar a
Compreensão de Aspectos Dinâmicos do Software
Filipe A. Fernandes, Claudia S. C. Rodrigues e Cláudia M. L. Werner
COPPE/UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)
Caixa Postal 68.511 – CEP 21.945-970 – Rio de Janeiro – RJ – Brasil
{ffernandes,susie,werner}@cos.ufrj.br
Abstract. This paper presents a Virtual Reality environment based on Cognitive
Load Theory to support the modeling of software behavior dynamic teaching and
learning. By combining the characteristics of immersion, navigation and
interaction with animation techniques in 3D virtual environments, we believe that
there will be an engagement and motivation of students, resulting in a rapid
internalization of the involved concepts in systems modeling.
Resumo. Este artigo apresenta um ambiente de Realidade Virtual baseado na
Teoria da Carga Cognitiva para o apoio ao ensino-aprendizagem de modelagem
do comportamento dinâmico de sistemas complexos. Aliando as características de
imersão, navegação e interação com técnicas de animação em ambientes virtuais
3D, acredita-se que existirá um engajamento e uma motivação dos alunos,
resultando em uma rápida internalização dos conceitos envolvidos na modelagem
de sistemas.
1. Introdução
Sistemas complexos possuem um grande número de relacionamentos distintos entre seus
componentes e o ambiente [Sommerville et al. 2012]. Por conta disso, parte da
documentação destes sistemas possui muitas informações relevantes, tornando difícil o seu
entendimento. Notações, tais como UML, são utilizadas para descreverem aspectos estáticos
e dinâmicos do software, com o intuito de facilitar a comunicação e entendimento entre os
envolvidos no desenvolvimento. De modo geral, na academia são utilizados diagramas UML
para ensinar conceitos de modelagem de sistemas complexos. Contudo, alunos podem sofrer
uma sobrecarga cognitiva durante o processo de aprendizagem, pois a representação de
aspectos dinâmicos do software são apresentados de forma estática.
Este artigo tem como objetivo apresentar um objeto de aprendizagem (OA) para
apoiar o ensino-aprendizagem de aspectos comportamentais do software, denominado Visão
de Comportamento (VC). Baseada na Teoria da Carga Cognitiva (TCC), são aplicadas
técnicas de animação nos modelos comportamentais para reduzir a carga cognitiva e,
consequentemente, melhorar a aprendizagem.
O artigo está organizado como segue: a definição e as características da TCC, bem
como a importância de animações, são apresentadas na Seção 2. A VC é contextualizada e
apresentada na Seção 3. Na Seção 4, estão as conclusões e direções futuras.
2. Teoria da Carga Cognitiva
Esta teoria, segundo Sweller et al. (2011), tem por definição ser um conjunto universal de
princípios para proporcionar um ambiente de aprendizagem eficiente e promover um
aumento na capacidade do processo de cognição humana. Desenvolver ferramentas de ensino
multimídia, baseados nesta teoria, potencializa a aprendizagem e desenvolve habilidades pela
criação e uso de recursos em ambientes de aprendizagem.
Na elaboração de conteúdos multimídia para materiais de ensino, deve-se levar em
consideração a carga cognitiva global, que é subdivida em três cargas: a carga cognitiva
intrínseca, que é imposta pela complexidade do conteúdo do material de ensino; a carga
cognitiva irrelevante, que desperdiça recursos mentais que poderiam ser usados para
auxiliar na aprendizagem e, por último, a carga cognitiva relevante, caracterizada pelo
trabalho imposto pelas atividades de ensino que beneficiam o objetivo da aprendizagem.
Portanto, é necessário balancear estas cargas para que se atinja um bom nível de eficiência no
processo de aprendizagem.
Dois princípios da TCC são estabelecidos para reduzir a carga cognitiva irrelevante e
a intrínseca do processo de ensino e aprendizagem. Seguindo o princípio da correspondência
e da percepção, há evidências de que animações, sob certas condições, apoiam no processo
de ensino-aprendizagem, pois não sobrecarregam a cognição humana.
2.1 Animações
Animação ou representação visual dinâmica, por sua natureza, consiste em uma série de
informações visuais apresentadas sequencialmente. Mayer e Chandler (2001) investigaram o
uso deste recurso como forma de melhorar a compreensão e sugerem três estratégias que
devem ser consideradas para otimizar a aprendizagem:

Controle: para evitar que a animação se torne um tipo de informação estranha e não
prejudique a aprendizagem, uma simples solução é inserir controles para manipular a
animação, como por exemplo, iniciar, parar e diminuir a velocidade.

Segmentação: nos casos em que conteúdos são longos por natureza, segmentar uma
animação em pequenas seções definidas é um método que reduz a carga cognitiva.

Conhecimento prévio: além de apoiar a aprendizagem de um novo conhecimento,
animações ajudam na fixação do conteúdo para alunos que já possuem algum
conhecimento prévio sobre o assunto.
Desta maneira, as três estratégias funcionam como um framework que se aplica em
situações específicas para potencializar a compreensão, necessitando a análise de qual
combinação destas estratégias são mais apropriadas para um tipo de público e conteúdo. Por
exemplo, uma animação sem a opção de controle, não afeta negativamente a aprendizagem
do aluno que já tenha algum conhecimento. Uma animação pode ser usada somente com o
intuito de fixar o conteúdo já transmitido por outro método. Àqueles que não possuem
conhecimento, as opções de controlar e interagir por meio de seções apoia o entendimento do
assunto apresentado não sobrecarregando sua cognição.
Na próxima seção, a VC com diagramas animados em Realidade Virtual (RV) será
apresentada, bem como sua contextualização no ambiente de ensino-aprendizagem de
modelagem de sistemas complexos.
3. A Visão de Comportamento
VisAr3D (Visualização da Arquitetura de Software em 3D) é um ambiente de ensinoaprendizagem que possibilita a navegação e interação de modelos UML, fornecendo recursos
intuitivos, a fim de proporcionar melhor exploração dos modelos e entendimento de sistemas
complexos [Rodrigues 2012]. Utiliza-se da RV devido às características de imersão,
interação e navegação, pois aumentam a sensação de realismo e, por isso, pode trazer
motivação ou um ganho didático aos estudantes. O ambiente apresenta um conjunto de visões
que permitem diferentes formas de visualização, como por exemplo, visão de métricas, da
documentação, autores de modelos, dentre outros.
A Visão de Comportamento é uma das visões da VisAr3D. A VC tem como objetivo
utilizar animações em diagramas comportamentais, possibilitando ao aluno buscar novas
informações, enfatizar o raciocínio e a reflexão, fornecendo visualizações com mais
semântica, como nos casos dos diagramas de sequência e de atividades da UML, por
exemplo. Para a renderização dos modelos no ambiente 3D, são reutilizados os diagramas
bidimensionais geralmente utilizados pelos professores. A VC lê estes diagramas por meio de
um arquivo no formato XMI (padrão para descrever diagramas UML em XML), que são
automaticamente renderizados e inseridos no ambiente virtual. Isto facilita a manipulação dos
modelos utilizados em aula e evita a necessidade de remodelagem dos diagramas no
ambiente 3D.
Ensinar conceitos de modelagem de sistemas complexos pode ser apoiada com o uso
da VC. Por exemplo, software multithreaded são caracterizados por diversas threads, as
quais são executadas ao mesmo tempo. Neste paradigma, alguns problemas são conhecidos,
como os deadlocks. Utilizando a VC, os alunos podem visualizar, por animação, uma
simulação do que acontece quando o software é executado e aprender os conceitos
envolvidos e entender como evitar deadlocks, bem como outras questões pertinentes. No caso
de diagramas de sequência, conforme são realizadas as chamadas dos métodos, as lifelines
são instanciadas e os métodos, representados pelas setas, são criados com o efeito visual de
que estão se movendo de sua lifeline de origem para seu destino.
Outro exemplo, são sistemas cuja restrição de tempo deve ser respeitada a todo custo,
como nos casos de sistemas embarcados de tempo-real críticos. O professor pode construir
cenários onde o fluxo de animação pode ser controlada por um temporizador nas entidades
representadas nos modelos. Desta forma, a simulação do tempo em que um método demora
para enviar uma mensagem para outra entidade será visualizada pelo aluno.
3.1. O protótipo
Um protótipo da VC foi desenvolvido utilizando a IDE Eclipse com a linguagem Java 3D1.
Os diagramas de sequência, por meio de um arquivo XMI, são inseridos no ambiente virtual,
como mostra a Figura 1(a), e a animação do fluxo de mensagens é percebida por meio de um
retângulo vermelho que envolve as setas dos métodos - Figura 1(b). Com o intuito de utilizar
dispositivos para interagir com o ambiente virtual e transmitir a sensação de imersão, tais
como Oculus Rift2 e Kinect3, decidiu-se desenvolver a VC com o game engine Unity 3D.
1
http://www.oracle.com/technetwork/articles/javase/index-jsp-138252.html
https://www.oculus.com/en-us/
3
https://www.microsoft.com/en-us/kinectforwindows/
2
Esta engine, além de ser amplamente conhecida e ter suporte da comunidade de jogos e de
RV, possui recursos de integração com os dispositivos mencionados anteriormente.
Figura 1. Protótipo desenvolvido em Java 3D
4. Conclusões e Direções Futuras
Este artigo apresentou uma pesquisa em desenvolvimento que propõe facilitar o processo de
ensino-aprendizagem na modelagem de sistemas, do ponto de vista comportamental, alinhada
com o processo de cognição humana. Fundamentada na Teoria da Carga Cognitiva, técnicas
de animação são aplicadas aos modelos a fim de proporcionar melhor entendimento de
eventos dinâmicos.
Os próximos passos são finalizar o desenvolvimento do protótipo e avaliar a
abordagem proposta, a fim de obter evidências da viabilidade de utilização de animações em
um ambiente virtual 3D e utilizar dispositivos imersivos, tais como CAVE, Display Wall,
Oculus Rift e Kinect, os quais são poucos explorados no apoio ao ensino e aprendizagem em
Ciência da Computação de modo geral e em especial em Engenharia de Software.
Referências
Mayer, R.E e Chandler, P. (2001) "When learning is just a click away: Does simple user
interaction foster deeper understanding of multimedia messages?" Journal of
educational psychology, 93(2), 390.
Rodrigues, C.S.C. (2012) "VISAR3D-Uma Abordagem Baseada em Tecnologias
Emergentes 3D para o Apoio à Compreensão de Modelos UML". Tese de Doutorado,
COPPE/UFRJ.
Sommerville, I., Cliff, D., Calinescu, R., Keen, J., Kelly, T., Kwiatkowska, M., & Paige, R.
(2012) "Large-scale complex IT systems". Communications of the ACM, 55(7), 7177.
Sweller, J., Ayres, P.L., Kalyuga, S. (2011) "Cognitive load theory". Springer, New York.
Download

Instruções aos Autores de Contribuições para o SIBGRAPI