Deva: A coherent operating
environment
for large scale
VR applications

Steve Pettifer and Adrian West
Advanced Interfaces Group
Department Of Computer Science
University Of Manchester
United Kingdom


ABSTRACT

VR systems are offering support for increasingly complex world models. However there is still a long way to go before the level of support enjoyed by applications and users in a conventional operating system environment is attained. The situation is analogous to support for applications in the early days of computing. We ask "What would a mature VR environment be like ten years hence?"

In this paper we present a distributed VR operating system under development at the University of Manchester. It is designed to cater for large numbers of active applications and users but more interestingly allows hierarchies of worlds, universes and their associated metaphysical models to be readily specified.

Whilst common issues such as frame rate, lag, distribution and synchronization are of crucial importance, they are routinely addressed in the computer science literature. In this paper we focus instead upon the high level issues more peculiarly exotic to VR. If we are to usefully support the definition of worlds, applications, objects, behaviours, laws and forces in any non-trivial way, then what structure is appropriate to provide for the complex relationships between these notions? For a mature VR technology this metaphysical structure is a key issue both for the users of the system and for the application architects.

The structure developed herein forms the basis of Deva, a system which aims to provide both the pragmatic facilities required for the execution of interacting applications and, more particularly, a coherent framework that specifically addresses the future needs of large scale VR.

http://www.cs.man.ac.uk/aig/deva

srp@cs.man.ac.uk


  1. Introduction


Virtual Reality is beginning to emerge from its infancy. Until recently, its supporting technologies have been unable to deliver the power required to generate anything other than simple demonstrations of the principles and potential scope of virtual environments. Today, however, graphics hardware and algorithms as well as the available raw computing power have advanced to the point where large scale virtual environments and associated applications are becoming a realistic proposition.

The virtual reality operating-systems and applications of today can be seen to be in a comparable state to those running on the PCs of the 1980s. Although of course the underlying technology is many times more sophisticated and the complexity of the applications much greater, the issues of interaction between multiple users and applications are remarkably similar. This paper examines some of the issues that must be addressed if virtual reality is to become an accepted means of interacting with the world of digital information.

  1. From metaphor to metaphysics


Much of the success of the modern workstation (certainly outside the field of computer science) can be attributed to the concept of the 'desktop environment'. The operations that are going on 'behind the scenes' have in principle changed very little from the early days of computing, but now the esoteric commands have been replaced by more readily accessible concepts. This has, broadly speaking, made interaction much simpler simply because the operations we perform on the computer's virtual desktop are more closely allied to those we perform in the real world. Because the desktop metaphor ties in to some extent with our every-day experience of working at a real desk, we are much more able to forget that we are actually manipulating thousands of bytes of data on a rapidly spinning magnetic disc (that may even be rapidly spinning in a different room, or even remote country) and concentrate much more on the task to hand.

The potential power of virtual reality comes from a similar source - the strength of its metaphor, and its even greater proximity to our natural modes of interaction. In a virtual world, we can be completely unaware of the technology that would be underpinning our experience of our surroundings. To a far greater extent than with the mouse-window metaphor, the invasion of the tool (i.e. the computer, which is no more than a means to an end) into the task (which is the end in itself) could be minimized greatly, because we are very much used to working with real objects in a real three-dimensional environment. Moreover, in the fully-immersive case, the user would ideally not even be aware that they are interacting with a computer at all since it need not represent itself in the simulated environment (whereas sitting at a workstation holding a mouse obviously reinforces the existence of the tool).

A three-dimensional world metaphor has much more scope for direct human/computer interaction than the two-dimensional desktop because it engages in us those perceptual and spatial faculties that allow us to comprehend our surroundings and to process effortlessly the vast amounts of information that are presented to our senses second by second. It is the potential to directly engage these faculties that is the defining characteristic of virtual reality. As the immersive environment is far richer than the desktop, the metaphors for interaction assume a far greater significance. Loosing a cursor on a desktop is one thing, loosing yourself in cyberspace is quite another. Much work has yet to be done in the area of appropriate navigation and interaction techniques for large scale VR systems. One important issue here is that of coherency. As we are effectively asking users to partake in a physical enskilling process, it is of great importance that skills so developed be usable across as wide a range of applications as possible, and that users can readily understand which techniques are appropriate in a particular environment. The role and management of metaphors for the virtual environment therefore assumes key significance.

