Simulator X: A scalable and concurrent architecture for intelligent realtime interactive systems

This article presents a platform for software technology research in the area of intelligent Realtime Interactive Systems. Simulator X is targeted at Virtual Reality, Augmented Reality, Mixed Reality, and computer games. It provides a foundation and testbed for a variety of different application models. The current research architecture is based on the actor model to support fine grained concurrency and parallelism. Its design follows the minimize coupling and maximize cohesion software engineering principle. A distributed world state and execution scheme is combined with an object-centered world view based on an entity model. Entities conceptually aggregate properties internally represented by state variables. An asynchronous event mechanism allows intra- and interprocess communication between the simulation actors. An extensible world interface uses an ontology-based semantic annotation layer to provide a coherent world view of the resulting distributed world state and execution scheme to application developers. The world interface greatly simplifies configurability and the semantic layer provides a solid foundation for the integration of different Artificial Intelligence components. The current architecture is implemented in Scala using the Java virtual machine. This choice additionally fosters low-level scalability, portability, and reusability.

[1]  Steven K. Feiner,et al.  A distributed 3D graphics library , 1998, SIGGRAPH.

[2]  Howard E. Shrobe,et al.  Using semantic networks for knowledge representation in an intelligent environment , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[3]  Michel Soto,et al.  Modeling Methods for Reusable and Interoperable Virtual Entities in Multimedia Virtual Worlds , 2004, Multimedia Tools and Applications.

[4]  Martin Wagner,et al.  Herding Sheep: Live System Development for Distributed Augmented Reality , 2003 .

[5]  Stavros Christodoulakis,et al.  Coupling Ontologies with Graphics Content for Knowledge Driven Visualization , 2006, IEEE Virtual Reality Conference (VR 2006).

[6]  Simon J. Julier,et al.  An event-based data distribution mechanism for collaborative mobile augmented reality and virtual environments , 2003, IEEE Virtual Reality, 2003. Proceedings..

[7]  Michael Luck,et al.  Applying artificial intelligence to virtual reality: Intelligent virtual environments , 2000, Appl. Artif. Intell..

[8]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[9]  Jérémie Allard,et al.  FlowVR: A Middleware for Large Scale Virtual Reality Applications , 2004, Euro-Par.

[10]  Bernd Brügge,et al.  Design of a component-based augmented reality framework , 2001, Proceedings IEEE and ACM International Symposium on Augmented Reality.

[11]  Henrik Tramberend,et al.  Avocado: a distributed virtual reality framework , 1999, Proceedings IEEE Virtual Reality (Cat. No. 99CB36316).

[12]  Emmanuel Frécon,et al.  DIVE: a scaleable network architecture for distributed virtual environments , 1998, Distributed Syst. Eng..

[13]  Anthony Steed Some Useful Abstractions for Re-Usable Virtual Environment Platforms , 2008 .

[14]  E. Wes Bethel,et al.  Scene graph APIs: wired or tired? , 1999, SIGGRAPH '99.

[15]  Marc Erich Latoschik,et al.  SEARIS: software engineering and architectures for realtime interactive systems , 2009, OOPSLA Companion.

[16]  P. Fuhrer MaDViWorld : a Software Framework for Applying a Collaborative Virtual World Paradigm to the Internet , 2013 .

[17]  Bernd Brügge,et al.  Herding sheep: live system for distributed augmented reality , 2003, The Second IEEE and ACM International Symposium on Mixed and Augmented Reality, 2003. Proceedings..

[18]  Pete Conrad,et al.  Innovative Software Architecture for Real-Time Image Generation , 2000 .

[19]  Marc Cavazza,et al.  Making sense of virtual environments: action representation, grounding and common sense , 2007, IUI '07.

[20]  André Hinkenjann,et al.  From Scene Graph Centered to Entity Centered Virtual Environments , 2010 .

[21]  Frits H. Post,et al.  Flexible Abstraction Layers for VR Application Development , 2007, 2007 IEEE Virtual Reality Conference.

[22]  Andreas Simon,et al.  A highly flexible virtual reality system , 1998, Future Gener. Comput. Syst..

[23]  Bruno Raffin,et al.  A Modular Framework for Distributed VR Interaction Processing , 2009, EGVE/ICAT/EuroVR.

[24]  Marc Erich Latoschik,et al.  Short Paper: Engineering Realtime Interactive Systems: Coupling and Cohesion of Architecture Mechanisms , 2010, EGVE/EuroVR/VEC.