a software architecture for intelligent virtual

9
A software architecture for intelligent virtual environments applied to education Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005 47 Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005, pp. 47-55 A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL ENVIRONMENTS APPLIED TO EDUCATION Angélica de Antonio 1 Jaime Ramírez 1 Ricardo Imbert 1 Gonzalo Méndez 1 Raúl Antonio Aguilar 1 Recibido el 28 de enero de 2004, aceptado el 26 de octubre de 2004 RESUMEN Este artículo describe la arquitectura software que ha sido diseñada como modelo para la aplicación de Entornos Virtuales Inteligentes a actividades de entrenamiento. A través de CORBA, como middleware, se ha integrado un entorno gráfico interactivo, desarrollado en OpenGL y Visual C++, con un sistema multiagente cooperativo desarrollado sobre la plataforma JADE. Palabras clave: Entorno Virtual, Sistema Inteligente de Tutoría, Entorno Virtual Inteligente para Entrenamiento, Sistema Basado en Agentes, Agente Virtual Inteligente. ABSTRACT This paper describes the software architecture that has been designed as a model for the application of Intelligent Virtual Environments to training activities. CORBA has been used as the middleware to integrate a graphical and interactive environment developed in OpenGL and Visual C++, with a cooperative multi-agent system developed on top of the JADE platform. Keywords: Virtual Environments, Intelligent Tutoring Systems, Intelligent Virtual Training Environments, Agent Based Systems, Intelligent Virtual Agents. INTRODUCTION The use of Virtual Environments (VEs) for training is a promising option for educational activities, especially in those situations where traditional education can be costly, dangerous or even impossible to realize. The combination of VEs with Intelligent Systems, and mainly Agent-based Systems, is giving rise to a new category of software usually referred to as Intelligent Virtual Environments (IVEs) [1]. A special case of those are the systems that combine a VE with an Intelligent Tutoring System (ITS) and are applied to training. They will be called Intelligent Virtual Environments for Training (IVETs) [9]. In IVETs, the tutoring process embedded in the system sometimes adopts, just like the learners, a virtual representation within the VE. Virtual characters representing the tutoring component of IVETs are usually referred to as Pedagogic Agents [6], given that they are usually designed and architected as intelligent software agents [7]. From the Software Engineering point of view, there are very few methodological proposals for the development of virtual reality-based environments [5], [11]. Moreover, very few tools and platforms are available to support the development of IVETs. These are very complex systems in which it is necessary to combine advanced graphical capabilities, interaction management through complex virtual reality devices, distributed multi-user communication, and intelligent components to assist learners in their learning process. The complexity and heterogeneity inherent in IVETs calls for open and flexible architectures [10] that allow a smooth integration of components and subsystems possibly developed with different technologies, as well as improved extensibility and maintainability. This paper describes the subsystems and the software architecture underlying a platform for the development of IVETs that has been created in the Decoroso Crespo Laboratory at the Universidad Politécnica de Madrid (UPM). This work has been partially funded by the Spanish Ministry of Science and Technology under grant TIC00-1346. 1 Facultad de Informática, Universidad Politécnica de Madrid, Campus Montegancedo, 28660 Boadilla del Monte, Madrid, España. [email protected], [email protected], [email protected], [email protected], [email protected]

Upload: others

Post on 22-Mar-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

A software architecture for intelligent virtual environments applied to education

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005 47

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005, pp. 47-55

A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL ENVIRONMENTS

APPLIED TO EDUCATION

Angélica de Antonio1 Jaime Ramírez1 Ricardo Imbert1 Gonzalo Méndez1 Raúl Antonio Aguilar1

Recibido el 28 de enero de 2004, aceptado el 26 de octubre de 2004

RESUMEN

Este artículo describe la arquitectura software que ha sido diseñada como modelo para la aplicación de Entornos VirtualesInteligentes a actividades de entrenamiento. A través de CORBA, como middleware, se ha integrado un entorno gráficointeractivo, desarrollado en OpenGL y Visual C++, con un sistema multiagente cooperativo desarrollado sobre la plataformaJADE.

Palabras clave: Entorno Virtual, Sistema Inteligente de Tutoría, Entorno Virtual Inteligente para Entrenamiento, SistemaBasado en Agentes, Agente Virtual Inteligente.

ABSTRACT

This paper describes the software architecture that has been designed as a model for the application of Intelligent Virtual

