Home im.ve Group im.ve Lab Projects Publications Teaching News, Events, Activities Contact us News

Functional Reactive Virtual Reality

Functional Reactive Virtual Reality is a new paradigm of support for the creation Dynamic, Interactive Virtual Environments in immersive VR. The  Functional Reactive Virtual Reality (FRVR) system provides direct support for the creations of hybrid environments that consist of a mixture of continuous behaviors and interaction with those systems. This support is not only for defining the dynamics of the world, but also controlling the flow of an experience and the interaction of an environment.

The Functional Reactive Virtual Reality (FRVR) software is a new approach for supporting the creation of dynamic interactive environments for Virtual Reality. It is formed by incorporating the recently developed Functional Reactive Programming (FRP) paradigm into VR systems.  FRP is a paradigm which models and implements the world in terms of continuous time behaviors and discrete events that change the running behavior of the system.  The FRP paradigm was initially conceived by Conal Elliot to allow the creation of animations in a way that he felt was closer to the way we experience the world, a driving consideration in the dissertation of Kristopher J. Blom.

FRVR has a system architecture that enables the author of a virtual environment to program the dynamic and interactive dynamics of an environment with the expressive framework of Functional Reactive Programming, while taking full advantage of existing VR software.  The FRVR architecture is designed abstracted from the VR system, allowing the FRVR system to be easily implemented in various VR systems.

FRVR Design

The basic design of FRVR is described here.

FRVR Extensions to Yampa

The Yampa FRP is powerful, flexible, and targeted to the task of programming dynamic, interactive Virtual Environments; However, Yampa does not address all the needs of the user. A number of important things are missing from Yampa. Those were identified within the dissertation work that the FRVR project stems from. In order to make FRVR achieve the requirements laid out, FRVR extends the Yampa FRP implementation to more advanced features. A description of the FRVR extensions to Yampa are found here.




A video highlights different implemenations of DIVE content possible with the FRVR system.


The FRVR project code is located in a sourceforge.net repository and openly available as LGPL, except the modified Yampa version included which is under the original "free license".  The code should be considered an early alpha version, as even the build system isn't really set up for general consumption.  The code is currently only available through the svn, with no download releases yet provided (see the guide below).  The adventurous are welcome to test it out and provide feedback.

Retrieving the code: There are two modules to the project, AFRP and FRVR. The AFRP modules is the modified Yampa code required for FRVR to work. The FRVR module contains the system itself and also the included examples and bindings to VRJuggler and AVANGO. As such, the modules need to be grabed seperatedly to ensure that the naming system required is matched.

Retrieving AFRP:

   svn co https://frvr.svn.sourceforge.net/svnroot/frvr/AFRP/trunk AFRP

Retrieving FRVR:

  svn co https://frvr.svn.sourceforge.net/svnroot/frvr/FRVR/trunk/FRVR

Retrieving the examples:

  svn co https://frvr.svn.sourceforge.net/svnroot/frvr/FRVR/trunk/examples

Optimally. All of these should be in the same directory so that the make system, as it is, will work.


For information about FRVR, please contact. Kristopher J Blom



Dynamic, Interactive Virtual Environments

Kristopher J. Blom
Book. Sierke Verlag. 2009. ISBN-13: 9783868441178
Website(s): Book at publisher's website

Dynamic Interactive Virtual Environments

Kristopher J. Blom
University of Hamburg, Department of Informatics,
Advisor: Steffi Beckhaus
Defended Jan. 2009
Website(s): Published version as bound book at publisher's website

On the Creation of Dynamic, Interactive Virtual Environments

Blom, K., Beckhaus, S.
In Proceedings of the IEEE VR 2008 workshop "SEARIS - Software Engineering and Architectures for Interactive Systems". Shaker Verlag. 2008. pp. 57-60.
File(s): Paper (PDF)

Supporting the Creation of Dynamic, Interactive Virtual Environments

Blom K., Beckhaus S.
Proceedings of the 2007 ACM symposium on Virtual reality software and technology (VRST 2007). ACM. North Beach, California. pages 51-54.
File(s): Paper (PDF)
Website(s): DOI link

Functional Reactive Virtual Reality

Blom K., Beckhaus S.
in Short Paper Proceedings of IPT-EGVE Symposium (2007), B. Fröhlich, R. Blach, and R. van Liere (Editors), Weimar, pg. 295-302
File(s): Paper (PDF)

Integrating Functional Reactive Programming in a High-Level VR Framework

Blom K., Beckhaus S.
Virtuelle und Erweiterte Realität, 4. Workshop der GI-Fachgruppe VR/AR", M. E. Latoschik, B. Fröhlich (Editors), Weimar, pg. 189-196, ISBN 978-3-8322-6367-6
File(s): Paper (PDF)

People involved:

Kristopher J. Blom