A Virtual Environment Framework For Software Engineering
Gail E. Kaiser, Stephen E. Dossick · 2011
The field of Software Engineering is concerned with the investigation of new procedures and techniques which aid in the development of computer software. The holy grail of Software Engineering is the achievement of so-called “six-sigma” error rates (i.e. 99.999999% defect free), a rating pioneered in the Electrical Engineering field. The Software Engineering research community has long developed and experimented with new tools aimed at easing the problems faced in the process of building software products. In this dissertation, we report on research into the problem of scaling software development to hundreds or thousands of simultaneous workers using thousands or hundreds of thousands of project artifacts during the course of development of a software product. We have developed a framework which enables the application of Virtual Environment techniques for the creation of Software Immersion Environments, a new form of virtual environment (targeted at Software Engineering) in which the project team members (developers, project managers, testers, etc.) walk among project artifacts in a computer-generated 3d space as though they were real objects. By increasing the project workers' access to the artifacts associated with their development tasks, we hope to make the process of developing large-scale software systems easier. Our framework, known as CHIME (the Columbia Hypermedia IMmersion Environment), is built around a number of novel components. These include Xanth, an XML-based middleware information broker, the Groupspace Controller, an event bus which supports both pre- and post-event notifications and vetoes as well as service layering, the CHIME Virtual Environment Manager, responsible for mapping project artifacts into virtual environment furnishings, and the CHIME Theme Manager, a component which mediates between the virtual environment users and the information they are manipulating.