Environments to training activities. CORBA has been used as the middleware to integrate a graphical and interactive

environment developed in OpenGL and Visual C++, with a cooperative multi-agent system developed on top of the JADE

platform.

Keywords: Virtual Environments, Intelligent Tutoring Systems, Intelligent Virtual Training Environments, Agent Based

Systems, Intelligent Virtual Agents.

INTRODUCTION

The use of Virtual Environments (VEs) for training is apromising option for educational activities, especially inthose situations where traditional education can be costly,dangerous or even impossible to realize.

The combination of VEs with Intelligent Systems, andmainly Agent-based Systems, is giving rise to a newcategory of software usually referred to as IntelligentVirtual Environments (IVEs) [1]. A special case of thoseare the systems that combine a VE with an IntelligentTutoring System (ITS) and are applied to training. Theywill be called Intelligent Virtual Environments forTraining (IVETs) [9]. In IVETs, the tutoring processembedded in the system sometimes adopts, just like thelearners, a virtual representation within the VE. Virtualcharacters representing the tutoring component of IVETsare usually referred to as Pedagogic Agents [6], giventhat they are usually designed and architected asintelligent software agents [7].

From the Software Engineering point of view, there arevery few methodological proposals for the developmentof virtual reality-based environments [5], [11]. Moreover,very few tools and platforms are available to support thedevelopment of IVETs. These are very complex systemsin which it is necessary to combine advanced graphicalcapabilities, interaction management through complexvirtual reality devices, distributed multi-usercommunication, and intelligent components to assistlearners in their learning process. The complexity andheterogeneity inherent in IVETs calls for open andflexible architectures [10] that allow a smooth integrationof components and subsystems possibly developed withdifferent technologies, as well as improved extensibilityand maintainability.

This paper describes the subsystems and the softwarearchitecture underlying a platform for the developmentof IVETs that has been created in the Decoroso CrespoLaboratory at the Universidad Politécnica de Madrid(UPM). This work has been partially funded by theSpanish Ministry of Science and Technology under grantTIC00-1346.

1 Facultad de Informática, Universidad Politécnica de Madrid, Campus Montegancedo, 28660 Boadilla del Monte, Madrid, España. [email protected],[email protected], [email protected], [email protected], [email protected]

Page 2: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005

Angélica de Antonio, Jaime Ramírez, Ricardo Imbert, Gonzalo Méndez y Raúl Antonio Aguilar

48

THE MAEVIF PROJECT

The MAEVIF project (Model for the Application ofIntelligent Virtual Environments to Education – inSpanish “Modelo para la Aplicación de Entornos Virtualesa la Formación”) started on December 2000. The generalgoal of the project was the definition of a model for theapplication of IVEs and IVAs to education. This impliedseveral tasks including:

• The definition of a generic model for IVETs.• The definition of an open and flexible architecture,

based on components, to support the previouslydefined generic model.

• The development of a prototype platform and anexperimental IVET to test the model andarchitecture.

This paper focuses on the software architecture and itscurrent implementation and the way in which variousheterogeneous components and technologies have beenintegrated to provide a common ground for thedevelopment of present and future IVETs.

MAEVIF is basically composed of two subsystems. Thefirst one deals with the graphical visualization of thevirtual environments and the interaction with the learners.The second subsystem is a multi-agent system designedto provide “intelligence” to the tutoring system. Thefollowing sections describe both subsystems in detail andthe way in which these quite different approaches tosoftware have been integrated through a standard fordistributed objects.

A GRAPHICS AND INTERACTIONSUBSYSTEM FOR IVETS

The generic model for IVETs that has been considered isoriented towards training applications in which one ormore learners have to learn to interact with thesurrounding environment and between them, in theexecution of a cooperative task with a shared goal. Theneed for the learners to interact with the environment aspart of their task leads to and justifies the use of a virtualreality system. Virtual reality technologies range fromthe most expensive and immersive devices, such asCAVEs, head mounted displays (HMDs), motion trackingsystems, or data gloves, to the more economical but leastimmersive interaction means commonly used in desktopconfigurations (mouse, monitor, joystick and keyboard).The objective was to select an approach that was validfor any logical combination of interaction devices, beingopen to the needs and possibilities of many different types

of users. The more immersive is the combination ofinteraction devices available for the learner, the morerealistic will be the learning experience.