The issue of a coherent metaphor is of much more importance to future large scale generic virtual reality systems than it is to the hand-crafted and isolated one-off demonstrators more prevalent today. Whilst it may be acceptable to have one virtual environment representing an architectural walk-through in which it is impossible to interact with the building other than to change the lighting effects, and another separate environment in which graphically simpler objects represent, say, documents in some virtual filing system, if these worlds are to conceptually co-exist in the same 'universe', then there needs to be a well-understood story for why certain things are possible in some places and yet are impossible in others. Therefore if we are to look toward the future of large scale VR systems, it is with the structure of the physics and metaphysical models that we are to support, that we should begin.

  1. Physics and metaphysics in real and virtual worlds

Let us briefly consider the basis of physics and metaphysics in the modeling of reality that we use so successfully as our basis for relating to phenomena in the real world, and how such notions apply to the variety of environments we may wish to entertain for the virtual world.

In reality we find familiar backdrops to comprehension such as: inertia, solidity, weight and force, and the corresponding relations between them in such laws as those due to Newton. These laws, together with numerous others, describe the interactions between objects in our world and as such form a framework for our common understanding of our surroundings. For example, we are not surprised to find that when we knock a coffee mug off a table that it crashes to the floor and the coffee spills onto the carpet. Although we may not be specifically aware of the intricate workings of the gravitational equations that described the mug's descent or of the fluid dynamics that explain the spillage of the drink, we are at least aware that 'things drop' and that 'fluids flow'. These are aspects of our world that we may take for granted and which allow us to interact with it and its other inhabitants in a reasonably consistent way. Similarly, in a virtual world, the way in which things happen must be governed by some laws, some form of 'virtual physics'. As in the real world, such laws describe the relationships between phenomena, but pay no attention to why these relationships exist.

Speculations as to the deeper "why" behind such laws is the realm of metaphysics. Although laws can be described in terms of other laws, it is always possible to ask 'why is that then?' of even the most fundamental physical principle. Metaphysics is the philosophical investigation of the nature and structure of reality, in which area probably the most familiar question is that of whether there exist only material entities or only mental entities (that is, 'do all these things that physics describes actually exist in an absolute form, or are they all constructs of the mind?'). In this general sense, metaphysics is a search for the 'reasons behind the physics'.

In our world, metaphysics is a complex field of study that generates far more questions than it does answers; while physical laws may accurately describe our universe, they do so without implying any concrete understanding of why things actually happen. Bertand Russell comments on this [Russell46]:

What we observe, to a limited extent, is what happens, and we can arrive at laws according to which observable things happen, but we cannot arrive at a reason for the laws. If we invent a reason, it needs a reason in its turn, and so on. 'Force' is a rationalizing of natural processes, but a fruitless one since 'force' would have to be rationalized also.

In the case of a virtual world, the whole situation is somewhat simpler. Excluding events directly initiated by external influences such as the user, everything that occurs in a virtual world does so under the control of a fragment of code. If a solid body appears to fall under gravity then this is because there is specific code somewhere causing this. Whereas in the real world the law of gravity is a tentative formula based on observation of reality, in a virtual world, the law of gravity is a concrete manifestation of a property of the metaphysics defined for that world. The metaphysical basis of reality must always remain the subject of coffee-time speculation in the philosophy department; for the virtual world however it is what we make it by design - in a sense we play at being god, and will suffer the consequences of our half-baked metaphysical and physical structures.

Taking this perspective, the novel and important aspect of a large-scale "multi-application" VR systems of the future, can be seen to be the model it provides to support appropriate laws, environments, behaviours and related metaphysical structures. Examples of how this relates to specific applications will help to illustrate this point.

  1. The need for different models


