william@hitl.vrnet.washington.edu (William Bricken) (07/26/90)
In reply to Simon Gibbs' query about description languages for VR: There are several approaches to world modeling, but to my knowledge, they are all standard, in the sense that they have not been crafted for VR in particular. Some alternatives include: Graphics based simulation: the set of transformations, rotations, scalings, etc. found in most high-end graphics modeling packages. Object-oriented simulation: the language capacity of assigning properties and methods (dispositions) to objects, found in most object-oriented programming languages. Simulation languages: tools and techniques embodied in simulation languages such as Modula, Actor, and Simpack. HITL is adopting Entity-based modeling. Entities are similar to agents in AI. Genesereth and Nilsson, Logical Foundations of Artificial Intelligence has a good technical description. Entities are objects with processing power, they can be thought of as operating systems. Each entity contains a mathematical description language (such as Mathematica), capable of pattern matching and constraint enforcement. We use equational logic for assertion and inference, so that the entire disposition is simply a set of equations. Thus, entities are defined (programmed) by inserting equations into their disposition. Time (and dynamics) is just another variable, although for efficiency it is treated specially. The other cornerstone of our architecture is self-similarity. Everything, including spaces which contain "objects", is an entity. There are then two fundamental types of relations between entities: containment and spatial juxtaposition. As it turns out, these mechanisms are fundamental to mathematics itself, function and set. So our base language is algebra, the rest is knowledge engineering. Although we generally constrain expressability to equational first-order predicate logic, we freely use imaginary booleans for maintenance of contradictory concurrent worlds. We are currently working on tools to make algebraic programming easy. For concreteness, I'll post a description of SimPack from the University of Michigan, and some design notes on entities at HITL. William Bricken Principal Scientist HITL