For the development of the graphics and interactionsubsystem (GIS) to be used by the learners, a variety oftechnologies are required. Graphics technologies arenecessary for the creation and rendering of the scene tobe perceived by each learner during the training activities.Each learner will be represented in the environment by avirtual character, an avatar, so that, in every moment, theview that the learner has over the environment willcorrespond to what his/her avatar “sees” through itsvirtual eyes. The environment, the objects within it, andthe avatars, have to be created as three dimensionalmodels, trying to find a proper balance between realismand simplicity for real-time rendering. In the MAEVIFprototype, 3D Studio Max has been used for this purpose,but similar tools could also be used. The resulting modelsneed to be translated into a textual file format that hasbeen defined in MAEVIF. A translator for 3D Studio Maxhas already been implemented. If other 3D modeling toolswere to be used, new specific translators would have tobe developed.

The graphics and interaction subsystem is able to load,render and animate any environment and its objects,provided that they are in the defined MAEVIF format,using the OpenGL graphic libraries. This subsystem hasbeen implemented in Microsoft Visual C++, and it alsomakes use of some of the Microsoft DirectX libraries. Inparticular, DirectPlay is used for direct communicationbetween the different learner applications that areconnected to the same environment in any given moment.In this way, with a peer-to-peer approach, the movementsof the avatars that represent the learners arecommunicated to the other learner views, in order toupdate their corresponding rendered scenes. Microsoft’sDirectInput has also been used to manage conventionalinteraction devices (keyboard and joystick). For moreadvanced virtual reality devices, special libraries havebeen designed to act as intermediaries and avoid a directcoupling of the subsystem with the specific driversprovided by the devices’ vendors. Finally, the GIS alsomakes use of IBM’s Via Voice to allow voice synthesisand recognition. Just as it was the case with the creationof 3D models and animations, the combination oflanguages, libraries and tools that has been selected forthe implementation of the GIS could be replaced by otheranalogous technologies, such as Java (instead of C++),Java3D (instead of OpenGL), Dragon NaturallySpeakingor VoiceXpress (instead of ViaVoice), OpenPlay (insteadof DirectPlay), etc.

Page 3: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

A software architecture for intelligent virtual environments applied to education

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005 49

Figure 1 shows the different packages that compose theGIS and their interdependencies. They will be explainedin the following paragraphs.

Scenario Package. It deals with the rendering andcontinuous update of the virtual world. It also capturesall events coming to the GIS from the learner and theoperating system (timers, etc.) and retransmits theseevents to the Manager Package. MFC (MicrosoftFoundation Classes) classes are used to implement agraphical user interface (GUI) that allows the learner tointeract with the system.

Devices Package. It manages the initialization, pollingand interfacing with the different interaction devicesoffered to the learners. It is the package that encapsulatesand hides the details of the specific device drivers.

Communications Package. It has the responsibility ofcoordinating the different views that different learnershave over the same virtual environment, depending onthe position of their avatars in the world. It is the packagethat makes use of the DirectPlay libraries. This packageis also responsible of the communication with the multi-agent tutoring subsystem, via a CORBA middleware.

World Package. Its classes maintain geometricalinformation about all the objects in the environment.

Manager Package. It is the core of the GIS. Using theclasses in the Scenario, Devices and CommunicationsPackages, gathers and interprets all the events that havean effect on the virtual world, which is updated via theclasses in the World Package.

The ultimate goal of conventional and/or not conventionalinteraction devices in an IVET is allowing the learner tonavigate through the environment and to interact withthe objects and other entities in the world. Theseinteractions will have effects on the environment andsystem that is being simulated. For instance, if the virtualenvironment reproduces the control room of a nuclearpower plant, the push of a button by the learner couldprovoke the opening of a valve and the change in thecolor of an indicator. Consequently, the IVET shouldmaintain knowledge about the interaction possibilitiesand their effects on the visual representation of theenvironment and on the underlying simulated system.This knowledge will also be used by the multi-agenttutoring subsystem to build action plans, provideexplanations, answer questions coming from the learner,and other processes.

In order to manage navigation, three generic variableshave been defined: position, orientation and viewpointof the learner’s avatar. In order to manage interaction,two additional variables are considered: position andorientation of the avatar’s hand. Each of these variablescan be controlled by different types of device inputs. TheManager Package is in charge of making the translationfrom the inputs that come from the devices to the pertinentmodifications of the variables.

