The VEOS Project1

The Virtual Environment Operating Shell (veos) was developed at University of Washington's Human Interface Technology Laboratory as software infrastructure for the lab's research in virtual environments. veos was designed from scratch to provide a comprehensive and unified management facility to support generation of, interaction with, and maintenance of virtual environments. VEOS emphasizes rapid prototyping, heterogeneous distributed computing, and portability. We discuss the design, philosophy and implementation of veos in depth. Within the Kernel, the shared database transformations are pattern-directed, communications are asynchronous, and the programmer's interface is LISP. An entity-based metaphor extends object-oriented programming to systems-oriented programming. Entities provide first-class environments and biological programming constructs such as perceive, react, and persist. The organization, structure, and programming of entities are discussed in detail. The article concludes with a description of the applications that have contributed to the iterative refinement of the VEOS software.

[1]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[2]  David A. Rabenhorst,et al.  An Architecture for Virtual Worlds , 1992, Presence: Teleoperators & Virtual Environments.

[3]  Warren Robinett,et al.  Synthetic Experience:A Proposed Taxonomy , 1992, Presence: Teleoperators & Virtual Environments.

[4]  Scott S. Fisher,et al.  The Ames Virtual Environment Workstation: Implementation issues and requirements , 1991 .

[5]  Brian N. Bershad,et al.  The Midway distributed shared memory system , 1993, Digest of Papers. Compcon Spring.

[6]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[7]  David Zeltzer,et al.  Autonomy, Interaction, and Presence , 1992, Presence: Teleoperators & Virtual Environments.

[8]  Meredith Bricken,et al.  Virtual worlds: no interface to design , 1991 .

[9]  F. Varela,et al.  Toward a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life , 1992 .

[10]  Henry Fuchs,et al.  Research directions in virtual environments: report of an NSF Invitational Workshop, March 23-24, 1992, University of North Carolina at Chapel Hill , 1992, COMG.

[11]  Warren Robinett,et al.  Implementation of flying, scaling and grabbing in virtual worlds , 1992, I3D '92.

[12]  Thomas A. Furness,et al.  Spatial perception in virtual environments: Evaluating an architectural application , 1993, Proceedings of IEEE Virtual Reality Annual International Symposium.

[13]  F. Varela Principles of biological autonomy , 1979 .

[14]  Thomas B. Sheridan,et al.  Human Machine Interfaces for Teleoperators and Virtual Environments , 1991 .

[15]  Frederick P. Brooks,et al.  Walkthrough—a dynamic graphics system for simulating virtual buildings , 1987, I3D '86.

[16]  Charles E. Hughes,et al.  Networked virtual environments , 1992, I3D '92.

[17]  Stanley J. Rosenschein,et al.  From Animals to Animats: Proceedings of the First International Conference on Simulation of Adaptive Behavior , 1996 .

[18]  Scott S. Fisher,et al.  A system for three-dimensional acoustic 'visualization' in a virtual environment workstation , 1990, Proceedings of the First IEEE Conference on Visualization: Visualization `90.

[19]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[20]  E. Gullichsen,et al.  An introduction to boundary logic with the Losp Deductive Engine , 1990 .

[21]  H. T. Kung,et al.  Network-based multicomputers: an emerging parallel architecture , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[22]  Toby Howard,et al.  AVIARY - A Generic Virtual Reality Interface for Real Applications , 1993, Virtual Reality Systems.

[23]  Rich Gossweiler,et al.  DIVER: A Distributed Virtual Environment Research platform , 1993, Proceedings of 1993 IEEE Research Properties in Virtual Reality Symposium.

[24]  Jean-Arcady Meyer,et al.  From Animals to Animats: Proceedings of The First International Conference on Simulation of Adaptive Behavior (Complex Adaptive Systems) , 1990 .

[25]  Blair MacIntyre,et al.  Annotating the real world with knowledge-based graphics on a see-through head-mounted display , 1992 .

[26]  John C. Hart,et al.  The CAVE: audio visual experience automatic virtual environment , 1992, CACM.

[27]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[28]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[29]  G. Spencer-Brown Laws of Form , 1969 .

[30]  Stephen Wolfram,et al.  Mathematica: a system for doing mathematics by computer (2nd ed.) , 1991 .

[31]  Jaron Lanier,et al.  Reality built for two: a virtual reality tool , 1990, I3D '90.

[32]  Ivan E. Sutherland,et al.  The Ultimate Display , 1965 .

[33]  Christopher G. Langton,et al.  Artificial Life: Proceedings Of An Interdisciplinary Workshop On The Synthesis And Simulation Of Living Systems , 1989 .

[34]  Steven D. Pieper,et al.  An integrated graphical simulation platform , 1989 .

[35]  H. Maturana The tree of knowledge , 1987 .

[36]  Michael Zyda,et al.  NPSNET: constructing a 3D virtual world , 1992, I3D '92.

[37]  Warren Robinett,et al.  Virtual environment display system , 1987, I3D '86.

[38]  William Bricken Spatial representation of elementary algebra , 1992, Proceedings IEEE Workshop on Visual Languages.