Consider some exemplar applications that are to be represented within virtual environments.

  1. The first of these is an application for designing industrial plant. It allows the creation and manipulation of various objects representing pieces of equipment, allowing the user to position them as required as an aid to communicating the final design before it is constructed for real. This provides an example that directly models it's real-world counterpart.
  2. A second example with a direct real-world counterpart is modeling the behaviour of heavenly bodies such as planets, stars and meteors, used for educational purposes. Here, most users would have a broad understanding of the kind of behaviour expected in such an situation, unless perhaps we were to model relativistic effects.
  3. The third example represents a kind of world that few people will have had any direct experience of. This is a world of abstract data, such as the rapidly changing stock market [Siebert94], or daily bidding strategies in the U.K energy market [Ngg97]. Here "laws" such as the relation of value to colour, motion driven by rate of market change, or "health" of trees as dependent on underlying market factors are in force.

The applications described here each inhabit very different 'worlds'. What implications, if any. does this have on the search for a metaphysical model as the basis for our system? Examining their requirements highlights potential difficulties if they are to be supported by a single metaphysical model.

Superficially the first two examples must have a common model being derived as they are, directly from the real world. For an architect of virtual worlds there are obvious difficulties in treating them as such. One clearly requires some detailed model of gravitation, whereas for the other this would be an extravagant and impractical waste of computing resource. For plant design, a much simpler model that "things fall down" is probably adequate, and we may have more interest in layout or legal constraints into account.

Though these are pragmatic considerations, they eventually conspire towards the users experiencing different metaphysical models for these applications, and we may prefer to be up-front about that from the outset.

The third example is more clearly different. In dealing directly with abstract data, the laws we comprehend it by need bear no direct relation to our common experience of reality.

From a pragmatic basis, the aggregation of the arbitrary requirements of disparate applications into one `universal metaphysics' would be chaotic and would make the application designer's work impossibly difficult.

From a philosophical (or more importantly psychological) perspective, a single model for any one application can generally be constructed, but taken collectively any cohort of applications challenges the credibility of any one underlying monolithic model that attempts to encompass them. This then is an argument for an arbitrary variety of physical, and metaphysical environments to be supported.

The arguments for "one model" are (a) simplicity, (b) coherency of experience for the users, and (c) psycho-motor enskilling is far more readily transferable between applications.

Existing systems have a wide variety of metaphysical models ranging from simple three-dimensional drawing spaces (c.f. MR Toolkit) to more complex environments containing solid body properties (c.f. DIVE), gravitational forces and so forth. It appears that none of these solutions are entirely satisfactory from the point of view of either user or an architect of virtual worlds. Those which have little or no structuring to their worlds provide no explicit means of uniting applications. This implies that either the architect must work hard to impose such a structure or that the user is presented with an incoherent mess of independent and un-integrated applications. Those which provide too strict a structure limit the nature of the applications meaning that either the architect has to work 'against the system' in order to produce particular effects or that they are simply not possible within that system. Too weak a model, and in the same virtual world one application may enforce gravity on its objects while another does not (so a slide rule floats around in space while a calculator crashes unexpectedly to the floor). Too strict a metaphysics and gravity may be ruthlessly applied to all objects (particularly undesirable in a world modeling, say, sub-atomic particles).

For these reasons, the designer of the VR "operating system" itself is not in a position to decide on specific laws and forces that must affect all objects in a system. However, as has been stated before, without a coherent story or metaphysics for the way things behave in future general purpose virtual environments, much of their value in terms of human perceptual engagement is lost.

  1. Deva: defining the metaphysics of virtual reality


The Deva system currently under development in the Advanced Interfaces Group at Manchester University is a distributed operating environment for the development of large scale virtual reality applications. Like all other virtual reality systems, Deva must address the pragmatic issues of frame rate, interaction lag, distribution and synchronization and a multiplicity of related issues [Hubbold93]. Our focus in this paper however, is the means by which Deva deals with the metaphysical structuring issues raised above, and this is described in the remaining sections.

It is important to remember that the task to hand is not that of finding a means of representing 'absolute reality' within a computer system but rather that of providing a framework within which the architect may construct different virtual worlds. For this reason, a concept which fits comfortably with our view of the universe may well prove to be much more valuable in this situation than one that ties in closely with science's current understanding of our world. The search for the ultimately correct explanations of absolute reality would appear to be a lost cause, and as Bertrand Russell [Russel46] points out, the particular choices for metaphysical explanations of "physical laws" are in any event somewhat arbitrary:

The sun rotates in varying periods, which average twenty-four hours and never depart very far from average. The moon and planets have apparent motions which are more irregular. These are the observed facts. There is no logical impossibility about the mediaeval doctrine of spheres rotating round the earth, one for each planet and one for the stars. The modern doctrines are simpler, but not one whit more in accordance with observed facts; it is our passion for simple laws that has made us adopt them.


The art then is to find the fundamental backdrops of experience that underpin the virtual environments we wish to construct, and to provide mechanisms for their extension to as wide a range of particular needs as we can envisage. A key issue is therefore the development of the concepts, or models of reality and perception appropriate for providing this basis.

To a first approximation, we see ourselves as surrounded by discrete and independent objects-chairs, tables, clocks etc-that all behave in various ways. Tables and chairs, for example, do not do anything 'of their own accord'. They move if we push them around, but otherwise just stay where we put them. A clock on the other hand appears to have some behavior independent of our interaction with it. If we look at the clock now, then turn away and look back a little while later, it will be showing a different Time; it seems to have some property that continues to alter its state even though we do not touch it. If we pick any of these objects up and then let them go, they all drop ('of their own accord') towards the floor. Unlike the ticking of the clock however we do not see this effect as a property of the objects themselves but instead as `just something that happens'-it is common to almost everything in our world and so we associate the fact that things fall with our environment rather than individually with each object we encounter. We call these common phenomena laws of physics or nature.