However, even if MAEVIF is open to almost anycombination of devices, there are some possibilities thatdo not make sense and are not allowed. For instance, if alearner wishes to use a HMD to visualize the environmentand a motion tracking system to determine his/her head’sposition and orientation, it would be cumbersome to usea keyboard to generate other events, such as actions onthe objects; first, because he/she would not see thekeyboard, and second, because he/she would bephysically moving around to navigate through theenvironment.

In the MAEVIF prototype, the selection of a navigationdevice conditions the possible devices that are allowedfor other actions. Table 1 shows the feasible interactionoptions that are currently supported by MAEVIF.

Figure 1 Packages in the graphics and interactionsubsystem of MAEVIF.

Page 4: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005

Angélica de Antonio, Jaime Ramírez, Ricardo Imbert, Gonzalo Méndez y Raúl Antonio Aguilar

50

As it can be seen in figure 2, regardless of the selecteddevices, the view that a learner gets from the environmentin a training session is a first person view. The learnerwill observe a 3D environment with objects (some ofthem can be manipulated and others cannot), avatarsrepresenting other learners, and a special virtual characterthat represents his/her virtual tutor. He/she will also seethe right hand of his/her own avatar, allowing him/her topoint to virtual objects (to ask a question about them tohis/her virtual tutor, for instance) and to interact with them(to pick up an object, to push a button, to open a door,etc.). The manipulable objects and the interactionpossibilities will be dependent on the particularenvironment that is being simulated in the IVET. Thisinformation can be associated to the different IVETs inthe MAEVIF platform by means of an authoring tool.Several XML files are generated by this tool containingthis information.

requires highest level software abstractions. Objects andcomponents (CORBA or COM-like components) arepassive software entities which are not able to exhibitthe kind of pro-activity and reactivity that is required inhighly interactive environments. Agents, moreover, areless dependent on other components than objects. Anagent that provides a given service can be replaced byany other agent providing the same service, or they caneven co-exist, without having to recompile or even toreinitiate the system. New agents can be addeddynamically providing new functionalities. Extensibilityis one of the most powerful features of agent-basedsystems. The way in which agents are designed makethem also easier to be reused than objects.The first step in the design of the Multi-Agent TutoringSubsystem (MATS) was the reinterpretation of thetraditional architecture for ITSs (composed of Expert,Student, Tutoring and Communication modules) as anarchitecture based on cooperative agents. The firstproblem was that the traditional ITS architecture wasmeant for a single learner interacting with his/her tutor,while MAEVIF was going to allow distributed multiplelearners inhabiting the same environment and interactingwith the environment, between them, and with theirvirtual tutors. On the other hand, the 3D environmentand its inhabitants could not be considered any more asan external Communication Module through which thestudent interfaces with his/her tutor. The students and thetutor are in fact immersed and they are part of theenvironment. The complex network of possibleinteractions together with the fact that the studentsbecome a part of the interface, lead us to a modificationin the original ITS architecture to count for multiplelearners and immersive 3D environments. The StudentModule was split into several Individual Learner Modulesand one Team Module. An additional module was alsodefined, called World Module that should containgeometric and semantic information about theenvironment and its objects, its inhabitants, and itsinteraction possibilities.Afterwards, a representative agent for each of the fivemodules in the extended ITS architecture was designed:

Table 1 Feasible Combinations of Interaction Devices.

Navigation Viewpoint HandHMD Joystick Keyboard Data glove Keyboard

(with position sensor)HMD � �

Joystick � � � �

Keyboard � � � �

Figure 2 View that a learner has of the virtualenvironment in which he/she is immersed.

AN AGENT-BASED ARCHITECTURE FOR THETUTORING SUBSYSTEM

The decision of using multi-agent technology for thedesign of the tutoring subsystem relies on the belief thatthat the design of highly interactive IVETs populated byintelligent and autonomous or semi-autonomous entities,in addition to one or more avatars controlled by users,

Page 5: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

A software architecture for intelligent virtual environments applied to education

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005 51

• Expert Agent• Tutoring Agent• Communication Agent• Student Modeling Agent• World Agent

Then, the responsibilities for the representative agentswere defined, as well as the interaction andcommunication scenarios between them. Somesubordinate agents were then associated to therepresentative agents. They can delegate some of theirresponsibilities and specific tasks on these subordinateagents. The resulting multi-agent architecture is describedin [2].

