CoGenIVE : Code Generation for Interactive Virtual Environments

Nowadays, interactive systems are not limited to the desktop. On the one hand they are deployed onto handheld and embedded devices, and on the other hand they evolve into interactive virtual environments which are controlled by “rich interaction techniques”, like haptics or novel input and output devices. However, the development of these virtual environment user interfaces is not straightforward. Several toolkits try to facilitate this process but most of them cover only a subset of development issues. In this paper we present our tool, called CoGenIVE, and explain how we envision it to support the development of these interactive virtual environments, using a model-based approach. INTRODUCTION The development of Interactive Virtual Environments (IVEs) is not a straightforward process because both interaction techniques and input/output devices differ from classic user interfaces and applications. To meet the needs of IVEs and the interaction within them, several toolkits have been developed that try to facilitate the design of these environments. Some examples of such toolkits are: Maverik [2], a Virtual Reality (VR) system that supports several peripherals and can be used as a component of a complete VR system; VRJuggler [1], an open source platform used to develop and run VR applications; CaveLib [10], a toolkit used to develop applications for multiscreen systems. All aforementioned toolkits are programming API's, that support only one particular part of the development of an IVE (device interfacing, graphics, navigation, .). To our knowledge there is no integrated environment that supports the different levels of abstraction that are used throughout the complete design process: requirements capturing, graphics design, consistent interaction and navigation, support for arbitrary peripherals, . In order to solve this problem we propose using a model-based approach during the development of the IVE and its user interface. ModelBased User Interface Design (MBUID) has already proven its benefits in the design of 2D-desktop or multi-device user interfaces [9]. It has several benefits that, in our opinion, can also be applied in 3D user interface design. In the remainder of this paper, the approach envisioned in our research lab will be presented. THE VE FRAMEWORK The VE framework developed at our laboratory, supports a wide variety of input and output devices. The collection of output devices consists of, but is not limited to: the standard screen, stereoscopic view and a workbench. Some examples of supported input devices, next to keyboard and mouse, are the PHANToM haptic device [3], the 3D Mouse, 3D tracking, . These input devices are implemented using the VRPN library [4] which supports the creation of a networktransparent and device-independent input layer. Apart from the devices, the framework contains a 2D/3D hybrid user interface widget set that can be controlled by any of the supported devices. In order to specify these user interfaces for IVEs, we use a specific XML description language, called VRIXML [5]. The core of the framework exists of an event-based system [6]. Both input devices and user interface widgets can generate events, which are processed by the system. Based on the event and its parameters, the corresponding task will be executed. The following section will present CoGenIVE, a tool in which our model-based approach will be supported and analyzed. COGENIVE: CURRENT SITUATION AND ENVISIONED FUTURE WORK The current version of CoGenIVE integrates several models to support the creation of IVEs: the application, presentation, task and dialog model are the most important models. Figure 1.B shows the dialog model visualized as a state chart in which the designer can specify how the different application states influence the user interaction. Valid user events are included within those states [Figure