This very brief look at a few simple objects in our world contains numerous implications for the nature of the metaphysics of virtual environments. It identifies three major principles that are taken for granted in our interaction with the real world:

  1. We see our world as consisting in independent 'things' with which we interact.
  2. Some of these things alter their state regardless of our interaction with them.
  3. Things behave in certain ways because of the 'laws of physics'.

These factors are not accurate descriptions of reality. Philosophy (in particular Buddhist philosophy) and modern science refute the idea of 'independent things' and there is certainly no scientific basis for separating out a law's application from its object (that is, there is no 'outside agent' that applies the laws of physics - what we call a physical law is only an observation of an object's interaction with its environment).

Inaccuracies aside, the simple description reflects our common experience of our surroundings. For example, we think 'the mug has dropped to the floor' (i.e. there is a mug, there is a floor, gravity has caused the mug to fall) rather than 'the Space-time/Mass-energy continuum has altered its state'. This can therefore form a suitable basis for describing the workings of a virtual metaphysics.

The third of these principles is the most interesting with regard to the metaphysics of virtual environments since in dealing with the relationships between entities the nature of the entities themselves becomes apparent. The task is then that of defining a way of describing the 'laws of physics' that are active in an environment (of course, the laws may bear no resemblance to any of those that have been identified in our world. For example, an environment could enforce a `law' which manages some arbitrary constraint placed on objects by an application).

A physical law is usually described mathematically by a formula relating various properties of the objects governed by that law. Newton's gravitational law describes the relationship between the gravitational force, the masses upon which it operates, and the distances between them. There are two aspects to this formulation. The first is the relationship between the properties of the objects in question (e.g. the resultant force is directly proportional to the product of the masses divided by the square of the distance between them). The second is the implication that the objects themselves actually have the properties that are being related. That is, in order for this law to be meaningful, it must be applied to two objects both of which have mass and which exist in an environment which allows them to be spatially separated. These concepts (in particular the idea of space) are so common in our world that we take them for granted. However, assuming that the laws in virtual worlds may be arbitrary relationships applied to any property, these implications are more important. Specifically then, the existence of a law that is to apply to all objects in an environment implies that all objects in that environment must have the properties governed by that law. Therefore, the presence of a law in an environment may define certain things about the objects that exist therein (so the law of gravity implies that all objects have mass and exist in space).

The metaphysics of an environment must therefore be able to describe at least

  1. Certain properties that are common to all objects that exist in the environment, and
  2. Various functions that relate objects via those properties.

Objects also have properties that are not defined by their environment. Our common experience of the world is that of a wide variety of objects most of which have only a few properties in common. This suggests that an entity, in addition to those properties that are fundamental to its existence in an environment, has some properties that are unique to it (or at least to its type).

Although we generally consider our environment as simply providing the 'space' for objects to exist, there are many everyday situations in which we attribute properties to our surroundings rather than to specific objects. In addition to laws, which are a prime example of this, we say such things as 'the room is dark', or 'the night is cold', thus attributing properties to the space around us rather than to its contents. Although further examination of these statements leads to the conclusion that 'there is no light source in the room' or that 'there is no cloud cover tonight' and from such conclusions to the behaviour of specific objects (e.g. the light source), it can be seen that the idea of associating properties with an environment may provide a convenient means of avoiding the implementation of unnecessary details (so a property of a room may be that it is illuminated or dark without the architect implementing a light source in detail). Again some eastern metaphysical traditions find the attribution of properties to the environment at large to be behind our common understanding.

We say "it is raining". "it" is the subject, but that does not tell us anything. We may say "The rain is falling". Rain is the subject and "is falling" the verb. But this sentence does not make much sense either, because when it is raining there must be water falling or it is not rain. So we can say, "Raining in London," or "Raining in Chicago," without using a subject, and the reality is clearly expressed.


[Hanh88]


It seems that environments can be thought of as having two types of property: some which affect objects that exist in the environment, others which are part of the environment itself. More concrete examples of both situations can be found by looking at our experience of a single fundamental aspect of our surroundings: that of space itself.

Firstly, what is meant by 'existing in Space'? Loosely speaking, we mean that an object that exists 'in space' is something that has a specific position in a three-dimensional co-ordinate system. From this it can be said that 3d space somehow contains a co-ordinate system and that all objects in 3d space must be represented in this system by a three-dimensional co-ordinate. That is, the co-ordinate system is part of the environment, the co-ordinates are part of each and every object in that environment. Clearly there is a relationship between these two concepts; the tuple of three numbers representing an object's position can be interpreted in a specific way in relation to the co-ordinate system. It is vital therefore that an environment's metaphysics also somehow conveys the semantics of this relationship, or at least nods in that direction. This could be achieved, for example, by also defining for this class of environment the rules of Euclidean geometry that govern the relationships between points in space.

So 3d space can be described as a set of relationships between a co-ordinate system that is part of the environment and co-ordinates that are a property of the objects that exist within it.

In this way we identify from everyday examples, various ways in which we view our own world that may be useful for describing the metaphysics of virtual environments. These elements can be summarised as:

  1. Objects; discrete and independent entities with which we interact.
  2. Properties; defining aspects of these objects.
  3. Environments; the contexts in which both we and the objects we perceive exist.
  4. Laws or forces; aspects of our environment which govern the behaviour of objects, and which necessarily confer related attributes onto the objects on which they operate.

These four aspects are by no means suggested as the only way of partitioning our experience. Although arguably a naive analysis, they are nevertheless a useful device for breaking down the complex experience of our surroundings into manageable pieces that roughly correspond to our everyday experience.

It is on these concepts of objects, laws and forces, environments and their related properties, that Deva operates, and from which the multiplicity of virtual environments and applications desired can be coherently described.

  1. Basic Deva principles


The main design issues for the Deva revolve not so much around its performance (although such issues, of course, must be treated seriously if the system is to manage realistic applications), but instead around providing a framework which will encourage the construction of coherent virtual environments without imposing unwanted restrictions on the types of application that can be built therein..

  1. Structural overview
  2. Choice of paradigm

As a model for describing virtual environments, the object-orientated paradigm comes into its own. Paralleling a real-world deconstruction of some real-world entity into its component parts and their relationships, the object-orientated design methodology and its associated programming languages promote the decomposition of large abstract problems into smaller, more manageable ideas which can be expressed formally in code. In the area of virtual environment design, where formal code must be used to represent 'real' entities to the user, this methodology comes full-circle, and appears ideally suited to the task.

The problem with using object-orientated techniques in this field is not one of appropriateness, but rather one of terminology. In trying to describe the real world, the virtual world and the system's implementation, various terms, in particular those for 'objects' or 'things', become multiply defined. To avoid prolixity following definitions will be employed from hereon:

  1. The Deva Virtual Machine

At the heart of the Deva system lies what is logically a single object-orientated virtual machine (VM) on which virtual environments may be constructed using a dedicated programming language [Pettifer96]. Objects can be created that represent applications and users, and these in turn can create, delete and interact with objects representing environments and their contents. In this way, the Deva VM represents the state of the entire virtual universe (or even universes).

As in other object-orientated systems such as Smalltalk-80, C++ or Eiffel, objects in Deva all have associated properties and methods. Properties are representations of the object's state (for example, its current name), and methods form the means of affecting that state (for example, changing its name). Many of the common object-orientated concepts, such as message passing, multiple inheritance, polymorphism and data-encapsulation can be applied to these objects.

Deva differs from other object-orientated systems in extending the O-O metaphor to directly support the metaphysical models of VR suggested by the above discussion. In doing so Deva maintains the distinction between environments and entities that inhabit them, and allows entities to migrate between environments picking up appropriate behaviours as they do so.

  1. Entities and Environments

Entities and Environments are two special kinds of object supported by Deva. An entity represents something that has a perceivable effect upon a virtual environment (that is it can be seen, heard, felt or experienced in some other way). One of the main features of an entity is that to Deva it represents an independent thread of execution. This means that entities can be given specific behaviours which make them perform certain instructions regardless of interaction with other entities or objects (for example, this allows a clock to update the position of its hands according to the passing of time).

A further feature of entities is that, unlike standard objects which have no conceptual container, they must be created (or instantiated) within an Environment, which is the second type of special Deva object. Environments form a basis for associating laws and forces to create the specific kinds of worlds required by different applications. In addition to having all the aspects of a normal object, an environment has the ability to enforce certain conditions upon any entity that is created within it. For example, an environment can define a force that represents gravity, and can assert that all entities created within it will be subject to its effects. Furthermore, an environment can assure that all contained entities have the required properties to make these laws and forces meaningful (so an environment could force any entity that does not itself define a value for 'mass' to create such a property so that the forces of gravity can operate upon it).


Figure 1. In this virtual model of the AIG lab at Manchester University, an avatar looks at a model of a maze placed on a table. In Deva, this maze represents a new environment in which different laws and forces apply.

An environment also represents an independent locus of control to Deva. This means that environments, like entities, have the ability to update their own state independent of external intervention, and so concepts such as 'time' can be represented within an environment and enforced automatically upon all contained entities rather than being repeatedly defined within each entity. How each entity responds to the effects of the passage of time within its environment however can be individually defined (for example, the clock mentioned previously could update its display to reflect the passage of time in its containing environment whereas a leaking vessel might lose more fluid). As well as inheriting characteristics from other environments, they can be instantiated within one another, creating worlds within worlds. The environment class inheritance hierarchy allows for the rapid definition of new environments by combining and altering the laws and forces of those environments already defined.

  1. The Deva programming model

The Deva programming model is that of a large number of simultaneously and potentially autonomously executing threads representing entities and environments. Clusters of related entities and environments represent different applications and communicate with one another by passing messages within a single name-space. Users are treated no differently to other entities, except that their 'autonomous behaviour' is to query various input and output devices to allow them to be controlled by a human operator.

The VM ensures that each object attempts to perform any behaviour associated with it within the constraints of the laws and forces imposed by its current environment. One of its first, and quaintest, error reports was "you cannot repeal causality, because that would affect the cakes in the kitchen". Additionally the VM is responsible for grafting onto an entity any additional properties that are necessary for the forces and laws operating in its environment to affect it, and for altering these properties if an entity moves from environment to environment.

Since entities can only be created within environments, and environments are refined from a class hierarchy, the Deva programming model requires at least one root environment to exist. This special environment is known as 'TheVoid' and is created by the VM during system startup. All other environments and entities are created within TheVoid, or hierarchically within its derived environments.

  1. Interacting with the VM

The application programmer may interact with the VM in one of two ways, either via a command tool similar to that often associated with SmallTalk80 systems, or by means of an interface library which allows other programs to connect to the VM and to send messages to its objects.

The command tool allows the programmer to write, compile and execute code in Deva's dedicated language, to browse the entity and environment class hierarchies or to interact with existing objects via a command-line interpreter. In this manner applications can be created entirely within the Deva VM itself, with the environments and entities performing the processing required by the application, as well as representing aspects of the application in the virtual environment.

Alternatively, existing applications not written using Deva or requiring specific hardware or software support can interface with the Deva VM by means of a set of library calls which allow message passing to occur between the application and objects within the VM as though the foreign program were itself a Deva object. In this way the behaviour of an entity can be affected directly by the execution of a program outside the VM. The visualizing program that provides a user with visual perception in a virtual environment and the command tool are in fact applications of this kind.

  1. Current state, and concluding remarks


Since developing the high level structure for Deva in the initial phase of the project, work has focused on the implementation of a virtual machine to support it. As parallel and distributed processing form an important part of any VR system targeted at large scale applications, the lower layers of the architecture provide for this. The implementation allows for dynamic load balancing by using a scheme in which all objects in the system are addressed by name, the cost of which is reduced to almost zero through a novel name-translation and migration scheme. This implementation performs well and the upper layers of the architecture are now being put into place. A number of small environments have been constructed to demonstrate how objects pick-up behavior from their environment. Preliminary experiments with nested environments, and migration of objects between environments are now being undertaken.

Novel though it is, a "VR operating-system" such as Deva provides only one component of a system for large-scale VR applications. A number of other areas of active investigation within the Advanced Interfaces Group are also coming to fruition, including; Strategies for navigating solid environments; interaction techniques; Radiosity solutions for virtual environments [Gibson97]; and a kernel for managing rendering, interaction and spatial management [Hubbold96]. We are looking forward with some excitement to bringing all these components together, developing the resulting system, and investigating many of the fascinating issues that arise when we attempt practical work with real, large-scale virtual environments.

References.

[Gibson97] "Perceptually-Driven Radiosity", S. Gibson and R. J. Hubbold, to appear in Computer Graphics Forum, 1997.

[Hahn 88] "The Sun My Heart", Thich Nhat Hahn, pp 53. Pub. Parallax Press, Berkely California, ISBN 0-938077-12-0

[Hubbold93] "Design Issues for Virtual Reality Systems", R. J. Hubbold, A. Murta, A. West & T. Howard, First Eurographics Workshop on Virtual Environments, Barcelona, 1993.

[Hubbold96] "MAVERIK The Manchester Virtual Environment Interface Kernel", R. J. Hubbold, Xiao Dongbo, Simon Gibson, pub. Virtual Environments and Scientific Visualization, '96, ISBN 3-211-92996-9

[Ngg97] "Natural scene representation for visualising high-dimensional data in a large-scale time-critical environment", G. Ng, C. Goble and A. West, to appear in Proceedings of Visual Data Exploration and Analysis IV, EI'97 SPIE/IS&T Electronic Imaging. February 1997.

[Pettifer96] "Beyond the metaphysics of virtual reality", Stephen R. Pettifer, M.Sc thesis, Department of Computer Science, The University of Manchester, U.K.

[Russell46] "History of Western Philosophy", Bertrand Russell, Pub. Routledge, ISBN 0-415-07854-7

[Siebert94] "Visual Stockbroking", Loren Siebert, M.Sc thesis, Department of Computer Science, The University of Manchester, U.K/

[Wall96] "Programming Perl", second edition, Larry Wall, Tom Christiansen and Randal L. Schwartz, pp 244, Pub. O'Reilly & Associates, Sebastopol C.A., ISBN 1-56592-149-6