For the implementation of this multi-agent architecture,the JADE platform (Java Agent DevelopmentFramework) has been used. JADE sticks to the FIPA(Foundation for Intelligent Physical Agents)specifications for the development of intelligent softwareagents. Individual agents are programmed in Java. Here,again, other agent platforms could have been used (FIPA-OS, Zeus, etc.).

An incremental and evolutionary approach todevelopment has been selected for MAEVIF. The currentprototype implements a subset of the completearchitecture that can be seen in figure 3. The functionalityof these agents is briefly described next.

Simulation Agent

Planning Agent

Tutoring AgentAction Agent

Virtual TutorAgent 1Perception

Agent

Expert Agent

World Agent

Student Agent 1

Student Agent N

Student Agent

Trajectory Agent

IndividualCommunication Agent 1

IndividualCommunication Agent N

Graphical andInteraction Ss,

InteractionDevices

Learner 1

Graphical andInteraction Ss,

InteractionDevices

Learner N

Global CommunicationAgent

Virtual TutorAgent N

Initiation Agent. It is an auxiliary agent responsible forthe creation of the necessary objects and containers uponthe initiation of the system, after the agent server hasbeen launched.

Figure 3 MAEVIF Multi-agent Architecture.

Global Communication Agent. It is in charge of thechanneling the communication between the MATS andthe different GIS running on the learners’ machines.

Page 6: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005

Angélica de Antonio, Jaime Ramírez, Ricardo Imbert, Gonzalo Méndez y Raúl Antonio Aguilar

52

Individual Communication Agents. Each learner, uponconnecting to the system, will be assigned an IndividualCommunication Agent in charge of transmitting messagesfrom the learner’s GIS to the MATS and vice versa. Forinstance, it will inform the MATS of the virtual characterthat has been selected by a learner in a certain activity andof the actions that the learner is trying to execute, and itwill communicate to the GIS the verbal messages to besynthesized coming from his/her virtual tutor (clues,answers to the student’s questions, etc.), the animations tobe performed by the virtual tutor, etc.

Notification Agent. Given that JADE agents can only sendto and receive messages from other agents, thecommunication between the GIS and the MATS had to beperformed using a temporal agent that is created whenevera message has to be sent to the MATS and is destroyedafterwards.

Tutoring Agent. It is responsible for proposing activitiesto the learners, monitoring their actions in the virtualenvironment, checking if they are valid or not, and makingtutoring decisions. The activities that can be proposed bythe Tutoring Agent are dependent on the particularenvironment that is being simulated in the IVET, and theycan also be defined through the authoring tool. Some XMLfiles define the activities in the IVET, the characters thatshould take part on them, and the role to be performed byeach character.

Expert Agent. The expert agents will contain the expertknowledge about the system that is being simulated, aswell as the expert knowledge necessary to solve problemsand to reach the desired goals. Most of the activities to beposed to the learners, in the generic model of an IVET thatis being considered, will consist of finding an appropriatesequence of actions to go from an initial state of thesimulated system and the environment to a desired finalstate. These actions will have to be executed by the teamof learners. The expert agent will delegate on a SimulationAgent, that contains the knowledge about the simulatedsystem, a Planning Agent, that is able to find the bestsequence of actions to solve different activities. TheSimulation Agent in the prototype IVET was so simplethat their functions are currently performed by the ExpertAgent. The Trajectory Agent is currently able to comparethe paths followed by the learners with predefinedtrajectories (stored in XML files and defined with theauthoring tool) and an algorithm to compute best paths,which is based on the A* algorithm, is being implemented.

World Agent. It maintains information about all thevirtual objects, manipulable or not (name, position, size),

as well as about all the learners immersed in theenvironment (name, position, orientation, carried objectsin their inventory, virtual character selected by the studentfor the activity,...). This agent is able to verify conditionson the state of the environment, and update this stateaccording to the consequences of the actions executed bythe learners.

Action Agent. It owns the knowledge about the actionsthat can be performed on the virtual objects in theenvironment. It cooperates with the Planning Agent (bymeans of a blackboard structure) to build solution plans.During the simulation of an activity, it is responsible ofchecking if the preconditions associated to the actions thata learner is trying to execute really hold, and it is alsoresponsible of coordinating the execution of all theconsequences associated to those actions (in cooperationwith other agents).

Trajectory Agent. It is able to find the best path to gofrom a certain position in the environment to a selecteddestination and to compare the best trajectory with the pathfollowed by a learner, communicating the results to theTutoring Agent.

Perception Agent. A model for visual perception in virtualintelligent agents [4] has been implemented. This modelallows the virtual tutors to perceive the surroundingenvironment in a way inspired by the human perceptualsystem. The Perception Agent receives from the WorldAgent information about the position and size of the objectsin the environment (maintaining some geometric entitiescalled nimbus) and about the position and viewpoint ofthe virtual tutors (maintaining other geometric entitiescalled focus). Using these entities, the Perception Agent isable to calculate what a virtual tutor can see in a givenmoment and with which clarity of perception [3].

Virtual Tutor Agent. This agent is responsible forcontrolling the actions of the characters associated to thevirtual tutors. Each learner will have his/her own virtualtutor. In the current prototype virtual tutors only have asimple behavior of following the learners in their waythrough the environment, keeping at a proper distance toobserve their actions.

Student Agents. These agents are in charge of maintaininga model of each learner, including personal information,their actions in training sessions, and a model of thelearners’ knowledge. In the current prototype the studentmodel is maintained in a combination of XML files and adatabase.

Page 7: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

A software architecture for intelligent virtual environments applied to education

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005 53

A DISTRIBUTED SOFTWARE ARCHITECTURE

The subsystems integrating MAEVIF softwarearchitecture have developed with heterogeneoustechnologies and languages. The goal was to benefit fromthe specific features of these technologies according tothe required functionalities. On one there is a multi-agentsubsystem that benefits from the features offered by theJADE platform. On the other hand there is a graphicsand interaction subsystem that benefits from differentlibraries and drivers available for the management ofgraphics and interaction devices.

This section details the way in which both subsystemshave been integrated in an architectural solution that isopen and flexible. CORBA (Common Object RequestBroker Architecture), one of the most used standards forthe development of distributed components, has been usedfor this purpose.

CORBA provides a specification for the management ofdistributed objects, by means of a bus (Object RequestBroker: ORB) through which objects written in differentlanguages and residing on different networks andoperating systems, can interoperate [4]. Of the variety ofservices offered by CORBA, MAEVIF relies mainly onits Name Service, which allows linking an object with aname in order to be able to locate the object by its nameafterwards. Figure 4 shows the subsystems in MAEVIF’ssystem architecture.

Figure 4 MAEVIF’s System Architecture.

MAEVIF is a multi-user system, therefore the CORBAobjects cannot be assigned a specific name, because thatcould lead to name conflicts between the objects createdfor different learners. To solve this problem, a NameServer developed by Orbacus that allows the definitionof hierarchical name contexts has been used. Figure 5shows the context structure defined for MAEVIF.

Figure 5 Name contexts structure in MAEVIF.

CORBA objects for MAEVIF fall into two categories:

• Servers. These are objects that offer a set of welldefined services to other CORBA objects. InMAEVIF there are global servers as well as specificservers for each learner. Table 2 shows the serverobjects in MAEVIF.

• Clients. These are objects that are in charge ofmaintaining references to server objects registeredin the name server, sending requests to them,receiving the responses and providing the answersto the associated subsystem making transparent thefact that server components are distributed. MAEVIFclient objects are:

o Associated to the GIS: Activator,Informer, Character.

o Associated to the MATS: World,Semantic, Notificator, Response.

o Associated to the Voice Engine:Recognizer, Semantic, Informer,Question.

Page 8: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005

Angélica de Antonio, Jaime Ramírez, Ricardo Imbert, Gonzalo Méndez y Raúl Antonio Aguilar

54

Table 2. Server objects registered in the MAEVIF nameserver.

CONCLUSIONS AND FUTURE WORK

A system and software architecture has been devised tofacilitate the development of Intelligent Virtual TrainingEnvironments (IVETs). This architecture provides theground for integrating many heterogeneous technologiesand making them interoperate in a distributed setting.The architecture has been devised to be open and flexible,and to facilitate the incorporation of new componentsand agents, as well as the use of different languages andtools.

New agents and new functionalities for the existing agentsare currently being implemented. For the future, it wouldbe desirable to improve the effectiveness of the IVETthrough enhanced capabilities of the Pedagogic Agents.These agents should be perceived by the learners asbelievable intelligent entities. An open research linefocuses on the study of the learner-IVET interaction andthe search for more efficient and effective metaphors andnavigation and interaction mechanisms.

ACKNOWLEDGEMENTS

This work has been partly funded by the Spanish Ministryof Science and Technology through project MAEVIF(TIC00-1346).

REFERENCES

[1] R. Aylett, y M. Luck. “Applying ArtificialIntelligence to Virtual Reality: Intelligent VirtualEnvironments”. Applied Artificial Intelligence 14(1). Pp. 3-32. 2000

[2] A. de Antonio, J. Ramírez, G. Méndez. “An Agent-based architecture for virtual environments fortraining”. In M.I. Sánchez (ed). Developing FutureInteractive Systems. IDEA Group. 2004.

[3] B. Hermida. “PEVE: Percepción Visual en EntornosVirtuales para Entrenamiento”. Trabajo Fin deCarrera. Facultad de Informática, UniversidadPolitécnica de Madrid. 2004.

[4] P. Herrero, A. de Antonio. “Diseño de un Modelode Percepción para Agentes Virtuales InteligentesBasados en el Sistemas de Percepción de los SeresHumanos”. Revista de la Facultad de Ingeniería,U.T.A. Vol. 11, No. 1, Arica, Chile. Pp. 11-24. 2003.

Generally speaking the procedure to initiate a trainingsession in MAEVIF includes the following steps:

1. Initiate the Orbacus name server in one machineand port.

2. Initiate the JADE platform with the necessaryagents for the session, in the same or in othermachine.

3. Open an instance of the GIS in each of themachines that will be used by the team oflearners.

4. Activate the voice recognition system in themachines of those learners that want to use it asan interaction device.

SubsystemGIS

MATS

Server

Global

Learner

Global

Learner

Description

It is an access point to consultinformation about the objectsin the virtual environment.It manages all the informationabout manipulable objects inthe virtual environment.It informs the virtualenvironment about the answersto the questions formulated bythe learner through the voicerecognition system.It allows the communicationbetween the GIS and the voicerecognition system.It provides access to the GISassociated to an individuallearner for the MATS tocommunicate modifications onit.It manages the connections oflearners and synchronizes theMATS with the first GIS thatis activated.It manages the learner’s dataand informs the MATS aboutthe learner’s actions in thevirtual world.It sends to the MATS thequestions formulated by thelearner.It informs the MATS about thecharacter selected by thelearner among the availablecharacters in one activity.

Object

World

Semantic

Response

Recogni-zer

Notifica-tor

Activator

Informer

Question

Character

Page 9: A SOFTWARE ARCHITECTURE FOR INTELLIGENT VIRTUAL

A software architecture for intelligent virtual environments applied to education

Rev. Fac. Ing. - Univ. Tarapacá, vol. 13 no. 1, 2005 55

[5] C. Fencott. Towards a Design Methodology forVirtual Environments. Workshop on User CenteredDesign and Implementation of VirtualEnvironments. University of York. 1999.

[6] W. Johnson, J. Rickel y J. Lester. “AnimatedPedagogical Agents: Face-to-Face Interaction inInteractive Learning Environments”. InternationalJournal of AIED. 2000.

[7] L. Giraffa, R. Viccari. “Intelligent Tutoring SystemsBuilt Using Agents Techniques”. La Salle, Revistade Educación, Ciencia y Cultura. 4 (1), Canoas:Brasil. 1999.

[8] G. López, M. Salas, R. Siles, F.J. Soriano.“Arquitectura de Objetos Distribuidos CORBA”.Facultad de Informática. Universidad Politécnicade Madrid. 2000.

[9] G. Méndez, A. de Antonio, P. Herrero. “Prvir: AnIntegration Between an Intelligent Tutoring Systemand A Virtual Environment”. In SCI 2001.VolumeVIII. Orlando, FL, IIIS, IEEE Computer Society.Pp. 175-180. 2001.

[10] A. Munro, D.S. Surmon, M.C. Johnson, Q.A.Pizzini y J.P. Walker. “An Open Architecture forSimulation-Centered Tutors”. Open LearningEnvironments: New Computational Technologiesto Support Learning, Exploration and Collaboration.9th Conference on AIDED, Le Mans, France. Pp.360-367. 1999.

[11] M.I. Sánchez. “Una Aproximación Metodológicaal Desarrollo de Entornos Virtuales”. Tesis Doctoral.Facultad de Informática, Universidad Politécnicade Madrid. 2001.